Freigeben über


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. Ab API-Version 2023-06-01 ist die Standardeinstellung für jedes neu erstellte Cluster NodeImage.

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 Betriebssystem-Sicherheitspatches, die AKS-getestet, vollständig verwaltet und mit sicheren Bereitstellungsmethoden angewendet werden. 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. AKS schränkt jedoch Unterbrechungen ein, indem es Ihre Knoten nur bei Bedarf neu erstellt, z. B. für bestimmte Kernelsicherheitspakete. 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. Wenn AKS entscheidet, dass kein Reimaging von Knoten erforderlich ist, werden Knoten live gepatcht, ohne Pods auszugleichen, und es wird kein VHD-Update durchgeführt. 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 Kubernetes-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. Node-Images werden AKS-getestet, vollständig verwaltet und mit sicheren Bereitstellungsmethoden angewendet.

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 \
        --generate-ssh-keys
    

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-getestet, vollständig verwaltet und mit sicheren Bereitstellungsmethoden angewendet. Weitere Echtzeitinformationen zu Versionen finden Sie unter AKS-Knotenimages im Release-Tracker 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 Neustartprozess für Windows-Knoten verwalten.

Bekannte Einschränkungen 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

Verwenden Sie CLI Version 2.61.0 oder höher für den SecurityPatch-Kanal.

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.

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.

Führt SecurityPatch immer zu einem Reimaging meiner Knoten?

AKS beschränkt Reimaging nur dann, wenn dies unbedingt erforderlich ist, z. B. bestimmte Kernelpakete, für die möglicherweise eine Reimaging-Anforderung erforderlich ist, um vollständig angewendet zu werden. SecurityPatch ist so konzipiert, dass Unterbrechungen so weit wie möglich minimiert werden. Wenn AKS entscheidet, dass kein Reimaging von Knoten erforderlich ist, werden Knoten live gepatcht, ohne Pods auszugleichen. Zudem wird in diesen Fällen kein VHD-Update durchgeführt.

Warum muss Kanal SecurityPatch Endpunkt snapshot.ubuntu.com erreichen?

Mit dem Kanal SecurityPatch müssen die Linux-Clusterknoten die erforderlichen Sicherheitspatches und -updates vom Ubuntu-Snapshot-Dienst herunterladen, der unter ubuntu-snapshots-on-azure-ensuring-predictability-and-consistency-in-cloud-deployments beschrieben wird.

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.