Upgraden eines direkt verbundenen Azure Arc-Datencontrollers mithilfe der CLI
In diesem Artikel erfahren Sie, wie Sie einen direkt verbundenen Datencontroller mit Azure Arc-Unterstützung mithilfe der Azure CLI (az
) upgraden.
Während des Upgrades eines Datencontrollers kann ein Upgrade für Teile der Datensteuerungsebene, z. B. benutzerdefinierte Ressourcendefinitionen (Custom Resource Definitions, CRDs) und Container durchgeführt werden. Ein Upgrade des Datencontrollers hat keine Downtime für die Datendienste (SQL Managed Instance oder PostgreSQL-Server) zur Folge.
Voraussetzungen
Sie benötigen einen direkt verbundenen Datencontroller mit imageTag v1.0.0_2021-07-30 oder höher.
Führen Sie Folgendes aus, um die Version zu überprüfen:
kubectl get datacontrollers -n <namespace> -o custom-columns=BUILD:.spec.docker.imageTag
Installieren von Tools
Bevor Sie mit den Aufgaben in diesem Artikel fortfahren können, müssen Sie Folgendes installieren:
Beispiele in diesem Artikel verwenden eckige Klammern < ... >
, um Werte zu identifizieren, die Sie ersetzen müssen, bevor Sie das Skript ausführen. Ersetzen Sie die Klammern und die Werte in den Klammern.
Die Version der arcdata
-Erweiterung und die Imageversion stehen zueinander in Beziehung. Überprüfen Sie anhand des Versionsprotokolls, ob Sie über die richtige Version der arcdata
-Erweiterung verfügen, die der Imageversion entspricht, auf die Sie ein Upgrade durchführen möchten.
Anzeigen verfügbarer Images und Auswahl einer Version
Pullen Sie die Liste der verfügbaren Images für den Datencontroller mit dem folgenden Befehl:
az arcdata dc list-upgrades --k8s-namespace <namespace>
Der obige Befehl gibt eine Ausgabe wie im folgenden Beispiel zurück:
Found 2 valid versions. The current datacontroller version is v1.0.0_2021-07-30.
v1.1.0_2021-11-02
v1.0.0_2021-07-30
Upgraden des Datencontrollers
In diesem Abschnitt wird gezeigt, wie Sie einen direkt verbundenen Datencontroller upgraden.
Hinweis
Einige der Datendienstebenen und -modi sind allgemein verfügbar, einige befinden sich in der Vorschau. Wenn Sie allgemein verfügbare Dienste und Vorschaudienste auf demselben Datencontroller installieren, können Sie kein direktes Upgrade ausführen. Für ein Upgrade löschen Sie alle nicht allgemein verfügbaren (GA) Datenbankinstanzen. Die Liste der allgemein verfügbaren Dienste und Vorschaudienste finden Sie in den Versionshinweisen.
Informationen zu unterstützten Upgradepfaden finden Sie unter Durchführen eines Upgrades für Azure Arc-fähige Datendienste.
Authentifizieren
Sie müssen eine Verbindung mit einem Kubernetes-Cluster herstellen und sich authentifizieren sowie einen vorhandenen Kubernetes-Kontext auswählen, bevor Sie mit dem Upgrade des Azure Arc-Datencontrollers beginnen.
kubectl config use-context <Kubernetes cluster name>
Upgraden des Datencontrollers
Sie können zuerst einen Testlauf durchführen. Der Testlauf überprüft, ob die Registrierung vorhanden ist, sowie das Versionsschema und das Autorisierungstoken des privaten Repositorys (sofern verwendet). Um einen Testlauf auszuführen, verwenden Sie den Parameter --dry-run
in dem Befehl az arcdata dc upgrade
. Beispiel:
az arcdata dc upgrade --resource-group <resource group> --name <data controller name> --desired-version <version> --dry-run [--no-wait]
Die Ausgabe für den vorherigen Befehl lautet:
Preparing to upgrade dc arcdc in namespace arc to version <version-tag>.
****Dry Run****
Arcdata Control Plane would be upgraded to: <version-tag>
Nachdem die Arc Datencontroller-Erweiterung aktualisiert wurde, führen Sie den Befehl az arcdata dc upgrade
aus und geben dabei das Bild-Tag mit --desired-version
an.
az arcdata dc upgrade --resource-group <resource group> --name <data controller name> --desired-version <version> [--no-wait]
Beispiel:
az arcdata dc upgrade --resource-group rg-arcds --name dc01 --desired-version v1.7.0_2022-05-24 [--no-wait]
Überwachen des Upgradestatus
Sie können den Fortschritt des Upgrades mit der CLI überwachen.
Befehlszeilenschnittstelle (CLI)
az arcdata dc status show --resource-group <resource group>
Das Upgrade ist ein zweiteiliger Prozess. Zuerst erfolgt das Upgrade des Controllers, dann das Upgrade des Überwachungsstapels. Wenn das Upgrade abgeschlossen ist, sieht die Ausgabe wie folgt aus:
Ready
Problembehandlung
Wenn die gewünschte Version auf eine bestimmte Version festgelegt ist, versucht der Bootstrapperauftrag solange ein Upgrade darauf durchzuführen, bis er erfolgreich ist. Wenn das Upgrade erfolgreich ist, wird die Eigenschaft RunningVersion
der Spezifikation auf die neue Version aktualisiert. Bei Upgrades können Fehler auftreten, wenn z. B. das Imagetag falsch ist, keine Verbindung mit der Registrierung oder dem Repository hergestellt werden kann, den Containern nicht genügend CPU oder Arbeitsspeicher zugewiesen ist oder der Speicherplatz nicht ausreicht.
Führen Sie den folgenden Befehl aus, um festzustellen, ob einer der Pods den Status
Error
anzeigt oder eine hohe Anzahl von Neustarts aufweist:kubectl get pods --namespace <namespace>
Um sich Ereignisse anzusehen, um zu sehen, ob ein Fehler vorliegt, führen Sie Folgendes aus
kubectl describe pod <pod name> --namespace <namespace>
Führen Sie zum Abrufen einer Liste der Container in den Pods aus
kubectl get pods <pod name> --namespace <namespace> -o jsonpath='{.spec.containers[*].name}*'
Um die Protokolle für einen Container zu erhalten, führen Sie Folgendes aus
kubectl logs <pod name> <container name> --namespace <namespace>
Um häufige Fehler zu sehen und zu erfahren, wie Sie diese beheben können, gehen Sie zu Ressourcen zur Problembehandlung.