Tutorial: Migrieren von Knoten zu Azure Linux

In diesem Tutorial – Teil 3 von 5 – migrieren Sie Ihre vorhandenen Knoten zu Azure Linux. Sie können Ihre vorhandenen Knoten mit einer der folgenden Methoden zu Azure Linux migrieren:

  • Entfernen Sie vorhandene Knotenpools und fügen Sie neue Azure Linux-Knotenpools hinzu.
  • Direkte SKU-Migration des Betriebssystems (Vorschau).

Wenn keine Knoten für die Migration zu Azure Linux vorhanden sind, fahren Sie mit dem nächsten Tutorial fort. In späteren Tutorials erfahren Sie, wie Sie Telemetriedaten und Überwachung in Ihren Clustern aktivieren und Azure Linux-Knoten aktualisieren.

Voraussetzungen

  • In den vorherigen Tutorials haben Sie einen Cluster für den Azure Linux-Containerhost für AKS erstellt und bereitgestellt. Für dieses Tutorial müssen Sie Ihrem vorhandenen Cluster einen Azure Linux-Knotenpool hinzufügen. Wenn Sie diesen Schritt noch nicht ausgeführt haben und fortfahren möchten, beginnen Sie mit Tutorial 2: Hinzufügen eines Azure Linux-Knotenpools zu einem vorhandenen AKS-Cluster.

    Hinweis

    Wenn Sie einen neuen Azure Linux-Knotenpool hinzufügen, müssen Sie mindestens einen als --mode System hinzufügen. Andernfalls lässt AKS nicht zu, dass Sie Ihren vorhandenen Knotenpool löschen.

  • Sie benötigen die aktuellste Version der Azure-Befehlszeilenschnittstelle. Führen Sie az --version aus, um die Version zu ermitteln. Informationen zum Durchführen einer Installation oder eines Upgrades finden Sie bei Bedarf unter Installieren der Azure CLI.

Fügen Sie Azure Linux-Knotenpools hinzu und entfernen Sie vorhandene Knotenpools.

  1. Fügen Sie einen neuen Azure Linux-Kontenpool mit dem Befehl az aks nodepool add hinzu. Dieser Befehl fügt Ihrem Cluster einen neuen Knotenpool mit dem Flag --mode System hinzu, wodurch er zu einem Systemknotenpool wird. Systemknotenpools sind für Azure Linux-Cluster erforderlich.

    az aks nodepool add --resource-group <resource-group-name> --cluster-name <cluster-name> --name <node-pool-name> --mode System --os-sku AzureLinux
    
  2. Entfernen Sie Ihre vorhandenen Knoten mithilfe des Befehls az aks nodepool delete.

    az aks nodepool delete --resource-group <resource-group-name> --cluster-name <cluster-name> --name <node-pool-name>
    

Direkte SKU-Migration des Betriebssystems (Vorschau)

Sie können jetzt Ihre bestehenden Ubuntu-Knotenpools auf Azure Linux migrieren, indem Sie die Betriebssystem-SKU des Knotenpools ändern, wodurch der Cluster den standardmäßigen Knotenimage-Upgradeprozess durchläuft. Dieses neue Feature erfordert nicht die Erstellung neuer Knotenpools.

Begrenzungen

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 Terraform, PowerShell oder das Azure-Portal verfügbar.
  • Das Feature SKU-Migration des Betriebssystems kann bestehende Knotenpools nicht umbenennen.
  • Ubuntu und Azure Linux sind die einzigen unterstützten Ziele für die SKU-Migration des Linux-Betriebssystems.
  • Das AgentPool-Feld count darf während der Migration nicht geändert werden.
  • Eine Ubuntu-Betriebssystem-SKU, für die UseGPUDedicatedVHD aktiviert ist, kann keine SKU-Migration des Betriebssystems durchführen.
  • Eine Ubuntu-Betriebssystem-SKU, für die CVM 20.04 aktiviert ist, kann keine SKU-Migration des Betriebssystems durchführen.
  • Knotenpools, für die Kata aktiviert ist, können keine SKU-Migration des Betriebssystems durchführen.
  • Die SKU-Migration des Windows-Betriebssystems wird nicht unterstützt.

Voraussetzungen

Installieren Sie die aks-preview-Erweiterung.

Wichtig

AKS-Previewfunktionen stehen gemäß dem Self-Service- und Aktivierungsprinzip zur Verfügung. Vorschauversionen werden „wie besehen“ und „wie verfügbar“ bereitgestellt und sind von den Vereinbarungen zum Service Level 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:

  1. Installieren Sie die „aks-preview“-Erweiterung mithilfe des Befehls „az extension add“.

    az extension add --name aks-preview
    
  2. Aktualisieren Sie die Erweiterung mit dem Befehl az extension update, um sicherzustellen, dass Sie über die neueste Version verfügen.

    az extension update --name aks-preview
    

Registrieren des OSSKUMigrationPreview-Featureflags

  1. Registrieren Sie die Feature-Flag OSSKUMigrationPreview in Ihrem Abonnement mithilfe des Befehls az feature register.

    az feature register --namespace Microsoft.ContainerService --name OSSKUMigrationPreview
    
  2. Überprüfen Sie den Registrierungsstatus mit dem Befehl az feature list.

    az feature list -o table --query "[?contains(name, 'Microsoft.ContainerService/OSSKUMigrationPreview')].{Name:name,State:properties.state}"
    

    Ihre Ausgabe sollte in etwa dem folgendem Beispiel entsprechen:

    Name                                            State
    ----------------------------------------------  -------
    Microsoft.ContainerService/OSSKUMigrationPreview  Registered
    
  3. Aktualisieren Sie die Registrierung des Feature-Flag OSSKUMigrationPreview mithilfe des Befehls az provider register.

    az provider register --namespace Microsoft.ContainerService
    

Migrieren der Betriebssystem-SKU Ihres Ubuntu-Knotenpools

  • Migrieren Sie die Betriebssystem-SKU Ihres Knotenpools mithilfe des Befehls az aks nodepool update zu Azure Linux. Mit diesem Befehl wird die Betriebssystem-SKU für Ihren Knotenpool von Ubuntu auf Azure Linux aktualisiert. Die Änderung der Betriebssystem-SKU löst einen sofortigen Upgradevorgang aus, der mehrere Minuten dauert.

    az aks nodepool update --resource-group <resource-group-name> --cluster-name <cluster-name> --name <node-pool-name> --os-sku AzureLinux
    

    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 ist, führen Sie den Befehl kubectl get nodes -o wide aus. Die Ausgabe sollte CBL-Mariner/Linux als Betriebssystemimage und .cm2 am Ende der Kernelversion anzeigen.
  • Führen Sie den Befehl kubectl get pods -o wide -A aus, 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-labels aus, 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.

Ausführen der SKU-Migration des Betriebssystems auf Ihren Produktionsclustern

  1. Aktualisieren Sie Ihre vorhandenen Vorlagen, um OSSKU=AzureLinux festzulegen. In ARM-Vorlagen verwenden Sie "OSSKU: "AzureLinux" im Abschnitt agentPoolProfile. In Bicep verwenden Sie osSku: "AzureLinux" im Abschnitt agentPoolProfile. Stellen Sie sicher, dass Ihre apiVersion auf 2023-07-01 oder höher festgelegt ist.
  2. Stellen Sie Ihre ARM-Vorlage für den Cluster erneut bereit, um die neue Einstellung OSSKU anzuwenden. Während dieser Bereitstellung verhält sich Ihr Cluster so, als ob ein Knotenimageupgrade ausgeführt wird. Ihr Cluster erhöht die Kapazität und bootet dann die vorhandenen Knoten einen nach dem anderen mit dem neuesten AKS-Image Ihrer neuen Betriebssystem-SKU neu.

Rollback

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 Feld für die Betriebssystem-SKU in Ihrer Vorlage ändern und die Bereitstellung erneut übermitteln. Dies löst einen weiteren Upgradevorgang aus und setzt den Knotenpool auf seine vorherige Betriebssystem-SKU zurück.

  • Führen Sie mithilfe des Befehls az aks nodepool update einen Rollback zu Ihrer vorherigen Betriebssystem-SKU durch. Dieser Befehl führt eine Aktualisierung der Betriebssystem-SKU für Ihren Knotenpool von Azure Linux zurück auf Ubuntu durch.

    az aks nodepool update --resource-group myResourceGroup --cluster-name myAKSCluster --name mynodepool --os-sku Ubuntu
    

Nächste Schritte

In diesem Tutorial haben Sie bestehende Knoten mit einer der folgenden Methoden zu Azure Linux migriert:

  • Entfernen Sie vorhandene Knotenpools und fügen Sie neue Azure Linux-Knotenpools hinzu.
  • Direkte SKU-Migration des Betriebssystems (Vorschau).

Im nächsten Tutorial erfahren Sie, wie Sie die Telemetrie zur Überwachung Ihrer Cluster aktivieren.