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 KanalSecurityPatch
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 KanalSecurityPatch
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 aufNodeImage
festgelegt. Sie können den Kanalwert für automatisches Upgrade des Knotenbetriebssystems nicht ändern, wenn ihr Clusterkanal für automatisches Upgradenode-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 nichtnode-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.
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.
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:
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.
Azure Kubernetes Service