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 (PVCs) opnieuw opvragen

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 PVC's niet verwijderd. Dit is standaard. Het doel is om de gebruiker te helpen toegang te krijgen tot de databasebestanden, als het verwijderen van het exemplaar per ongeluk is gebeurd. Het verwijderen van PVC's is niet verplicht. Het wordt echter wel aanbevolen. Als u deze PVC's niet terugvordert, zult u uiteindelijk fouten krijgen omdat uw Kubernetes-cluster denkt dat het onvoldoende schijfruimte heeft, of het gebruiken van dezelfde PostgreSQL-servernaam tijdens het aanmaken van een nieuwe kan tot inconsistenties leiden. Voer de volgende stappen uit om de PVC's vrij te maken:

Beschrijf 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, in het bijzonder de PVC'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 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. Voorbeeld:

persistentvolumeclaim "data-postgres01-0" deleted

Notitie

Zoals aangegeven, kan het niet verwijderen van de PVC's uiteindelijk uw Kubernetes-cluster in een situatie brengen waarin het fouten geeft. Sommige van deze fouten kunnen het onvermogen zijn om resources te maken, lezen, bijwerken of verwijderen uit de Kubernetes-API. Ook kan er sprake zijn van problemen bij het uitvoeren van opdrachten zoals az arcdata dc export, omdat de controllerpods uit de Kubernetes-knooppunten kunnen worden verwijderd 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