Förstå versionshantering av AKS-komponenter

Azure Kubernetes Service (AKS) hanterar flera komponenter som följer olika strategier för versionshantering och korrigering. Genom att förstå hur dessa komponenter är versionshanterade kan du planera uppgraderingar, spåra säkerhetskorrigeringar och hantera klusterlivscykeln effektivt.

Den här artikeln förklarar versionsmetoden för olika kategorier av AKS-komponenter och hur de underhålls över tid.

Översikt över AKS-komponenter

Diagram över olika AKS-komponenter – kontrollplanen, nodavbildningar och AKS-funktioner, tillägg och extrafunktioner som distribueras som arbetsbelastningar på noder

AKS består av flera komponenter, var och en med distinkta versionsmönster:

  • Kubernetes-klusterkontrollplan hanterad av AKS: Hanterad Kubernetes API-server, etcd och andra komponenter för klusterkontrollplan.

  • Nodavbildningar: Operativsystem, containerkörning och kubernetes-kärnnodkomponenter. Information om vilka komponenter som paketeras i nodbilderna finns under mappen Virtual Hard Disk (VHD) anteckningar under AKS GitHub lagringsplats.

  • Arbetsbelastningar: AKS-hanterade funktioner/tillägg/förlängningar kan ha komponenter i någon av dessa två kategorier:

    • Fristående tillägg/funktioner/tilläggspoddar: AKS-funktion/tillägg/tillägg som kör fristående poddar (från distributioner eller DaemonSets) på kundens värdbaserade noder (vänster sida). Exempel är istiod, azure-cnsoch coredns.
    • AKS-komponenter i kundarbetsbelastningspoddar: Vissa AKS-funktioner/tillägg/tillägg kan ha sidovagnar som körs i användarens poddar (höger sida). Till exempel matar Istio in sidovagnsproxy till kundarbetsbelastningspoddar.

    I följande tabell sammanfattas hur versionshantering och uppdateringar hanteras för varje AKS-komponentkategori:

Kontrollplan Nodbilder Fristående tillägg/funktioner/tilläggspoddar AKS-komponenter i kunders arbetsbelastningspoddar
Vad är versionerat? Kubernetes API-server, etcd, styrenheter Operativsystem, containerkörning och kubernetes-kärnnodkomponenter AKS-funktioner/tillägg/förlängningar som använder fristående poddar (till exempel istiod) Sidovagnar eller stödcontainrar införda av tillägg/utökningar
Versionsmodell Följer Kubernetes uppströms semantisk versionshantering (MAJOR.MINOR.PATCH). AKS erbjuder modeller för gemenskap och långsiktig support (LTS). Mer information finns i dokumentationen om supportpolicy för AKS-versioner Nodbildversioner tillsammans med VHD-anteckningar som publiceras med AKS-versioner. Tilläggs-/funktions-/tilläggsversion som är kopplad 1-1 till AKS-delversion Sidovagnsversionen måste vara kompatibel med tilläggskontrollplanet
Uppdateringsmetod Kunden har kontroll över vilken version som MAJOR.MINOR.PATCH ska uppgraderas till. Manuell (az aks upgrade) eller automatisk användning av automatiska uppgraderingskanaler Kunden kan uppgradera till den senaste nodbildversionen som stöds. Manuell (az aks nodepool upgrade) eller automatisk användning av automatiska uppgraderingskanaler – Delversion uppgraderad när kontrollplanets delversion uppgraderas (förutom Istio; se Dokumentation om Istio-uppgradering)
– Korrigeringsversion som uppgraderas av AKS-versioner automatiskt
Kunden måste uppdatera manuellt (starta om arbetsbelastningar med sidovagn) till kompatibla sidovagnsversioner som dokumenteras av tillägget/funktionen/tillägget.

Metodtips för versionshantering

Säkerhetsövervägande: Aktivera automatiska korrigeringsuppdateringar för att säkerställa att säkerhetskorrigeringar tillämpas så snart som möjligt. Välj den autouppgrade-kanal som bäst passar klustrets krav och risktolerans. Manuell eller automatisk: Välj den uppdateringsstrategi som bäst passar dina driftkrav. Automatiska uppdateringar ger säkerhetskorrigeringar i rätt tid och minskar driftkostnaderna, medan manuella uppdateringar ger exakt kontroll över tids- och ändringshantering. Använd fönster för planerat underhåll för att styra när automatiska uppgraderingar tillämpas, vilket säkerställer att uppdateringar sker under godkända tidsramar för klustret. Övervaka och förbered för ändringar: Håll dig informerad om kommande uppdateringar och tillgänglighet för nya versioner med hjälp av AKS-viktig information och AKS-versionsspåraren. Verifiera uppgraderingar i icke-produktionsmiljöer innan du uppgraderar produktionsmiljöer.

  • För produktionskluster:
    • Överväg automatiska uppdateringar för säkerhetskorrigeringar i rätt tid
    • Välj mellan automatiska eller manuella delversionsuppgraderingar baserat på dina driftbehov
    • Testa alla ändringar i mellanlagringsmiljöer först
  • För utvecklingskluster:
    • Aktivera automatiska uppdateringar för både kontrollplans- och nodpooler för att hålla dig uppdaterad med de senaste funktionerna
    • Välj lämpliga kanaler baserat på dina utvecklings- och testbehov (se automatiska klusteruppgraderingar och autouppgradering av nodavbildning för kanalalternativ)
    • Använda som testplats för strategier för produktionsuppdatering
  • Icke-bakåtkompatibla ändringar: Övervaka AKS-versionsspåraren och granska Kubernetes utfasningsprinciper för att hålla dig informerad om API-utfasningar och icke-bakåtkompatibla ändringar i både AKS och överordnade Kubernetes.
  • Validering före uppgradering: Innan du uppgraderar dina produktionskluster testar du dina program, anpassade resurser och integreringar från tredje part i förproduktionskluster för att säkerställa kompatibilitet med den nya Kubernetes-versionen och uppdaterade AKS-komponenter.

Visa AKS-komponentversioner med hjälp av AKS Component Insights (förhandsversion)

AKS Component Insights (Preview) ger detaljerad insyn i de exakta versionerna av alla komponenter som körs i ditt Azure Kubernetes Service kluster. Den här funktionen hjälper dig att förstå klustrets aktuella tillstånd, planera uppgraderingar och identifiera potentiella kompatibilitetsproblem.

Viktigt!

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. Dessa funktioner är därmed inte avsedda för produktionsanvändning. Mer information finns i följande supportartiklar:

Förutsättningar

Förutsättning Noteringar
Azure CLI 2.74.0 eller senare installerat. Kör az --version för att hitta versionen. Om du behöver installera eller uppgradera kan du läsa Installera Azure CLI.
Azure CLI aks-preview-tillägget 18.0.0b19 eller senare. Kör az --version för att hitta versionen. Om du behöver installera eller uppgradera kan du läsa Hantera Azure CLI tillägg.

Du kan installera eller uppdatera till det senaste tillgängliga aks-preview Azure CLI-tillägget med hjälp av följande kommandon:

# Install the aks-preview extension
az extension add --name aks-preview

# Update to the latest version if already installed
az extension update --name aks-preview

Visa komponentversioner med Azure CLI

az aks get-upgrades Använd kommandot för att visa komponentversioner:

az aks get-upgrades --resource-group myResourceGroup --name myAKSCluster

Komponentinformationen returneras i avsnittet componentsByReleases . Förväntade utdata skulle likna följande (endast en del av componentByReleases visas här för korthet):

{
  "componentsByReleases": [
      {
        "components": [
          {
            "hasBreakingChanges": false,
            "name": "cloud-provider-node-manager-linux",
            "version": "v1.32.5"
          },
          {
            "hasBreakingChanges": false,
            "name": "cloud-provider-node-manager-windows",
            "version": "v1.32.5"
          },
          {
            "hasBreakingChanges": false,
            "name": "health-probe-proxy",
            "version": "v1.29.1"
          },
          {
            "hasBreakingChanges": false,
            "name": "kubelet-serving-csr-approver",
            "version": "v0.0.7"
          },
          {
            "hasBreakingChanges": false,
            "name": "coredns",
            "version": "v1.11.3-8"
          },
          {
            "hasBreakingChanges": false,
            "name": "metrics-server",
            "version": "v0.7.2-7"
          }
        ],
        "kubernetesVersion": "1.32"
      }
  ]
}

De faktiska komponenter som visas kan variera beroende på klusterkonfigurationen, aktiverade tillägg och Kubernetes-versionen. az aks get-upgrades Använd kommandot för att se den fullständiga listan över komponenter för ditt specifika kluster.

Varje komponentpost innehåller:

  • name: Komponentidentifieraren
  • version: Den exakta versionen av komponenten som är installerad i klustret
  • hasBreakingChanges: Om den här komponentversionen introducerar icke-bakåtkompatibla ändringar

Tips/Råd

Förutom att använda Azure CLI för att fråga komponentversionsinformation kan du också använda GET upgradeProfiles API med förhandsversion av AKS-API:er (2025-05-04-preview eller senare) för att hämta detaljerade komponentversionsdata programmatiskt.

Nästa steg