Supprimer un serveur PostgreSQL avec Azure Arc
Ce document décrit les étapes permettant de supprimer un serveur de votre installation Azure Arc.
Remarque
En tant que fonctionnalité en préversion, la technologie présentée dans cet article est soumise aux conditions d’utilisation supplémentaires des préversions de Microsoft Azure.
Les dernières mises à jour sont disponibles dans les notes de publication.
Supprimer le serveur
À titre d’exemple, considérons que nous voulons supprimer l’instance postgres01 de l’installation ci-dessous :
az postgres server-arc list --k8s-namespace <namespace> --use-k8s
Name State
---------- -------
postgres01 Ready
Le format général de la commande delete est le suivant :
az postgres server-arc delete -n <server name> --k8s-namespace <namespace> --use-k8s
Lorsque vous exécutez cette commande, il vous est demandé de confirmer la suppression du serveur. Si vous utilisez des scripts pour automatiser les suppressions, vous devez utiliser le paramètre --force pour ignorer la demande de confirmation. Par exemple, vous exécutez une commande telle que :
az postgres server-arc delete -n <server name> --force --k8s-namespace <namespace> --use-k8s
Pour plus d’informations sur la commande delete, exécutez la commande suivante :
az postgres server-arc delete --help
Supprimer le serveur utilisé dans cet exemple
az postgres server-arc delete -n postgres01 --k8s-namespace <namespace> --use-k8s
Récupérer les revendications de volume persistant (PVC) Kubernetes
Une revendication PVC (PersistentVolumeClaim) est une demande de stockage émise par un utilisateur du cluster Kubernetes lors de la création et de l’ajout de stockage à un serveur PostgreSQL. La suppression d’un groupe de serveurs ne supprime pas les PVC associés. C'est la procédure normale. L’objectif est d’aider l’utilisateur à accéder aux fichiers de base de données en cas de suppression accidentelle de l’instance. La suppression des PVC n’est pas obligatoire. Toutefois, elle est recommandé. Si vous ne récupérez pas ces PVC, vous finirez par avoir des erreurs, car votre cluster Kubernetes pensera manquer d’espace disque ou l’utilisation du même nom de serveur PostgreSQL lors de la création d’un nouveau groupe pourrait provoquer des incohérences. Pour récupérer les PVC, procédez comme suit :
1. Répertoriez les PVC du groupe de serveurs que vous avez supprimés
Pour répertorier les PVC, exécutez la commande suivante :
kubectl get pvc [-n <namespace name>]
Celle-ci retourne la liste des PVC, en particulier les PVC du groupe de serveurs que vous avez supprimés. Par exemple :
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
Il y a 8 PVC pour ce groupe de serveurs.
2. Supprimez chacun des PVC
Supprimez les PVC de données et de journaux pour le serveur PostgreSQL que vous avez supprimé.
Le format général de cette commande est le suivant :
kubectl delete pvc <name of pvc> [-n <namespace name>]
Par exemple :
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
Chacune de ces commandes kubectl confirme la réussite de la suppression du PVC. Par exemple :
persistentvolumeclaim "data-postgres01-0" deleted
Remarque
Comme indiqué, le fait de ne pas supprimer les PVC peut finalement conduire votre cluster Kubernetes à une situation où il lèvera des erreurs. Certaines de ces erreurs peuvent inclure la possibilité de créer, lire, mettre à jour ou supprimer des ressources de l’API Kubernetes, ou de pouvoir exécuter des commandes comme az arcdata dc export
, car les pods de contrôleur peuvent être éliminés des nœuds Kubernetes en raison de ce problème de stockage (comportement Kubernetes normal).
Par exemple, vous pouvez voir des messages dans les journaux, similaires à ce qui suit :
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.
Étape suivante
Créer un serveur PostgreSQL avec Azure Arc