Delen via


Een PostgreSQL-server met Azure Arc verwijderen

In dit document worden de stappen beschreven voor het verwijderen van een server uit uw Azure Arc-installatie.

Notitie

Omdat het om een preview-functie gaat, is de technologie die in dit artikel wordt behandeld onderhevig aan de Aanvullende gebruiksvoorwaarden voor Microsoft Azure Previews.

De meest recente updates zijn beschikbaar in de releaseopmerkingen.

De server verwijderen

Laten we bijvoorbeeld overwegen om het postgres01-exemplaar te verwijderen uit de onderstaande installatie:

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

De algemene indeling van de opdracht Verwijderen is:

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

Wanneer u deze opdracht uitvoert, wordt u gevraagd om het verwijderen van de server te bevestigen. Als u scripts gebruikt om verwijderingen te automatiseren, moet u de parameter --force gebruiken om de bevestigingsaanvraag te omzeilen. U kunt bijvoorbeeld een opdracht uitvoeren zoals:

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

Voer de volgende opdracht uit voor meer informatie over de opdracht Verwijderen:

az postgres server-arc delete --help 

De server verwijderen die in dit voorbeeld wordt gebruikt

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

De Kubernetes Persistent Volume Claims (PVC's) vrijmaken

Een PersistentVolumeClaim (PVC) is een aanvraag voor opslag door een gebruiker van een Kubernetes-cluster tijdens het maken en toevoegen van opslag aan een PostgreSQL-server. Als u een servergroep verwijdert, worden de bijbehorende HPC's niet verwijderd. Dit is standaard. De bedoeling is de gebruiker te helpen bij het openen van de databasebestanden voor het geval het verwijderen van het exemplaar onbedoeld is. Het verwijderen van PVC's is niet verplicht. Het wordt echter wel aanbevolen. Als u deze PVC's niet vrijstelt, krijgt u uiteindelijk fouten omdat uw Kubernetes-cluster denkt dat er onvoldoende schijfruimte is of dat dezelfde PostgreSQL-servernaam wordt gebruikt tijdens het maken van een nieuwe. Voer de volgende stappen uit om de PVC's vrij te maken:

1. Vermeld de PVC's voor de servergroep die u hebt verwijderd

Voer deze opdracht uit om de PVC's weer te geven:

kubectl get pvc [-n <namespace name>]

Hiermee wordt de lijst met PVC's geretourneerd, met name de HPC's voor de servergroep die u hebt verwijderd. Voorbeeld:

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

Er zijn 8 PVC's voor deze servergroep.

2. Verwijder elk van de PVC's

Verwijder de gegevens en logboek-PVC's voor de PostgreSQL-server die u hebt verwijderd.

De algemene indeling van deze opdracht is:

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

Voorbeeld:

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

Elk van deze kubectl-opdrachten bevestigt het succesvol verwijderen van het PVC. Bijvoorbeeld:

persistentvolumeclaim "data-postgres01-0" deleted

Notitie

Zoals aangegeven, kan het niet verwijderen van de PVC's uiteindelijk uw Kubernetes-cluster krijgen in een situatie waarin er fouten optreden. Sommige van deze fouten kunnen bijvoorbeeld geen resources maken, lezen, bijwerken, verwijderen uit de Kubernetes-API of het kunnen uitvoeren van opdrachten zoals az arcdata dc export de controllerpods worden verwijderd uit de Kubernetes-knooppunten vanwege dit opslagprobleem (normaal Kubernetes-gedrag).

U ziet bijvoorbeeld berichten in de logboeken die vergelijkbaar zijn met:

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.

Volgende stap

PostgreSQL-server met Azure Arc maken