Automatische Upgrades für Knotenbetriebssystem-Images

AKS stellt mehrere Kanäle für automatische Upgrades bereit, die für zeitnahe Betriebssystem-Sicherheitsupdates auf Knotenebene vorgesehen sind. Dieser Kanal unterscheidet sich von Kubernetes-Versionsupgrades auf Clusterebene und ersetzt sie.

Interaktionen zwischen automatischem Upgrade des Knotenbetriebssystems und automatischem Clusterupgrade

Sicherheitsupdates für Betriebssysteme auf Knotenebene werden in kürzeren Intervallen freigegeben als Kubernetes-Patch- oder Nebenversionsupdates. Der automatisches Upgradekanal für das Knotenbetriebssystem bietet Ihnen Flexibilität und ermöglicht eine angepasste Strategie für Sicherheitsupdates für Betriebssysteme auf Knotenebene. Anschließend können Sie einen separaten Plan für automatische Upgrades der Kubernetes-Version auf Clusterebene auswählen. Es ist am besten, sowohl automatische Upgrades auf Clusterebene als auch den Kanal für automatische Upgrades des Knotenbetriebssystems parallel zu verwenden. Die zeitliche Planung kann optimiert werden, indem zwei separate Sätze von Wartungsfenstern angewendet werden: aksManagedAutoUpgradeSchedule für den Kanal für automatische Clusterupgrades und aksManagedNodeOSUpgradeSchedule für den Kanal für automatische Upgrades des Knotenbetriebssystems.

Kanäle für Upgrades von Knotenbetriebssystem-Images

Der ausgewählte Kanal bestimmt den Zeitpunkt von Upgrades. Wenn Sie Änderungen an den Kanälen für automatische Upgrades des Knotenbetriebssystems vornehmen, dauert es bis zu 24 Stunden, bis die Änderungen wirksam werden. Nach einem Wechsel von einem Kanal zu einem anderen wird ein Reimaging ausgelöst, das zu rollierenden Knoten führt.

Hinweis

Automatische Upgrades für Knotenbetriebssysteme haben keine Auswirkungen auf die Kubernetes-Version des Clusters. Es funktioniert nur für einen Cluster in einer unterstützten Version.

Die folgenden Upgradekanäle sind verfügbar. Sie können eine der folgenden Optionen auswählen:

Kanal Beschreibung Betriebssystemspezifisches Verhalten
None Auf Ihre Knoten werden Sicherheitsupdates nicht automatisch angewendet. Dies bedeutet, dass Sie allein für Ihre Sicherheitsupdates verantwortlich sind.
Unmanaged Betriebssystemupdates werden automatisch über die integrierte Patchinfrastruktur des Betriebssystems angewendet. Neu zugewiesene Computer sind zunächst nicht gepatcht. Die Infrastruktur des Betriebssystems patcht sie zu einem beliebigen Zeitpunkt. Ubuntu und Azure Linux (CPU-Knotenpools) wenden Sicherheitspatches durch unbeaufsichtigtes upgrade/dnf-automatic ungefähr einmal pro Tag gegen 6 Uhr UTC an. Windows wendet Sicherheitspatches nicht automatisch an, sodass sich diese Option gleich verhält wie None. Sie müssen den Neustartvorgang mithilfe eines Tools wie kured verwalten.
SecurityPatch Dieser Kanal befindet sich in der Vorschauphase und erfordert die Aktivierung des Featureflags NodeOsUpgradeChannelPreview. Weitere Informationen finden Sie im Abschnitt zu Voraussetzungen. AKS aktualisiert regelmäßig die virtuelle Festplatte (Virtual Hard Disk, VHD) des Knotens mit Patches aus dem Imagemaintainer mit der Bezeichnung „Nur Sicherheit“. Es kann zu Unterbrechungen kommen, wenn die Sicherheitspatches auf die Knoten angewendet werden. Wenn die Patches angewendet werden, wird die VHD aktualisiert, und für vorhandene Computer wird ein Upgrade auf diese VHD durchgeführt, wobei Wartungsfenster und Überspannungseinstellungen berücksichtigt werden. Diese Option verursacht zusätzliche Kosten für das Hosten der VHDs in Ihrer Knotenressourcengruppe. Wenn Sie diesen Kanal verwenden, sind unbeaufsichtigte Upgrades für Linux standardmäßig deaktiviert. Azure Linux unterstützt diesen Kanal auf GPU-fähigen VMs nicht. SecurityPatch funktioniert für veraltete Patchversionen, solange die Nebenversion von Kubernetes weiterhin unterstützt wird.
NodeImage AKS aktualisiert die Knoten im wöchentlichen Rhythmus mit einer neu gepatchten VHD, die Sicherheits- und Fehlerkorrekturen enthält. Das Update auf die neue VHD ist nach Wartungsfenstern und Überspannungseinstellungen störend. Bei der Auswahl dieser Option fallen keine zusätzlichen VHD-Kosten an. Wenn Sie diesen Kanal verwenden, sind unbeaufsichtigte Upgrades für Linux standardmäßig deaktiviert. Knotenimage-Upgrades unterstützen veraltete Patchversionen, solange die Nebenversion von Kubernetes weiterhin unterstützt wird.

Festlegen des Automatischen Upgradekanals des Knotenbetriebssystems auf einem neuen Cluster

  • Legen Sie den Knotenbetriebssystem-Kanal für das automatische Upgrade auf einem neuen Cluster mithilfe des Befehls az aks create mit dem Parameter --node-os-upgrade-channel fest. Im folgenden Beispiel wird der Knoten für das automatische Upgrade des Betriebssystems auf den Kanal SecurityPatch festgelegt.

    az aks create --resource-group myResourceGroup --name myAKSCluster --node-os-upgrade-channel SecurityPatch
    

Festlegen des Automatischen Upgradekanals des Knotenbetriebssystems auf einem vorhandenen Cluster

  • Legen Sie den Automatischen Upgradekanal des Knotenbetriebssystems für ein vorhandenes Cluster mithilfe des az aks update-Befehls mit dem --node-os-upgrade-channel-Parameter fest. Im folgenden Beispiel wird der Knoten für das automatische Upgrade des Betriebssystems auf den Kanal SecurityPatch festgelegt.

    az aks update --resource-group myResourceGroup --name myAKSCluster --node-os-upgrade-channel SecurityPatch
    

Aktualisieren des Eigentums und des Zeitplans

Das Standardintervall bedeutet, dass kein geplantes Wartungsfenster angewendet wird.

Kanal Zuständigkeit für Updates Standardintervall
Unmanaged Betriebssystemgesteuerte Sicherheitsupdates. AKS hat keine Kontrolle über diese Updates. Jeden Morgen um ca. 6 Uhr (UTC) für Ubuntu und Azure Linux. Jeden Monat für Windows.
SecurityPatch AKS-getestet, vollständig verwaltet und mit sicheren Bereitstellungsmethoden angewendet. Weitere Informationen finden Sie unter Erhöhte Sicherheit und Resilienz von Kanon-Workloads in Azure. Wöchentlich
NodeImage AKS Wöchentlich

Hinweis

Während Windows-Sicherheitsupdates monatlich veröffentlicht werden, wendet die Verwendung des Unmanaged-Kanals diese Updates nicht automatisch auf Windows-Knoten an. Wenn Sie den Unmanaged-Kanal auswählen, müssen Sie den Neustartvorgang mithilfe eines Tools wie kured verwalten, um Sicherheitspatches ordnungsgemäß anzuwenden.

SecurityPatch-Kanalanforderungen

Um den SecurityPatch-Kanal zu verwenden, muss Ihr Cluster diese Anforderungen unterstützen:

  • Muss eine API-Version 11-02-preview oder höher verwenden
  • Bei Verwendung der Azure CLI muss die aks-preview-CLI-Erweiterungsversion 0.5.166 oder höher installiert sein
  • Das Featureflag NodeOsUpgradeChannelPreview muss für Ihr Abonnement aktiviert sein.

Registrieren von NodeOsUpgradeChannelPreview

Registrieren Sie das Featureflag NodeOsUpgradeChannelPreview mithilfe des Befehls NodeOsUpgradeChannelPreview, wie im folgenden Beispiel gezeigt:

az feature register --namespace "Microsoft.ContainerService" --name "NodeOsUpgradeChannelPreview"

Es dauert einige Minuten, bis der Status Registered (Registriert) angezeigt wird. Überprüfen Sie den Registrierungsstatus mithilfe des Befehls az feature show:

az feature show --namespace "Microsoft.ContainerService" --name "NodeOsUpgradeChannelPreview"

Wenn der Zustand Registered (Registriert) lautet, aktualisieren Sie die Registrierung des Ressourcenanbieters Microsoft.ContainerService mithilfe des Befehls az provider register:

az provider register --namespace Microsoft.ContainerService

Bekannte Fehler im Knotenkanal

  • Wenn Sie derzeit den Kanal für automatische Clusterupgrades auf node-image festlegen, wird auch der Kanal für automatische Upgrades des Knotenbetriebssystems automatisch auf NodeImage festgelegt. Sie können den Kanalwert für automatisches Upgrade des Knotenbetriebssystems nicht ändern, wenn ihr Clusterkanal für automatisches Upgrade node-image ist. Um den Wert des Kanals für automatische Upgrades des Knotenbetriebssystems festzulegen, vergewissern Sie sich, dass der Wert für den Kanal für automatische Clusterupgrades nicht node-image lautet.

  • Der SecurityPatch-Kanal wird in Windows-Betriebssystem-Knotenpools nicht unterstützt.

Hinweis

Standardmäßig legt jeder neue Cluster, der mit einer API-Version von 06-01-2022 oder höher erstellt wird, den Wert des Kanals für automatische Upgrades des Knotenbetriebssystems auf NodeImage fest. Für alle vorhandenen Cluster, die mit einer früheren API-Version als 06-01-2022 erstellt wurden, ist der Wert des Kanals für automatische Upgrades des Knotenbetriebssystems standardmäßig auf None festgelegt.

Geplante Wartungsfenster des Knotenbetriebssystems

Die geplante Wartung für das automatische Upgrade des Knotenbetriebssystems beginnt in Ihrem angegebenen Wartungsfenster.

Hinweis

Um die ordnungsgemäße Funktionalität sicherzustellen, wählen Sie ein Wartungsfenster von mindestens vier Stunden.

Weitere Informationen zur geplanten Wartung finden Sie unter Verwenden der geplanten Wartung, um Wartungsfenster für AKS-Cluster (Azure Kubernetes Service) zu planen.

Häufig gestellte Fragen zu automatischen Upgrades für Knotenbetriebssysteme

  • Wie kann ich den aktuellen nodeOsUpgradeChannel-Wert in einem Cluster überprüfen?

Führen Sie den Befehl az aks show aus, und überprüfen Sie „autoUpgradeProfile“, um zu ermitteln, auf welchen Wert der nodeOsUpgradeChannel festgelegt ist:

az aks show --resource-group myResourceGroup --name myAKSCluster --query "autoUpgradeProfile"
  • Wie kann ich den Status automatischer Upgrades des Knotenbetriebssystems überwachen?

Um den Status der automatischen Upgrades des Knotenbetriebssystems anzuzeigen, überprüfen Sie die Aktivitätsprotokolle in Ihrem Cluster. Sie können auch nach bestimmten Ereignissen im Zusammenhang mit Upgrades suchen, wie unter Aktualisieren eines AKS-Clusters beschrieben. AKS gibt auch upgradebezogene Event Grid-Ereignisse aus. Weitere Informationen finden Sie unter AKS als Event Grid-Quelle.

  • Kann ich den Wert des Kanals für automatische Upgrades des Knotenbetriebssystems ändern, wenn mein Kanal für automatische Clusterupgrades auf node-image festgelegt ist?

Nein. Wenn Sie derzeit den Kanal für automatische Clusterupgrades auf node-image festlegen, wird auch der Kanal für automatische Upgrades des Knotenbetriebssystems automatisch auf NodeImage festgelegt. Sie können den Wert des Kanals für automatische Upgrades des Knotenbetriebssystems nicht ändern, wenn der Kanal für automatische Clusterupgrades node-image lautet. Um die Werte des Kanals für automatische Upgrades des Knotenbetriebssystems ändern zu können, stellen Sie sicher, dass der Kanal für automatische Clusterupgrades nicht node-image lautet.

  • Warum wird SecurityPatch statt des Unmanaged-Kanal empfohlen?

Im Kanal Unmanaged hat AKS keine Kontrolle darüber, wie und wann die Sicherheitsupdates bereitgestellt werden. Mit SecurityPatch werden die Sicherheitsupdates vollständig getestet und folgen sicheren Bereitstellungsmethoden. SecurityPatch berücksichtigt auch Wartungsfenster. Weitere Informationen finden Sie unter Erhöhte Sicherheit und Resilienz von Kanon-Workloads in Azure.

  • Wie kann ich feststellen, ob ein SecurityPatch- oder NodeImage-Upgrade auf meinen Knoten angewendet wird?

Führen Sie den folgenden Befehl aus, um Knotenbeschriftungen abzurufen:

kubectl get nodes --show-labels

Unter den zurückgegebenen Etiketten sollte eine Zeile ähnlich der folgenden Ausgabe angezeigt werden:

kubernetes.azure.com/node-image-version=AKSUbuntu-2204gen2containerd-202311.07.0

Hier ist die Basisknotenimageversion AKSUbuntu-2204gen2containerd. Falls zutreffend, folgt in der Regel die Version des Sicherheitspatches. Im obigen Beispiel ist das 202311.07.0.

Die gleichen Details können auch im Azure-Portal unter der Knotenbezeichnungsansicht nachgeschlagen werden:

Screenshot der Knotenseite für ein AKS-Cluster im Azure-Portal. Die Bezeichnung für die Knotenimageversion zeigt eindeutig das Basisknotenimage und das neueste angewendete Sicherheitspatchdatum an.

Nächste Schritte

Eine ausführliche Erläuterung zu bewährten Methoden für Upgrades und anderen Überlegungen finden Sie unter AKS Patch- und Upgradeanleitungen.