Dela via


Ta bort en Azure Arc-aktiverad PostgreSQL-server

I det här dokumentet beskrivs stegen för att ta bort en server från din Azure Arc-konfiguration.

Kommentar

Som en förhandsgranskningsfunktion omfattas tekniken som presenteras i den här artikeln av kompletterande användningsvillkor för Förhandsversioner av Microsoft Azure.

De senaste uppdateringarna är tillgängliga i viktig information.

Ta bort servern

Låt oss till exempel överväga att ta bort postgres01-instansen från konfigurationen nedan:

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

Det allmänna formatet för borttagningskommandot är:

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

När du kör det här kommandot uppmanas du att bekräfta borttagningen av servern. Om du använder skript för att automatisera borttagningar måste du använda parametern --force för att kringgå bekräftelsebegäran. Du kan till exempel köra ett kommando som:

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

Om du vill ha mer information om borttagningskommandot kör du:

az postgres server-arc delete --help 

Ta bort servern som används i det här exemplet

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

Återta Kubernetes Persistent Volume Claims (PVCs)

En PersistentVolumeClaim (PVC) är en begäran om lagring av en användare från Kubernetes-klustret när du skapar och lägger till lagring på en PostgreSQL-server. Om du tar bort en servergrupp tas inte dess associerade datorer bort. Det här är avsiktligt. Avsikten är att hjälpa användaren att komma åt databasfilerna om instansen tas bort av misstag. Det är inte obligatoriskt att ta bort PVC:er. Men det rekommenderas. Om du inte återtar dessa PVC:er får du till slut fel eftersom Kubernetes-klustret tror att diskutrymmet eller användningen av samma PostgreSQL-servernamn tar slut när du skapar ett nytt kan orsaka inkonsekvenser. Gör så här för att frigöra PVC:er:

1. Visa en lista över datorerna för den servergrupp som du tog bort

Kör följande kommando för att visa en lista över datorerna:

kubectl get pvc [-n <namespace name>]

Den returnerar listan över datorer, särskilt datorerna för den servergrupp som du tog bort. Till exempel:

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

Det finns 8 datorer för den här servergruppen.

2. Ta bort var och en av datorerna

Ta bort data- och logg-PVC:erna för den PostgreSQL-server som du tog bort.

Det allmänna formatet för det här kommandot är:

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

Till exempel:

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

Var och en av dessa kubectl-kommandon bekräftar att PVC-koden har raderats. Till exempel:

persistentvolumeclaim "data-postgres01-0" deleted

Kommentar

Om du inte tar bort datorerna kan det så småningom hända att kubernetes-klustret hamnar i en situation där det utlöser fel. Några av dessa fel kan vara att det inte går att skapa, läsa, uppdatera, ta bort resurser från Kubernetes-API:et eller att kunna köra kommandon som az arcdata dc export kontrollantpoddar kan avlägsnas från Kubernetes-noderna på grund av det här lagringsproblemet (normalt Kubernetes-beteende).

Du kan till exempel se meddelanden i loggarna som liknar:

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.

Gå vidare

Skapa Azure Arc-aktiverad PostgreSQL-server