Share via


Löschen eines Azure Arc-fähigen PostgreSQL-Servers

In diesem Dokument werden die Schritte zum Löschen eines Servers aus Ihrem Azure Arc-Setup beschrieben.

Hinweis

Als Previewfunktion unterliegt die in diesem Artikel vorgestellte Technologie den zusätzlichen Nutzungsbedingungen für Microsoft Azure-Vorschauen.

Die neuesten Updates sind in den Versionshinweisenverfügbar.

Server löschen

Beispielsweise möchten wir die Instanz postgres01 aus dem folgenden Setup löschen:

az postgres server-arc list --k8s-namespace <namespace> --use-k8s
Name        State  
----------  -------
postgres01  Ready  

Das allgemeine Format des Löschbefehls lautet:

az postgres server-arc delete -n <server name> --k8s-namespace <namespace> --use-k8s

Wenn Sie diesen Befehl ausführen, werden Sie aufgefordert, das Löschen des Servers zu bestätigen. Wenn Sie Skripts zum Automatisieren von Löschvorgängen verwenden, müssen Sie den Parameter „--force“ verwenden, um die Bestätigungsanforderung zu umgehen. Beispielsweise können Sie einen Befehl wie den folgenden ausführen:

az postgres server-arc delete -n <server name> --force --k8s-namespace <namespace> --use-k8s

Um weitere Informationen zum Löschbefehl zu erhalten, führen Sie Folgendes aus:

az postgres server-arc delete --help 

Löschen des in diesem Beispiel verwendeten Servers

az postgres server-arc delete -n postgres01 --k8s-namespace <namespace> --use-k8s

Freigeben von Ansprüchen für persistente Kubernetes-Volumes (PVCs)

Ein PersistentVolumeClaim (PVC) ist eine Anforderung zum Speichern durch einen Benutzer aus dem Kubernetes-Cluster beim Erstellen und Hinzufügen von Speichervolumen zu einem PostgreSQL-Server. Durch das Löschen einer Servergruppe werden nicht deren zugeordnete PVCs (Persistent Volume Claims, Ansprüche für persistente Volumes) entfernt. Dies ist beabsichtigt. Auf diese Weise kann der Benutzer einfacher auf die Datenbankdateien zugreifen, falls eine Instanz versehentlich gelöscht wurde. Das Löschen von PVCs ist nicht obligatorisch, Es wird aber empfohlen. Wenn Sie diese PVCs nicht zurückfordern, kann es zu Fehlern kommen, da Ihr Kubernetes-Cluster denkt, dass ihm der Speicherplatz ausgeht oder die Verwendung desselben PostgreSQL-Servernamens beim Erstellen einer neuen Gruppe zu Inkonsistenzen führen kann. Führen Sie die folgenden Schritte aus, um die PVCs freizugeben:

1. Auflisten der PVCs für die Servergruppe, die Sie gelöscht haben

Führen Sie den folgenden Befehl aus, um die PVCs aufzulisten:

kubectl get pvc [-n <namespace name>]

Mit dem Befehl wird die Liste der PVCs zurückgegeben – insbesondere der PVCs für die von Ihnen gelöschte Servergruppe. Beispiel:

kubectl get pvc
NAME                                         STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
data-few7hh0k4npx9phsiobdc3hq-postgres01-0   Bound    pvc-72ccc225-dad0-4dee-8eae-ed352be847aa   5Gi        RWO            default        2d18h
data-few7hh0k4npx9phsiobdc3hq-postgres01-1   Bound    pvc-ce6f0c51-faed-45ae-9472-8cdf390deb0d   5Gi        RWO            default        2d18h
data-few7hh0k4npx9phsiobdc3hq-postgres01-2   Bound    pvc-5a863ab9-522a-45f3-889b-8084c48c32f8   5Gi        RWO            default        2d18h
data-few7hh0k4npx9phsiobdc3hq-postgres01-3   Bound    pvc-00e1ace3-1452-434f-8445-767ec39c23f2   5Gi        RWO            default        2d15h
logs-few7hh0k4npx9phsiobdc3hq-postgres01-0   Bound    pvc-8b810f4c-d72a-474a-a5d7-64ec26fa32de   5Gi        RWO            default        2d18h
logs-few7hh0k4npx9phsiobdc3hq-postgres01-1   Bound    pvc-51d1e91b-08a9-4b6b-858d-38e8e06e60f9   5Gi        RWO            default        2d18h
logs-few7hh0k4npx9phsiobdc3hq-postgres01-2   Bound    pvc-8e5ad55e-300d-4353-92d8-2e383b3fe96e   5Gi        RWO            default        2d18h
logs-few7hh0k4npx9phsiobdc3hq-postgres01-3   Bound    pvc-f9e4cb98-c943-45b0-aa07-dd5cff7ea585   5Gi        RWO            default        2d15h

Für diese Servergruppe gibt es 8 PVCs.

2. Löschen aller PVCs

Löschen Sie die Daten- und Protokoll-PVCs für den PostgreSQL-Server, den Sie gelöscht haben.

Das allgemeine Format des Befehls lautet:

kubectl delete pvc <name of pvc>  [-n <namespace name>]

Beispiel:

kubectl delete pvc data-few7hh0k4npx9phsiobdc3hq-postgres01-0
kubectl delete pvc data-few7hh0k4npx9phsiobdc3hq-postgres01-1
kubectl delete pvc data-few7hh0k4npx9phsiobdc3hq-postgres01-2
kubectl delete pvc data-few7hh0k4npx9phsiobdc3hq-postgres01-3
kubectl delete pvc logs-few7hh0k4npx9phsiobdc3hq-postgres01-0
kubectl delete pvc logs-few7hh0k4npx9phsiobdc3hq-postgres01-1
kubectl delete pvc logs-few7hh0k4npx9phsiobdc3hq-postgres01-2
kubectl delete pvc logs-few7hh0k4npx9phsiobdc3hq-postgres01-3

Mit jedem dieser kubectl-Befehle wird das erfolgreiche Löschen des PVCs bestätigt. Beispiel:

persistentvolumeclaim "data-postgres01-0" deleted

Hinweis

Wie bereits erwähnt, kann das Nichtlöschen der PVCs dazu führen, dass Ihr Kubernetes-Cluster letztlich in eine Situation gerät, in der er Fehler verursacht. Einige dieser Fehler können sein, dass Ressourcen nicht über die Kubernetes-API erstellt, gelesen, aktualisiert oder gelöscht oder dass Befehle wie az arcdata dc export nicht ausgeführt werden können, da die Controllerpods aufgrund dieses Speicherproblems (normales Kubernetes-Verhalten) von den Kubernetes-Knoten entfernt werden können.

Beispielsweise können in den Protokollen Meldungen wie die folgende angezeigt werden:

Annotations:    microsoft.com/ignore-pod-health: true  
Status:         Failed  
Reason:         Evicted  
Message:        The node was low on resource: ephemeral-storage. Container controller was using 16372Ki, which exceeds its request of 0.

Nächster Schritt

Erstellen eines PostgreSQL-Servers mit Azure Arc-Unterstützung