Grundlegendes zur AKS-Komponentenversionsverwaltung

Azure Kubernetes Service (AKS) verwaltet mehrere Komponenten, die verschiedenen Versionsverwaltungs- und Patchingstrategien folgen. Wenn Sie wissen, wie diese Komponenten versionsiert sind, können Sie Upgrades planen, Sicherheitspatches nachverfolgen und Ihren Clusterlebenszyklus effektiv verwalten.

In diesem Artikel wird der Versionsverwaltungsansatz für verschiedene Kategorien von AKS-Komponenten und deren Beibehaltung im Laufe der Zeit erläutert.

Übersicht über AKS-Komponenten

Diagramm verschiedener AKS-Komponenten – Steuerebene, Knoten-Abbilder und AKS-Features, Erweiterungen, Add-Ons, die als Workloads auf Knoten bereitgestellt werden

AKS besteht aus mehreren Komponenten mit jeweils unterschiedlichen Versionsverwaltungsmustern:

  • Kubernetes-Clustersteuerungsebene, die von AKS gehostet wird: Verwalteter Kubernetes-API-Server usw. und andere Komponenten der Clustersteuerungsebene.

  • Knotenimages: Betriebssystem, Containerlaufzeit und kerne Kubernetes-Knotenkomponenten. Details dazu, welche Komponenten in den Knotenimages verpackt sind, finden Sie im Notizenordner Virtual Hard Disk (VHD) unter AKS GitHub Repository.

  • Workloads: AKS-verwaltete Funktionen, Add-ons, Erweiterungen könnten Komponenten in einer dieser beiden Kategorien haben:

    • Eigenständige Add-Ons/Features/Erweiterungs-Pods: AKS-Features/Add-Ons/Erweiterungen, die eigenständige Pods (aus Bereitstellungen oder DaemonSets) auf von Kunden gehosteten Knoten (links) ausführen. Beispiele hierfür sind istiod, azure-cns und coredns.
    • AKS-Komponenten innerhalb von Kundenworkload-Pods: Einige AKS-Features/-Add-Ons/Erweiterungen verfügen möglicherweise über Sidecars, die innerhalb der Pods des Benutzers bzw. der Benutzerin (rechts) ausgeführt werden. Beispielsweise fügt Istio Sidecar-Proxys in Kundenworkload-Pods ein.

    In der folgenden Tabelle wird zusammengefasst, wie Versionsverwaltung und Updates für jede AKS-Komponentenkategorie verwaltet werden:

Steuerungsebene Node-Images Eigenständige Add-On/Features/Erweiterungs-Pods AKS-Komponenten innerhalb von Kundenworkload-Pods
Was ist versioniert? Kubernetes-API-Server usw., Controller Betriebssystem-, Containerlaufzeit- und Kernkomponenten von Kubernetes-Knoten AKS-Funktionen/Add-ons/Erweiterungen, die eigenständige Pods ausführen (zum Beispiel - istiod) Sidecars oder unterstützende Container, die von Add-Ons/Erweiterungen eingefügt werden
Versionsverwaltungsmodell Folgt der semantischen Versionierung von Upstream-Kubernetes (MAJOR.MINOR.PATCH). AKS bietet Community- und Long Term Support (LTS)-Modelle an. Weitere Informationen finden Sie in der AKS-Supportrichtliniendokumentation Knotenimageversionen und VHD-Notizen, die mit AKS-Versionen veröffentlicht werden. Nebenversion eines Add-Ons, Features oder einer Erweiterung, die eins zu eins an die AKS-Nebenversion gekoppelt ist. Die Sidecar-Version muss mit der Add-On-Steuerungsebene kompatibel sein.
Aktualisierungsmethode Der Kunde hat die Kontrolle darüber, auf welche MAJOR.MINOR.PATCH Version ein Upgrade durchgeführt werden soll. Manuell (az aks upgrade) oder automatisch mithilfe von Autoupgrade-Kanälen Der Kunde kann ein Upgrade auf die neueste unterstützte Knotenimageversion durchführen. Manuell (az aks nodepool upgrade) oder automatisch mithilfe von Autoupgrade-Kanälen – Nebenversion, die aktualisiert wird, wenn die Nebenversion der Steuerungsebene aktualisiert wird (außer Istio; siehe Istio-Upgradedokumentation)
- Die Patchversion wird automatisch durch AKS-Releases aktualisiert.
Der Kunde muss manuell ein Update durchführen (Workloads mit Sidecars neu starten), um kompatible Sidecar-Versionen zu erhalten, wie im Add-on/Feature/Extension dokumentiert.

Bewährte Methoden für die Versionsverwaltung

Sicherheitsüberlegung: Aktivieren Sie automatische Patchupdates, um sicherzustellen, dass Sicherheitsupdates so schnell wie möglich angewendet werden. Wählen Sie den AutoUpgrade-Kanal aus, der den Anforderungen und der Risikotoleranz Ihres Clusters am besten entspricht. Manuell oder automatisch: Wählen Sie die Updatestrategie aus, die Ihren betrieblichen Anforderungen am besten entspricht. Automatische Updates bieten zeitnahe Sicherheitspatches und reduzieren den Betriebsaufwand, während manuelle Updates präzise Kontrolle über den Zeitpunkt und die Änderungsverwaltung bieten. Verwenden Sie geplante Wartungsfenster , um zu steuern, wann automatische Upgrades angewendet werden, um sicherzustellen, dass Updates während genehmigter Zeitrahmen für Ihren Cluster auftreten. Überwachen und Vorbereiten von Änderungen: Informieren Sie sich über bevorstehende Updates und die Verfügbarkeit neuer Versionen mithilfe von AKS-Versionshinweisen und der AKS-Versionsverfolgung. Überprüfen Sie Upgrades in Nichtproduktionsumgebungen, bevor Sie Produktionsumgebungen aktualisieren.

  • Für Produktionscluster:
    • Erwägen Sie automatische Patchupdates für zeitnahe Sicherheitsupdates
    • Wählen Sie basierend auf Ihren betrieblichen Anforderungen zwischen automatischen oder manuellen Nebenversionsupgrades aus.
    • Testen Sie zuerst alle Änderungen in den Staging-Umgebungen.
  • Für Entwicklungscluster:
    • Automatische Updates für Steuerebenen- und Knotenpools aktivieren, um mit den neuesten Features auf dem laufenden zu bleiben
    • Wählen Sie geeignete Kanäle basierend auf Ihren Entwicklungs- und Testanforderungen aus (siehe automatische Clusterupgrades und Automatisches Upgrade von Knotenimages für Kanaloptionen)
    • Verwendung als Testumgebung für Produktionsupdatestrategien
  • Breaking Changes: Überwachen Sie den AKS-Release-Tracker, und überprüfen Sie die Kubernetes-Abkündigungsrichtlinien, um über API-Abkündigungen und Breaking Changes in AKS und im Upstream-Kubernetes informiert zu bleiben.
  • Überprüfung vor dem Upgrade: Bevor Sie Ihre Produktionscluster aktualisieren, testen Sie Ihre Anwendungen, benutzerdefinierten Ressourcen und Drittanbieterintegrationen in Vorproduktionsclustern, um die Kompatibilität mit der neuen Kubernetes-Version und aktualisierten AKS-Komponenten sicherzustellen.

Anzeigen von AKS-Komponentenversionen mit AKS Component Insights (Vorschau)

AKS Component Insights (Preview) bietet detaillierte Einblicke in die genauen Versionen aller Komponenten, die in Ihrem Azure Kubernetes Service Cluster ausgeführt werden. Dieses Feature hilft Ihnen, den aktuellen Status Ihres Clusters zu verstehen, Upgrades zu planen und potenzielle Kompatibilitätsprobleme zu identifizieren.

Von Bedeutung

AKS-Vorschaufunktionen sind auf Selbstbedienungsbasis und freiwillig verfügbar. Vorschauversionen werden „im Istzustand“ und „wie verfügbar“ bereitgestellt und sind von den Service Level Agreements und der eingeschränkten Garantie ausgeschlossen. AKS-Vorschauversionen werden teilweise vom Kundensupport auf Grundlage der bestmöglichen Leistung abgedeckt. Daher sind diese Funktionen nicht für die Verwendung in der Produktion vorgesehen. Weitere Informationen finden Sie in den folgenden Supportartikeln:

Voraussetzungen

Voraussetzung Hinweise
Azure CLI 2.74.0 oder höher installiert. Führen Sie az --version aus, um die Version zu finden. Informationen zum Installieren oder Aktualisieren finden Sie unter Install Azure CLI.
Azure CLI aks-preview Extension 18.0.0b19 oder höher. Führen Sie az --version aus, um die Version zu finden. Informationen zum Installieren oder Aktualisieren finden Sie unter Manage Azure CLI Erweiterungen.

Sie können die neueste verfügbare aks-preview Azure CLI Erweiterung mithilfe der folgenden Befehle installieren oder aktualisieren:

# 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

Anzeigen von Komponentenversionen mit Azure CLI

Verwenden Sie den az aks get-upgrades Befehl zum Anzeigen von Komponentenversionen:

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

Die Komponenteninformationen werden im componentsByReleases Abschnitt zurückgegeben. Die erwartete Ausgabe ähnelt der folgenden (hier wird nur ein Teil von componentByReleases aus Platzgründen angezeigt):

{
  "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"
      }
  ]
}

Die tatsächlich angezeigten Komponenten können je nach Clusterkonfiguration, aktivierten Add-Ons und Kubernetes-Version variieren. Verwenden Sie den az aks get-upgrades Befehl, um die vollständige Liste der Komponenten für Ihren spezifischen Cluster anzuzeigen.

Jeder Komponenteneintrag umfasst:

  • name: Der Komponentenbezeichner
  • version: Die genaue Version der komponente, die auf dem Cluster installiert ist
  • hasBreakingChanges: Gibt an, ob diese Komponentenversion Breaking Changes einführt.

Tipp

Zusätzlich zur Verwendung der Azure CLI zum Abfragen von Komponentenversionsinformationen können Sie auch die GET upgradeProfiles API mit Vorschau-AKS-APIs (2025-05-04-preview oder höher) verwenden, um detaillierte Komponentenversionsdaten programmgesteuert abzurufen.

Nächste Schritte