Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Lernprogramm, Teil 3 von fünf, migrieren Sie Ihre vorhandenen Knoten mit OS Guard zu Azure Linux. Sie können Ihre vorhandenen Knoten mit einer der folgenden Methoden migrieren:
- Entfernen Sie vorhandene Knotenpools, und fügen Sie neue Azure Linux mit OS Guard-Knotenpools hinzu.
- Direkte SKU-Migration des Betriebssystems.
Wenn Sie keine vorhandenen Knoten zum Migrieren haben, fahren Sie mit dem nächsten Tutorial fort. In späteren Lernprogrammen erfahren Sie, wie Sie Telemetrie und Überwachung in Ihren Clustern aktivieren und Azure Linux mit OS Guard-Knoten aktualisieren.
Überlegungen und Einschränkungen
Bevor Sie beginnen, lesen Sie die folgenden Überlegungen und Einschränkungen für Azure Linux mit OS Guard (Vorschau):
- Kubernetes Version 1.32.0 oder höher ist für Azure Linux mit OS Guard erforderlich.
- Alle Azure Linux-Images mit OS Guard haben Federal Information Process Standard (FIPS) und Trusted Launch aktiviert.
- Azure CLI- und ARM-Vorlagen sind die einzigen unterstützten Bereitstellungsmethoden für Azure Linux mit OS Guard auf AKS in der Vorschau. PowerShell und Terraform werden nicht unterstützt.
- Arm64-Images werden mit Azure Linux und OS Guard auf AKS in der Vorschauphase nicht unterstützt.
-
NodeImageundNonesind die einzigen unterstützten Betriebssystemupgradekanäle für Azure Linux mit OS Guard auf AKS.UnmanagedundSecurityPatchsind aufgrund des unveränderlichen /usr-Verzeichnisses nicht mit Azure Linux mit OS Guard kompatibel. - Artefaktstreaming wird nicht unterstützt.
- Pod Sandboxing wird nicht unterstützt.
- Vertrauliche virtuelle Computer (CVMs) werden nicht unterstützt.
- Virtuelle Computer der Generation 1 (VMs) werden nicht unterstützt.
Voraussetzungen
- Im vorherigen Lernprogramm haben Sie ein Azure Linux mit OS Guard-Cluster erstellt und bereitgestellt. Wenn Sie diese Schritte noch nicht abgeschlossen haben und dies ausführen möchten, lesen Sie Lernprogramm 1: Erstellen eines Clusters mit Azure Linux mit OS Guard für AKS.
- Sie benötigen die aktuellste Version der Azure-Befehlszeilenschnittstelle. Verwenden Sie den
az versionBefehl, um die Version zu finden. Verwenden Sie denaz upgradeBefehl, um auf die neueste Version zu aktualisieren.
Installieren der Azure CLI-Erweiterung „aks-preview“
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:
Installieren Sie die „
aks-preview“-Erweiterung mithilfe des Befehls „az extension add“.az extension add --name aks-previewFühren Sie mit dem Befehl
az extension updateein Update auf die neueste Version der Erweiterung aus.az extension update --name aks-preview
Registrieren des Featurekennzeichens "Azure Linux OS Guard Preview"
Registrieren Sie das Featureflag
AzureLinuxOSGuardPreviewmithilfe des Befehlsaz feature register.az feature register --namespace "Microsoft.ContainerService" --name "AzureLinuxOSGuardPreview"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 "AzureLinuxOSGuardPreview"Wenn der Status Registriert anzeigt, müssen Sie die Registrierung des Ressourcenanbieters mithilfe des
Microsoft.ContainerServiceaz provider registerBefehls aktualisieren.az provider register --namespace "Microsoft.ContainerService"
Hinzufügen von Azure Linux mit OS Guard-Knotenpools und Entfernen vorhandener Knotenpools
Fügen Sie mithilfe des
az aks nodepool addBefehls einen neuen Azure Linux mit OS Guard-Knotenpool hinzu. Dieser Befehl fügt Ihrem Cluster einen neuen Knotenpool mit dem Flag--mode Systemhinzu, wodurch er zu einem Systemknotenpool wird. Systemknotenpools sind für Azure Linux mit OS Guard-Clustern erforderlich.# Declare environment variables with a random suffix for uniqueness export RANDOM_SUFFIX=$(openssl rand -hex 3) export NODE_POOL_NAME="np$RANDOM_SUFFIX" az aks nodepool add --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME --mode System --os-sku AzureLinuxOSGuard --node-osdisk-type Managed --enable-fips-image --enable-secure-boot --enable-vtpmBeispielausgabe:
{ "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/systempool", "name": "systempool", "provisioningState": "Succeeded" }Entfernen Sie Ihre vorhandenen Knoten mithilfe des Befehls
az aks nodepool delete.az aks nodepool delete --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME
Einschränkungen für die Betriebssystem-SKU-Migration vor Ort
Es gibt mehrere Einstellungen, die die Anforderung der SKU-Migration des Betriebssystems blockieren können. Um eine erfolgreiche Migration zu gewährleisten, sollten Sie die folgenden Richtlinien und Grenzwerte beachten:
- Die SKU-Migration des Betriebssystems ist nicht über PowerShell oder das Azure-Portal verfügbar. Wenn Sie das Betriebssystem-SKU-Migrationsfeature mit Azure Linux mit OS Guard (Vorschau) verwenden, ist es nicht über Terraform, PowerShell oder das Azure-Portal verfügbar.
- Das SKU-Migrationsfeature des Betriebssystems unterstützt das Umbenennen vorhandener Knotenpools nicht.
- Ubuntu, Azure Linux und Azure Linux mit OS Guard sind die einzigen unterstützten Linux OS SKU-Migrationsziele.
- Der vertrauenswürdige Start ist standardmäßig für Azure Linux mit OS Guard erforderlich. Sie müssen Trusted Launch aktiviert haben, um mit OS Guard zu Azure Linux zu migrieren. Dies kann das Erstellen neuer Knotenpools erfordern.
- FIPS ist erforderlich, wenn Azure Linux mit OS Guard aktiviert wird. Wenn Sie derzeit kein FIPS-Image verwenden, können Sie
--enable-fipsin den Befehl zur Aktualisierung des Knotenpools einfügen. - Virtuelle Computer der Generation 1 (VMs) werden nicht unterstützt.
- Eine Ubuntu-Betriebssystem-SKU, für die
UseGPUDedicatedVHDaktiviert ist, kann keine SKU-Migration des Betriebssystems durchführen. - Vertrauliche virtuelle Computer (CVMs) werden nicht unterstützt.
- Pod Sandboxing wird nicht unterstützt.
- Die SKU-Migration des Windows-Betriebssystems wird nicht unterstützt.
- Die SKU-Migration des Betriebssystems von Mariner zu Azure Linux wird unterstützt, ein Rollback auf Mariner wird jedoch nicht unterstützt.
Voraussetzungen für die direkte Betriebssystem-SKU-Migration
- Ein vorhandener AKS-Cluster mit mindestens einem Azure Linux-Knotenpool.
- Es wird empfohlen, sicherzustellen, dass Ihre Workloads erfolgreich auf dem Azure Linux mit OS Guard-Containerhost ausgeführt werden, bevor Sie versuchen, das SKU-Migrationsfeature des Betriebssystems zu verwenden, indem Sie ein Azure Linux mit OS Guard-Cluster in Dev/Prod bereitstellen und überprüfen, ob Ihr Dienst fehlerfrei bleibt.
- Vergewissern Sie sich, dass die Migrationsfunktion bei Ihnen in test/dev funktioniert, bevor Sie den Prozess in einem Produktionscluster anwenden.
- Stellen Sie sicher, dass Ihre Pods über ein ausreichendes Budget für Pod-Unterbrechungen verfügen, damit AKS die Pods während des Upgrades zwischen VMs verschieben kann.
- Sie benötigen Azure CLI Version 2.61.0 oder höher. Verwenden Sie den
az versionBefehl, um die Version zu finden. Verwenden Sie denaz upgradeBefehl, um auf die neueste Version zu aktualisieren.
Durchführung einer vor-Ort-Betriebssystem-SKU-Migration
Sie können Ihre vorhandenen Ubuntu- oder Azure Linux-Knotenpools zu Azure Linux mit OS Guard migrieren, indem Sie die Betriebssystem-SKU des Knotenpools ändern, der den Cluster über den standardmäßigen Upgradeprozess für Knotenimages rollt. Dieses neue Feature erfordert nicht, dass neue Knotenpools erstellt werden. Stattdessen werden Ihre vorhandenen Knotenpools automatisch neu abgebildet.
Migrieren Sie die Betriebssystem-SKU Ihres Azure Linux-Container-Host-Knotenpools zu Azure Linux mit OS Guard
Migrieren Sie die Betriebssystem-SKU Ihres Knotenpools mithilfe des
az aks nodepool updateBefehls zu Azure Linux mit OS Guard. Dieser Befehl löst eine Neuabbildung Ihres Knotenpools aus, wobei die Betriebssystem-SKU Ihres Knotenpools von Azure Linux auf Azure Linux mit OS Guard aktualisiert wird. Die Änderung der Betriebssystem-SKU löst einen sofortigen Upgradevorgang aus, der mehrere Minuten dauert.az aks nodepool update --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME --os-sku AzureLinuxOSGuard --node-osdisk-type Managed --enable-fips-image --enable-secure-boot --enable-vtpmBeispielausgabe:
{ "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/nodepool1", "name": "nodepool1", "osSku": "AzureLinuxOSGuard", "provisioningState": "Succeeded" }
Hinweis
Wenn während der SKU-Migration des Betriebssystems Probleme auftreten, können Sie ein Rollback auf die vorherige Betriebssystem-SKU durchführen.
Überprüfen der SKU-Migration des Betriebssystems
Sobald die Migration auf Ihren Testclustern abgeschlossen ist, sollten Sie die folgenden Punkte überprüfen, um die erfolgreiche Migration zu bestätigen:
- Wenn Ihr Migrationsziel Azure Linux mit OS Guard ist, führen Sie den
kubectl get nodes -o wideBefehl aus. Die Ausgabe sollteMicrosoft Azure Linux 3.0als Betriebssystemimage und.azl3am Ende der Kernelversion anzeigen. - Führen Sie den Befehl
kubectl get pods -o wide -Aaus, um zu überprüfen, ob alle Ihre Pods und Daemonsets auf dem neuen Knotenpool ausgeführt werden. - Führen Sie den Befehl
kubectl get nodes --show-labelsaus, um zu überprüfen, ob alle Knotenbezeichnungen in Ihrem aktualisierten Knotenpool Ihren Erwartungen entsprechen.
Tipp
Sie sollten den Zustand Ihres Dienstes ein paar Wochen lang überwachen, bevor Sie Ihre Produktionscluster migrieren.
Zurücksetzen auf Ihre vorherige Betriebssystem-SKU
Wenn während der SKU-Migration des Betriebssystems Probleme auftreten, können Sie ein Rollback auf die vorherige Betriebssystem-SKU durchführen. Dazu müssen Sie das Betriebssystem-SKU-Feld in Ihrer Vorlage ändern und die Bereitstellung erneut übermitteln, wodurch ein weiterer Upgradevorgang ausgelöst wird und der Knotenpool in die vorherige Betriebssystem-SKU umgestaltet wird.
Hinweis
Die SKU-Migration des Betriebssystems unterstützt kein Rollback auf die Mariner-Betriebssystem-SKU.
- Führen Sie mithilfe des Befehls
az aks nodepool updateeinen Rollback zu Ihrer vorherigen Betriebssystem-SKU durch. Mit diesem Befehl wird die Betriebssystem-SKU für Ihren Knotenpool von Azure Linux mit OS Guard wieder auf Azure Linux aktualisiert.
Nächste Schritte
In diesem Lernprogramm haben Sie vorhandene Knoten mit OS Guard zu Azure Linux migriert. Im nächsten Tutorial erfahren Sie, wie Sie die Telemetrie zur Überwachung Ihrer Cluster aktivieren.