Policy för nodstörningar i Azure Kubernetes Service (AKS) (förhandsversion)

När du hanterar och underhåller dina AKS-kluster kräver vissa konfigurationsändringar att noder återskapas. Den här återskapningsåtgärden utlöser en löpande uppdatering som återskapar noder. Vid en omavbildningsåtgärd markerar AKS noden så att inga nya poddar schemaläggs, tömmer noden på befintliga poddar (avlägsnar dem och schemalägger om dem på andra tillgängliga noder samtidigt som Pod Disruption Budgets respekteras) och omavbildar sedan noden med den uppdaterade konfigurationen. Den här processen är en fullständig nodåterkoppling, inte en omstart – den underliggande virtuella datorn återskapas med en ny OS-avbildning. Även om korrekt konfigurerade beständiga volymer (med Azure Diskar, Azure Files eller annan extern lagring) inte påverkas, går alla data som lagras i nodens lokala tillfälliga lagring (till exempel EmptyDir-volymer eller lokala sökvägar) permanent förlorade. Dessa åtgärder är nödvändiga för att tillämpa viktiga uppdateringar, men de kan störa arbetsbelastningar som körs och påverka programmets tillgänglighet. Nodavbrottsprincip ger dig detaljerad kontroll över när dessa störande åtgärder tillåts fortsätta, vilket hjälper dig att balansera behovet av uppdateringar med driftstabilitet.

Important

AKS-förhandsversionsfunktioner är tillgängliga via självbetjäning och frivillig registrering. Förhandsversioner tillhandahålls "i befintligt skick" och "i mån av tillgång," och de är undantagna från servicenivåavtal och begränsad garanti. AKS-förhandsversioner stöds delvis av kundsupport efter bästa förmåga. Därför är dessa funktioner inte avsedda för produktionsanvändning. Mer information finns i följande supportartiklar:

Vad är nodstörningsprincip?

Princip för nodavbrott är en konfiguration på klusternivå som styr när åtgärder som kräver omavbildning av noder och driftsättning på nytt får utföras. Den fungerar som en kontrollgrind så att du kan:

  • Anpassa driftstörande åtgärder till era underhållsfönster.
  • Blockera konfigurationsändringar under kritiska affärsperioder samtidigt som nodbildsuppgraderingar och säkerhetskorrigeringar kan fortsätta.
  • Upprätthålla förutsägbart klusterbeteende under händelser med hög trafik.

Principen gäller för användarinitierade konfigurationsändringar som kräver att noden återskapas, till exempel uppdatering av certifikat för certifikatutfärdare (CA), ändra inställningar för säkerhetsprofil eller ändra konfigurationen av nodoperativsystemet.

Note

Det är viktigt att principen inte blockerar uppdateringar av nodbildens version (inklusive SecurityPatch och NodeImage uppgraderingskanaler) eller uppgraderingar av Kubernetes-versionen. Dessa åtgärder fortsätter att fortsätta enligt deras konfigurerade scheman även när principen är inställd på Block. Mer information finns i Uppgraderingsåtgärder som inte styrs av Node Disruption Policy. Dessutom styrs inte vissa återställningsåtgärder av den här principen för att säkerställa klusterhälsa och tillgänglighet. Mer information finns i Återställningsåtgärder som inte styrs av policyn för nodstörningar.

Så här fungerar policyn för nodstörningar

Du konfigurerar nodavbrottsprincip på klusternivå via egenskapen nodeDisruptionProfile . När du försöker utföra en åtgärd som kräver omavbildning av noder, kontrollerar AKS den aktuella principinställningen:

  • Principutvärdering: AKS utvärderar om åtgärden tillåts baserat på den aktuella principen.
  • Underhållsperiodkontroll (om tillämpligt): Om du använder AllowDuringMaintenanceWindowkontrollerar AKS om den aktuella tiden ligger inom den konfigurerade underhållsfönstret.
  • Körning eller blockering av åtgärder: Den nodstörande åtgärden fortsätter om den tillåts eller avvisas med ett felmeddelande om den blockeras.

Principalternativ

Node Disruption Policy stöder tre policykonfigurationer:

Policy Description Användningsfall
Allow Tillåter att operationer som kräver omavbildning av noden utförs när som helst. Det här är standardbeteendet. Använd när du vill prioritera att tillämpa uppdateringar snabbt och kan tolerera arbetsbelastningsstörningar.
AllowDuringMaintenanceWindow Blockerar åtgärder som kräver nodåterimering om de inte sker inom aksManagedNodeOSUpgradeSchedule underhållsfönstret. Använd när du vill begränsa störningar till specifika underhållsperioder som överensstämmer med ditt driftschema.
Block Blockerar alla åtgärder som kräver nodåterimering. Använd när du behöver förhindra nodstörningar, till exempel under kritiska affärsperioder eller händelser med hög trafik.

Note

När du använder AllowDuringMaintenanceWindow måste du konfigurera en aksManagedNodeOSUpgradeSchedule underhållsperiod. Mer information om hur du konfigurerar underhållsperioder finns i Använda planerat underhåll för att schemalägga och kontrollera uppgraderingar för ditt Azure Kubernetes Service kluster. Om du inte konfigurerar underhållsfönstret tillåts de nodstörande åtgärderna.

Considerations

Tänk på följande när du använder Node Disruption Policy:

Åtgärder som omfattas av policyn för nodstörningar

Åtgärder på klusternivå

aktivering av nätverksprincip och uppgradering av Azure CNI Overlay

Om du vill installera nödvändiga nätverkskomponenter och konfigurera nätverksregler som skyddar och hanterar podd-till-pod-kommunikation måste du återskapa noderna.

I följande tabell beskrivs uppgraderingar av nätverksprinciper som utlöser omimering:

Från Till
Ingen (ingen nätverksprincip) Azure nätverksprincip
Ingen (ingen nätverksprincip) Calico
Azure CNI Azure CNI-överlägg
Azure nätverksprincip Ingen (ingen nätverksprincip)
Calico Ingen (ingen nätverksprincip)

Note

Att ändra mellan Azure- och Calico-nätverksprinciper när en redan är aktiverad kräver ingen ombildning.

Ändringar i node OS-uppgraderingskanalen

Varje kanal använder en annan infrastruktur och konfiguration för os-korrigering som du inte kan ändra på noder som körs.

I följande tabell beskrivs ändringar i uppgraderingskanalen för nodens operativsystem som utlöser återimering:

Från Till
Ej hanterad Ingen
Ospecificerad Ej hanterad
säkerhetsuppdatering Ej hanterad
NodeImage Ej hanterad
Ingen Ej hanterad
Ospecificerad Ej hanterad
Ej hanterad säkerhetsuppdatering
Ej hanterad NodeImage

IPv6-aktivering med dubbla staplar

För att stödja kommunikation i dual-stack-miljö behöver noder ha både IPv4- och IPv6-konfigurationer samt uppdateringar av nätverksstacken (till exempel nftables-regler).

I följande tabell beskrivs uppdateringar av IP-konfiguration och nätverksstackar som utlöser återskapande:

Från Till
Endast IPv4 IPv4 + IPv6 (dual-stack)

Ändringar i Cilium-dataplanet

Du måste installera eller ta bort eBPF-program som hanterar paketbearbetning på kernelnivå.

I följande tabell beskrivs ändringar av Cilium-dataplanet som utlöser återskapande:

Från Till
Ingen Cilium
Cilium Ingen

Konfigurationsuppdateringar för HTTP-proxy

Alla nodkomponenter (containerd, kubelet, systemtjänster) behöver den uppdaterade proxykonfigurationen som tillämpas i hela systemet. När du uppdaterar HTTP-proxykonfigurationen återskapar AKS automatiskt alla nodpooler i klustret.

Nodavbrottsprincipen utlöser återskapning när du ändrar någon av följande egenskaper för HTTP-proxykonfiguration eller utför någon av följande åtgärder:

  • httpProxy: Proxy-URL för HTTP-anslutningar
  • httpsProxy: Proxy-URL för HTTPS-anslutningar
  • noProxy: Lista över mål som ska undantas från proxying
  • trustedCa: Base64-kodat alternativt CA-certifikat
  • Aktivera HTTP-proxy i ett kluster (med --enable-http-proxy)
  • Inaktivera HTTP-proxy i ett kluster (med --disable-http-proxy)
  • Återanvändbar HTTP-proxy i ett kluster som tidigare hade inaktiverat den

Uppdateringar av anpassade CA-certifikat

Du måste installera nya CA-certifikat i operativsystemets förtroendearkiv för att påverka TLS-valideringen för interna tjänster och privata register.

Princip för nodstörning utlöser en ny avbildning när du lägger till, tar bort eller uppdaterar anpassade CA-certifikat.

Kubelet-identitetsändringar

Du måste använda nya identitetsautentiseringsuppgifter för nodkonfigurationen. Detta inkluderar inledande identitetstilldelning, identitetsuppdateringar och återställningar av tjänstens huvudnamnsprofil.

Policyn för nodstörningar utlöser omimering när du uppdaterar en hanterad identitet eller användartilldelad hanterad identitet för kubelet.

Private DNS zonändringar

Du måste uppdatera DNS-matcharinställningarna för att lösa upp API-serverns privata slutpunkt med hjälp av den nya DNS-zonen.

Principen för nodstörning utlöser ominstallation när du ändrar en privat DNS-zonkonfiguration i ett privat kluster.

aktivering av API Server VNet Integration

Du måste konfigurera om noderna för att kommunicera med API-servern via den interna lastbalanserarens IP-adress som projiceras i det delegerade undernätet.

Nodavbrottsprincip utlöser återimering när du aktiverar API Server VNet-integrering i ett befintligt kluster som inte tidigare använde det. Den här ändringen motsvarar att ändra egenskapen apiServerAccessProfile.enableVnetIntegration (internt fältet privateConnectProfile.enabled) från false (eller inte angivet) till true:

Från Till
apiServerAccessProfile.enableVnetIntegration: false eller ta bort apiServerAccessProfile.enableVnetIntegration: true

Ändringar i eBPF-värdroutning

Du måste installera eller ta bort eBPF-program som tillhandahåller paketvidarebefordring med höga prestanda (BpfVeth-accelerationsläge).

Följande tabell visar ändringar i eBPF-värdroutning som utlöser omimagering:

Från Till
Standardroutning eBPF-värdroutning aktiverat
eBPF-värdroutning aktiverad Standardroutning

Åtgärder på nodpoolsnivå

Dessa åtgärder påverkar endast de specifika nodpooler där du gör ändringar. De utlöser en löpande återimering i dessa nodpooler:

Uppdateringar av lokal DNS-profil

Du måste tillämpa ändringar på DNS-cachelagringsdaemon- och DNS-vidarebefordransregler på nodnivå.

Nodstörningsprincip initierar en ominstallation när du ändrar konfigurationen för en LocalDNS-profil.

Säkerhetsändringar för Trusted Launch

Du kan inte ändra konfigurationen av den virtuella datorns inbyggda programvara och inställningar för startprocessen på virtuella datorer som körs. Dessa ändringar kräver att du återskapar de virtuella datorerna.

I följande tabell beskrivs säkerhetsändringar för betrodd start som utlöser omimering:

Konfiguration Från Till
vTPM (virtual Trusted Platform Module) Disabled Enabled
vTPM (virtual Trusted Platform Module) Enabled Disabled
Säker Boot Disabled Enabled
Säker Boot Enabled Disabled

Ändringar i strömning av artefakter

Du måste installera eller ta bort komponenter för artefaktströmning för att möjliggöra snabbare hämtning av containeravbildningar genom att strömma bildskikt på begäran.

Följande tabell visar ändringar i artefaktströmning som utlöser omavbildning:

Från Till
Disabled Enabled
Enabled Disabled

Windows GMSA-profiluppdateringar (endast Windows nodpooler)

Du måste använda nya GMSA-inställningar, DNS-serverkonfiguration och autentiseringsuppgifter för domänanslutning för služba Active Directory integrering på Windows noder.

Policyn för nodstörningar utlöser återimering av Windows nodpooler när en GMSA-ändring kräver att ny nodkonfiguration tillämpas:

Från Till Utlöser omavbildning
GMSA inaktiverad GMSA aktiverat Yes
GMSA aktiverad (DNS-server eller rotdomän har angetts eller ändrats) GMSA aktiverat med uppdaterad DNS-server eller rotdomän Yes
GMSA aktiverat (DNS-serveruppsättning) GMSA inaktiverad Yes
GMSA aktiverat (ingen DNS-serveruppsättning) GMSA inaktiverad Nej (ingen nodkonfiguration att tillämpa)

Bifogad kapacitetsreservationsgrupp

Du måste återskapa de underliggande virtuella datorerna så att de allokeras från den reserverade kapaciteten i kapacitetsreservationsgruppen (CRG). Befintliga noder etablerades inte mot CRG, så AKS måste återskapa nodpoolen för att associera dem med reservationen.

Principen för nodstörning utlöser ominstallation när du kopplar en kapacitetsreservationsgrupp till en befintlig nodpool som inte redan har någon.

Från Till Initierar omavbildning
Ingen kapacitetsreservationsgrupp är ansluten Bifogad kapacitetsreservationsgrupp Yes

Åtgärder som ännu inte omfattas av nodstörningsprincipen

Följande konfigurationsändringar kräver omavbildning av noden men täcks ännu inte av Node Disruption Policy. En framtida kubernetes-delversionsuppdatering kommer att täcka dessa ändringar eftersom den här ändringen introducerar nytt beteende.
När du har gjort de här konfigurationsändringarna måste du köra az aks nodepool upgrade med --node-image-only manuellt för att tillämpa ändringarna på noderna.

  • SSH-konfigurationsändringar: Ändra SSH-åtkomstmetoder (inaktiverad SSH, Entra ID baserad SSH eller lokal användar-SSH) eller uppdatera offentliga SSH-nycklar i nodpooler.
  • Ändringar av IMDS-begränsning: Aktivera eller inaktivera IMDS-begränsning (Instance Metadata Service) för att blockera poddåtkomst till IMDS-slutpunkten.
  • Bootstrap-profiländringar: Ändra bootstrap-profilen, till exempel växla artifactSource mellan Direct och Cache, eller ändra containerRegistryId (den Azure Container Registry som används för isolerade nätverkskluster).
  • Ändringar av utgående typ: Ändra klustrets utgående anslutningstyp (loadBalancer, userDefinedRouting, managedNATGateway eller userAssignedNATGateway).

Uppgraderingsåtgärder som inte styrs av Node Disruption Policy

Principen för nodstörningar styr inte följande uppgraderingsoperationer. Dessa uppgraderingsåtgärder fortsätter oavsett din principinställning. Uppgraderingar är antingen kundinitierade eller initierade av AKS inom planerade underhållsperioder. För att tillåta att dessa operationer genomförs enligt schemat ska du avsiktligt hålla dem utanför Node Disruption Policys tillämpningsområde. Dessutom gäller att om åtgärder som omfattas av Node Disruption Policy ingår i samma konfigurationsändringar som uppgraderingar, kommer de inte att styras av Node Disruption Policy.

  • Uppdateringar av nodavbildningsversion: Uppgradera till en ny version av nodens operativsystemavbildning (manuellt eller via automatiska uppgraderingskanaler). Den här åtgärden är den vanligaste återimeringsåtgärden och omfattar säkerhetskorrigeringar, OS-uppdateringar och AKS-nodavbildningsversioner.
  • Kubernetes-versionsuppgraderingar: Uppgradera Kubernetes-versionen på en nodpool, som tillämpar nya Kubernetes-binärfiler, uppdaterad kubelet-konfiguration och ändringar på OPERATIVSYSTEMnivå.

Återställningsåtgärder som inte styrs av principen för nodstörningar

Nodavbrottsprincipen styr inte följande automatiserade återställningsåtgärder. Dessa åtgärder kan utföras oavsett din principinställning för att säkerställa klusterhälsa och återställning.

  • Återställning av nodpoolkonfiguration: När en uppdateringsåtgärd för nodpoolen misslyckas på grund av ogiltiga konfigurations- eller infrastrukturproblem återställs AKS automatiskt till det senast kända goda tillståndet och återskapar noder för att återställa konfigurationen.
  • Återställningsåtgärder för administratörskluster: När Azure-supporttekniker utför administrativ återställning av klustret under incidenthantering avbildas noderna om för att säkerställa konsekvens mellan kontrollplanets status och nodkonfigurationen.
  • Uppdateringar av autentiseringsuppgifter för nodidentitet: AKS uppdaterar regelbundet autentiseringsuppgifterna för nodidentitet för säkerhet och efterlevnad. Dessa system-initierade uppdateringar utlöser ominstallation av noder för att tillämpa de nya autentiseringsuppgifterna i samtliga nodpooler.

Integrering med planerat underhåll

Principen för nodstörningar fungerar sömlöst med AKS-fönster för planerat underhåll. När du ställer in principen på AllowDuringMaintenanceWindow, anpassas avbrottsåtgärderna till ditt underhållsfönster aksManagedNodeOSUpgradeSchedule, vilket säkerställer att:

  • Ändringar sker endast under godkända tidsfönster.
  • Åtgärder samordnas med annat schemalagt underhåll.
  • Teamen är medvetna om när störningar kan uppstå.

Den här integrationen erbjuder ett heltäckande sätt att hantera klusterändringar och minimera påverkan på körande arbetsbelastningar.

Note

När du använder AllowDuringMaintenanceWindow måste du konfigurera en aksManagedNodeOSUpgradeSchedule underhållsperiod. default Att använda underhållsfönstret eller aksManagedAutoUpgradeSchedule (automatisk uppgradering av kluster) uppfyller inte detta krav. Om du anger AllowDuringMaintenanceWindow utan att ett aksManagedNodeOSUpgradeSchedule fönster har konfigurerats tillåts alla störande åtgärder (principen har inget fönster att grinda mot). Mer information om hur du konfigurerar underhållsperioder finns i Använda planerat underhåll för att schemalägga och kontrollera uppgraderingar för ditt Azure Kubernetes Service kluster.

Metodtips

Beakta följande rekommendationer när du inför Node Disruption Policy:

  • Användning AllowDuringMaintenanceWindow för produktion: Kombinera med planerade underhållsperioder för att styra när störningar inträffar i produktionsmiljöer.
  • Ställ in Block under kritiska perioder: Blockera tillfälligt störande åtgärder under händelser med hög trafik, produktlanseringar eller incidenthantering. Använd inte Block på obestämd tid. Även om Block är lämpligt för kortvariga frysningar (planerade händelser, incidenthantering).
  • Tillåt flexibilitet i icke-produktion: Använd Allow i utvecklings- och testmiljöer där snabb iteration är viktigare än stabilitet.
  • Kommunicera principändringar: Se till att ditt team förstår den aktuella principen och vet när åtgärder kan blockeras.
  • Planera underhållsperioder på rätt sätt: Ändra storlek på underhållsfönstren så att de passar de åtgärder som du behöver utföra.
  • Testa principbeteende: Verifiera principinställningar i icke-produktionsmiljöer innan du tillämpar dem på produktionskluster.
  • Övervaka blockerade åtgärder: Spåra när åtgärder blockeras för att optimera underhållsschemat.