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 zu ACL. Sie können Ihre vorhandenen Knoten mit einer der folgenden Methoden migrieren:
- Entfernen Sie vorhandene Knotenpools, und fügen Sie neue ACL-Knotenpools hinzu.
- Führen Sie eine In-Place-Migration der Betriebssystem-SKU durch.
Die Befehle in diesem Lernprogramm verwenden die Umgebungsvariablen, die in Lernprogramm 1 festgelegt sind: Erstellen eines Clusters mit ACL für AKS.
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 ACL-Knoten aktualisieren.
Voraussetzungen
- In früheren Lernprogrammen haben Sie einen ACL-Cluster erstellt und bereitgestellt. Wenn Sie diese Schritte noch nicht abgeschlossen haben und sie ausführen möchten, lesen Sie Lernprogramm 1: Erstellen eines Clusters mit ACL für AKS.
- Azure Container Linux erfordert Azure CLI Version 2.86.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.
Überlegungen und Einschränkungen von Azure Container Linux (ACL)
Bevor Sie beginnen, lesen Sie die folgenden Überlegungen und Einschränkungen für ACL:
- ACL ist allgemein verfügbar ab AKS v1.34.
- ACL erfordert vertrauenswürdigen Start mit sicherem Start und vTPM. Nicht vertrauenswürdige Startvarianten sind nicht verfügbar.
- ACL auf Arm64 erfordert Cobalt-basierte SKUs (v6) für die Aktivierung der Trusted Launch-Kompatibilität.
-
NodeImageundNonesind die einzigen unterstützten Betriebssystemupgradekanäle (Os).UnmanagedundSecurityPatchsind aufgrund des unveränderlichen/usrVerzeichnisses nicht mit ACL kompatibel. - Artefaktstreaming wird nicht unterstützt.
- Pod Sandboxing wird nicht unterstützt.
- Vertrauliche virtuelle Computer (CVMs) werden nicht unterstützt.
- VMs der Generation 1 werden nicht unterstützt.
- FIPS-fähige Knoten werden nicht unterstützt.
Hinzufügen von ACL-Knotenpools und Entfernen vorhandener Knotenpools
Fügen Sie einen neuen ACL-Knotenpool mithilfe des
az aks nodepool addBefehls hinzu. Verwenden Sie--mode Systemdies, damit der neue Pool als System-Agent-Pool dienen kann, mit dem Sie den ursprünglichen Knotenpool im nächsten Schritt löschen können. Im folgenden Beispiel wird ein Knotenpool mit dem Namen "aclsystem " erstellt, der dem Cluster drei Knoten hinzufügt:az aks nodepool add \ --resource-group $RESOURCE_GROUP \ --cluster-name $CLUSTER_NAME \ --name aclsystem \ --mode System \ --os-sku AzureContainerLinux \ --node-count 3Beispielausgabe:
{ "id": "/subscriptions/xxxxx/resourceGroups/myACLResourceGroup/providers/Microsoft.ContainerService/managedClusters/myACLCluster/nodePools/aclsystem", "name": "aclsystem", "osSku": "AzureContainerLinux", "provisioningState": "Succeeded" }Entfernen Sie den vorhandenen Knotenpool mithilfe des
az aks nodepool deleteBefehls.az aks nodepool delete \ --resource-group $RESOURCE_GROUP \ --cluster-name $CLUSTER_NAME \ --name <existing-node-pool-name>
Direkte SKU-Migration des Betriebssystems
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.
- Das SKU-Migrationsfeature des Betriebssystems unterstützt das Umbenennen vorhandener Knotenpools nicht.
- Ubuntu, Azure Linux und AzureContainerLinux sind die einzigen unterstützten Linux OS-SKU-Migrationsziele.
- ACL erfordert Trusted Launch. Wenn dies in Ihrem Knotenpool noch nicht aktiviert ist, müssen Sie bei der Migration zur
AzureContainerLinux-OS-SKU--enable-secure-bootund--enable-vtpmeinschließen. Die VM-Größe Ihres Knotenpools muss auch den vertrauenswürdigen Start unterstützen. Wenn ihre aktuelle VM-Größe sie nicht unterstützt, müssen Sie die Größe des Knotenpools mit einer unterstützten VM-Größe ändern oder neu erstellen, bevor Sie die Migration durchführen. - VMs der Generation 1 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.
Voraussetzungen für die direkte Betriebssystem-SKU-Migration
- Ein vorhandener AKS-Cluster mit mindestens einem Linux-Knotenpool.
- Es wird empfohlen, sicherzustellen, dass Ihre Workloads erfolgreich auf ACL ausgeführt werden, indem Sie einen ACL-Cluster in einer Entwicklungs- oder Stagingumgebung bereitstellen, bevor Sie Produktionscluster migrieren.
- 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 genügend Pod Disruption Budget (PDB) verfügen, um AKS das Verschieben von Pods zwischen virtuellen Computern während des Upgrades zu ermöglichen.
- 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.
Zu ACL migrieren mithilfe von In-Place-Migration der Betriebssystem-SKU
Sie können Ihre vorhandenen Ubuntu- oder Azure Linux-Knotenpools zu ACL migrieren, indem Sie die Betriebssystem-SKU des Knotenpools ändern, der den Cluster über den standardmäßigen Upgradeprozess für Knotenimages rollt. Für diese Methode ist kein Erstellen neuer Knotenpools erforderlich. Stattdessen werden Ihre vorhandenen Knotenpools automatisch umgestalten.
Important
ACL erfordert Trusted Launch. Sie müssen --enable-secure-boot und --enable-vtpm einbeziehen, wenn Sie zur Betriebssystem-SKU AzureContainerLinux migrieren. Die VM-Größe Ihres Knotenpools muss auch den vertrauenswürdigen Start unterstützen.
Migrieren Sie die Betriebssystem-SKU Ihres Knotenpools mithilfe des az aks nodepool update Befehls zu ACL. Mit diesem Befehl wird ein Reimaging des Knotenpools ausgelöst. 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 <existing-node-pool-name> \
--os-sku AzureContainerLinux \
--enable-secure-boot \
--enable-vtpm
Beispielausgabe:
{
"id": "/subscriptions/xxxxx/resourceGroups/myACLResourceGroup/providers/Microsoft.ContainerService/managedClusters/myACLCluster/nodePools/nodepool1",
"name": "nodepool1",
"osSku": "AzureContainerLinux",
"provisioningState": "Succeeded"
}
Note
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
Überprüfen Sie nach Abschluss der Migration auf Ihren Testclustern Folgendes, um eine erfolgreiche Migration sicherzustellen:
Vergewissern Sie sich, dass die neuen Knoten ACL mit dem folgenden Befehl ausführen:
kubectl get nodes -o wideÜberprüfen Sie, ob alle Ihre Pods und Daemonsets im neuen Knotenpool ausgeführt werden, indem Sie den folgenden Befehl verwenden:
kubectl get pods -o wide -AÜberprüfen Sie mit dem folgenden Befehl, ob alle Knoten-Labels in Ihrem aktualisierten Knotenpool Ihren Erwartungen entsprechen:
kubectl get nodes --show-labelsÜberprüfen Sie die Knotenbildversion mithilfe des
az aks nodepool listBefehls.az aks nodepool list \ --resource-group $RESOURCE_GROUP \ --cluster-name $CLUSTER_NAME \ --query '[].{name: name, osSku: osSku, nodeImageVersion: nodeImageVersion}'Beispielausgabe:
[ { "name": "nodepool1", "nodeImageVersion": "AKSAzureContainerLinux-202606.01.0", "osSku": "AzureContainerLinux" } ]
Tip
Es wird empfohlen, den Status Ihres Diensts einige Wochen vor der Migration Ihrer Produktionscluster zu überwachen.
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. Ändern Sie dazu das SKU-Feld des Betriebssystems wieder in Ihren vorherigen Wert, und übermitteln Sie die Bereitstellung erneut, wodurch ein weiterer Upgradevorgang ausgelöst wird und der Knotenpool in die vorherige Betriebssystem-SKU umgestaltet wird.
Führen Sie mithilfe des Befehls az aks nodepool update einen Rollback zu Ihrer vorherigen Betriebssystem-SKU durch. In diesem Beispiel wird von ACL auf Azure Linux zurückgesetzt:
az aks nodepool update \
--resource-group $RESOURCE_GROUP \
--cluster-name $CLUSTER_NAME \
--name <existing-node-pool-name> \
--os-sku AzureLinux
Nächster Schritt
In diesem Tutorial haben Sie vorhandene Knoten nach ACL migriert. Im nächsten Lernprogramm erfahren Sie, wie Sie Telemetrie und Überwachung für Ihren ACL-Cluster aktivieren.