Eliminar un servidor postgreSQL habilitado para Azure Arc
En este documento se describen los pasos para eliminar un grupo de servidores de la configuración de Azure Arc.
Nota:
Como característica en versión preliminar, la tecnología que se presenta en este artículo está sujeta a los términos de uso complementarios para las versiones preliminares de Microsoft Azure.
Las actualizaciones más recientes están disponibles en las notas de la versión.
Eliminación del servidor
Por ejemplo, supongamos que queremos eliminar la instancia postgres01 de la configuración siguiente:
az postgres server-arc list --k8s-namespace <namespace> --use-k8s
Name State
---------- -------
postgres01 Ready
El formato general del comando de eliminación es el siguiente:
az postgres server-arc delete -n <server name> --k8s-namespace <namespace> --use-k8s
Al ejecutar este comando, se le solicitará que confirme la eliminación del servidor. Si usa scripts para automatizar las eliminaciones, deberá usar el parámetro --force para omitir la solicitud de confirmación. Por ejemplo, ejecutaría un comando como el siguiente:
az postgres server-arc delete -n <server name> --force --k8s-namespace <namespace> --use-k8s
Para más detalles sobre el comando de eliminación, ejecute:
az postgres server-arc delete --help
Eliminación del servidor que se usa en este ejemplo
az postgres server-arc delete -n postgres01 --k8s-namespace <namespace> --use-k8s
Reclamación de las notificaciones de volumen persistente (PVC) de Kubernetes
Un objeto PersistentVolumeClaim (PVC) es una solicitud de almacenamiento que realiza un usuario del clúster de Kubernetes al crear y agregar almacenamiento a un servidor PostgreSQL. La eliminación de un grupo de servidores no elimina sus PVC asociadas. es así por diseño. La intención es ayudar al usuario a tener acceso a los archivos de base de datos en caso de que la eliminación de la instancia fuera accidental. La eliminación de las PVC no es obligatoria. Sin embargo, se recomienda. Si no reclama estas PVC, al final terminará con errores, ya que el clúster de Kubernetes considerará que se está quedando sin espacio en disco. También es posible que la utilización del mismo servidor PostgreSQL provoque incoherencias al crear uno nuevo. Para reclamar las PVC, realice los pasos siguientes:
1. Enumerar las PVC del grupo de servidores que ha eliminado
Para enumerar las PVC, ejecute este comando:
kubectl get pvc [-n <namespace name>]
Devuelve la lista de PVC y, en particular, las PVC del grupo de servidores que ha eliminado. Por ejemplo:
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
Hay 8 PVC para este grupo de servidores.
2. Eliminar cada PVC
Elimine las PVC de datos y de registro del servidor PostgreSQL que ha eliminado.
El formato general de este comando es:
kubectl delete pvc <name of pvc> [-n <namespace name>]
Por ejemplo:
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
Cada uno de estos comandos kubectl confirmará la eliminación correcta del PVC. Por ejemplo:
persistentvolumeclaim "data-postgres01-0" deleted
Nota:
Tal y como se indicó, si no elimina las PVC podría llevar al clúster de Kubernetes a una situación en la que se produzcan errores. Algunos de estos errores pueden incluir la incapacidad de crear, leer, actualizar y eliminar recursos de la API de Kubernetes, o bien de ejecutar comandos como az arcdata dc export
, ya que los pods del controlador se pueden expulsar de los nodos de Kubernetes debido a este problema de almacenamiento (el comportamiento normal de Kubernetes).
Por ejemplo, puede ver mensajes en los registros similares a:
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.
Paso siguiente
Creación de un servidor PostgreSQL habilitado para Azure Arc