Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se muestra cómo quitar componentes de Azure Container Storage del clúster de Azure Kubernetes Service (AKS). Para limpiar los recursos, también puede eliminar el clúster de AKS o todo el grupo de recursos.
Importante
Este artículo se aplica a Azure Container Storage (versión 2.x.x). Si tiene Azure Container Storage (versión 1.x.x) instalado en el clúster de AKS, quítelo siguiendo estos pasos.
Eliminar el acelerador distribuido para el almacenamiento en la nube
Antes de eliminar el acelerador distribuido para el almacenamiento en la nube:
- Detenga o vuelva a configurar las cargas de trabajo que utilizan el servicio de detección de caché.
- Confirme que los archivos de modelo y los conjuntos de datos originales están presentes en Azure Blob Storage.
- Detenga las cargas de trabajo de precalentamiento activas o espere a que finalicen.
- Registre la información de diagnóstico si va a quitar el acelerador distribuido para el almacenamiento en la nube debido a un error.
Elimina cada recurso Cache mientras el controlador sigue en ejecución para que pueda limpiar los recursos del servidor de caché. Sustituya los valores por los de la caché que desea eliminar y repita el procedimiento para cada recurso de caché antes de quitar el controlador:
CACHE_NAMESPACE=<cache-namespace>
CACHE_NAME=<cache-name>
kubectl delete cache "$CACHE_NAME" --namespace "$CACHE_NAMESPACE" --wait=true
kubectl get cache --namespace "$CACHE_NAMESPACE"
kubectl get pods --namespace "$CACHE_NAMESPACE" --selector app=cacheserver
Confirme que se hayan eliminado todos los recursos de caché y los pods de servidor de caché antes de deshabilitar la extensión administrada. No desinstale directamente la versión de Helm de la extensión.
Deshabilitar la extensión administrada
La extensión gestiona el DaemonSet de requisito previo NVMe. No elimines ese DaemonSet por separado; desactivar el DACS lo elimina.
Deshabilite únicamente el acelerador distribuido para el almacenamiento en la nube y mantenga instalados los tipos de almacenamiento de volúmenes persistentes de Almacenamiento de contenedores de Azure:
az aks update \
--name <cluster-name> \
--resource-group <resource-group> \
--disable-azure-container-storage distributedAccelerator
Desactivar DACS elimina su extensión gestionada, su controlador y el DaemonSet de requisito previo de NVMe gestionado por la extensión en kube-system, pero conserva la Cache CRD.
Comprobación de la eliminación
Esta limpieza elimina copias efímeras en caché y componentes DACS. No elimina archivos de modelos fuente ni conjuntos de datos en Azure Blob Storage.
Compruebe que no quede ningún recurso de caché ni ningún pod de servidor de caché y que se hayan eliminado el controlador y el DaemonSet de requisitos previos administrado:
kubectl get cache -A
kubectl get pods -A --selector app=cacheserver
kubectl get deployment dacs-manager --namespace kube-system --ignore-not-found
kubectl get daemonset dacs-prereq --namespace kube-system --ignore-not-found
Confirma que no queda ninguna extensión con nombre distributedaccelerator :
az k8s-extension list \
--cluster-type managedClusters \
--cluster-name <cluster-name> \
--resource-group <resource-group> \
--query "[?name=='distributedaccelerator'].{name:name,state:provisioningState}" \
--output table
Warning
No elimines manualmente la definición de recurso personalizada (CRD) del DACS a menos que el soporte de Azure te indique hacerlo. Eliminar el CRD elimina todos los recursos Cache del clúster.
Después de la eliminación, quite las etiquetas de nodo, las identidades, las asignaciones de roles, los secretos y las reglas de supervisión que se utilicen exclusivamente para DACS y que no sean necesarios para otras cargas de trabajo. No elimines identidades compartidas ni asignaciones de roles de Blob sin comprobar sus otros usos.
Elimina el espacio de nombres de la caché solo si está dedicado a DACS y no contiene recursos que necesites conservar.
Eliminación de toda la instalación de Azure Container Storage (instalador y controladores CSI)
Elimine todas las notificaciones de volumen persistente (PVC) y todos los volúmenes persistentes (PV) antes de desinstalar la extensión. La eliminación de Azure Container Storage sin limpiar estos recursos puede interrumpir la ejecución de cargas de trabajo. Asegúrese de que no hay cargas de trabajo ni objetos StorageClass basados en Azure Container Storage antes de continuar.
Quite Azure Container Storage por completo mediante la ejecución del siguiente comando de la CLI de Azure. Reemplace <cluster-name> y <resource-group> con sus propios valores.
az aks update -n <cluster-name> -g <resource-group> --disable-azure-container-storage
Eliminación de la extensión con Terraform
Si aprovisionó Azure Container Storage con Terraform, quite el recurso de extensión correspondiente de la configuración y aplique el cambio para que el resultado coincida con el flujo de trabajo de la CLI.
Elimine el
azurerm_kubernetes_cluster_extensionbloque (o establezcacount = 0) en la configuración de Terraform y guarde el archivo.Revise el plan para confirmar que Terraform destruye solo el recurso de extensión.
terraform planAplique el plan para eliminar la extensión. Terraform muestra el mismo resultado que el comando de la CLI: el recurso de extensión se quita y AKS ya no informa de Azure Container Storage como habilitado.
terraform apply
Volver a habilitar Azure Container Storage
Si ha quitado previamente controladores CSI para uno o varios tipos de almacenamiento, puede volver a habilitar el tipo de almacenamiento mediante la ejecución del siguiente comando de la CLI de Azure.
az aks update -n <cluster-name> -g <resource-group> --enable-azure-container-storage <storage-type>
Comportamiento esperado:
- Especificar un tipo de almacenamiento es opcional. Cuando no se proporciona ningún tipo de almacenamiento, solo se instala el componente del instalador de Azure Container Storage, si aún no está presente.
- Cuando se especifica un tipo de almacenamiento, se instala el controlador CSI correspondiente. Si ya existe una clase StorageClass para ese tipo de almacenamiento, solo se instala el controlador; De lo contrario, se crea una clase StorageClass predeterminada como parte de la instalación.
Eliminación del clúster de AKS
Para eliminar un clúster AKS y todos los volúmenes persistentes, ejecute el siguiente comando de la CLI de Azure. Reemplace <resource-group> y <cluster-name> con sus propios valores.
az aks delete --resource-group <resource-group> --name <cluster-name>
AKS normalmente elimina su grupo de recursos de nodos administrados cuando elimina el clúster. Si una comprobación separada de la ausencia de ese grupo devuelve Forbidden, se registre que la verificación es incompleta: el error no prueba ni la presencia ni la ausencia. Haz que un administrador con acceso de lectura a ese grupo de recursos de nodos verifique la eliminación si es necesario. Un inventario vacío del grupo de recursos del clúster no confirma la ausencia del grupo de recursos de nodos independiente.
Si el clúster de AKS se creó con Terraform, también puede quitarlo ejecutando el comando siguiente.
terraform destroy
Este comando elimina todos los recursos que Terraform administra en el directorio de trabajo actual. Esto incluye el clúster, el grupo de recursos y la extensión Azure Container Storage. Ejecute este comando solo cuando quiera quitar toda la implementación.
Eliminar el grupo de recursos
También puede utilizar el comando az group delete para eliminar el grupo de recursos y todos los recursos que contiene. Reemplace <resource-group> por el nombre del grupo de recursos.
az group delete --name <resource-group>