Desinstalar Cloud Service Mesh
En esta página se explica cómo desinstalar Cloud Service Mesh.
Desinstalar Cloud Service Mesh
Usa los siguientes comandos para desinstalar todos los componentes de Cloud Service Mesh. Estos comandos también eliminan el espacio de nombres istio-system y todas las definiciones de recursos personalizados (CRDs), incluidas las que hayas aplicado.
Para evitar que se interrumpa el tráfico de la aplicación, haz lo siguiente:
- Cambia cualquier política de mTLS STRICT a PERMISSIVE.
- Elimina cualquier AuthorizationPolicy que pueda bloquear el tráfico.
Inhabilita la gestión automática en este clúster (tanto si la has aplicado directamente como si lo has hecho mediante la configuración predeterminada de la flota):
gcloud container fleet mesh update --management manualInhabilita la inyección automática de sidecar en tus espacios de nombres, si está habilitada. Ejecuta el siguiente comando para mostrar las etiquetas de espacio de nombres:
kubectl get namespace YOUR_NAMESPACE --show-labelsEl resultado debería ser similar al siguiente:
NAME STATUS AGE LABELS demo Active 4d17h istio.io/rev=asm-181-5
Si ves
istio.io/rev=en la salida de la columnaLABELS, quítalo:kubectl label namespace YOUR_NAMESPACE istio.io/rev-Si ves
istio-injectionen la salida de la columnaLABELS, quítalo:kubectl label namespace YOUR_NAMESPACE istio-injection-Si no ves las etiquetas
istio.io/revoistio-injection, significa que la inyección automática no está habilitada en el espacio de nombres.Reinicia las cargas de trabajo a las que se les hayan insertado sidecars para quitar los proxies.
Si usas Cloud Service Mesh gestionado, elimina los
controlplanerevisionrecursos del clúster:kubectl delete controlplanerevision RELEASE_CHANNEL -n istio-systemRELEASE_CHANNEL es el canal de lanzamiento que has aprovisionado, como
asm-managed,asm-managed-rapidoasm-managed-stable.Elimina los webhooks de tu clúster, si los hay.
Cloud Service Mesh en clúster
Elimina
validatingwebhooksconfigurationymutatingwebhookconfiguration.kubectl delete validatingwebhookconfiguration,mutatingwebhookconfiguration -l operator.istio.io/component=PilotCloud Service Mesh gestionado
A. Elimina el
validatingwebhooksconfiguration.kubectl delete validatingwebhookconfiguration istiod-istio-system-mcpB. Elimina el
mutatingwebhookconfiguration.kubectl delete mutatingwebhookconfiguration istiod-RELEASE_CHANNELUna vez que se hayan iniciado todas las cargas de trabajo y no se observen proxies, podrás eliminar de forma segura el plano de control del clúster para detener la facturación. Si has implementado un plano de control gestionado, se elimina automáticamente en el paso anterior.
Para quitar el plano de control del clúster, ejecuta el siguiente comando:
istioctl x uninstall --purgeSi no hay más planos de control, puedes eliminar el espacio de nombres
istio-systempara deshacerte de todos los recursos de Cloud Service Mesh. De lo contrario, elimina los servicios correspondientes a las revisiones de Cloud Service Mesh. De esta forma, no se eliminan los recursos compartidos, como los CRDs.Elimina los espacios de nombres
istio-systemyasm-system:kubectl delete namespace istio-system asm-system --ignore-not-found=trueComprueba si las eliminaciones se han realizado correctamente:
kubectl get nsEl resultado debe indicar el estado
Terminatingy mostrarse como se indica a continuación. De lo contrario, es posible que tengas que eliminar manualmente los recursos restantes en los espacios de nombres e intentarlo de nuevo.NAME STATUS AGE istio-system Terminating 71m asm-system Terminating 71m- Si vas a eliminar tus clústeres o ya lo has hecho, asegúrate de que cada clúster esté desregistrado de tu flota.
Si has habilitado la configuración predeterminada de la flota de Cloud Service Mesh gestionado y quieres inhabilitarla para futuros clústeres, inhabilítala. Puedes saltarte este paso si solo vas a desinstalar el controlador de un clúster.
gcloud container hub mesh disable --fleet-default-member-config --project FLEET_PROJECT_IDDonde FLEET_PROJECT_ID es el ID de tu proyecto de host de flota.
Si usas Cloud Service Mesh gestionado, elimina la implementación
mdp-controller:kubectl delete deployment mdp-controller -n kube-systemComprueba si el mapa de configuración
istio-cni-plugin-configestá presente:kubectl get configmap istio-cni-plugin-config -n kube-systemSi está presente, elimina el
istio-cni-plugin-configconfigmap:kubectl delete configmap istio-cni-plugin-config -n kube-systemElimina el conjunto de daemons
istio-cni-node:kubectl delete daemonset istio-cni-node -n kube-system
Cuando completes estos pasos, todos los componentes de Cloud Service Mesh, incluidos los proxies, las autoridades de certificación del clúster y los roles y enlaces de RBAC, se eliminarán sistemáticamente del clúster. Durante el proceso de instalación, se conceden los permisos necesarios a una cuenta de servicio propiedad de Google para establecer los recursos de la malla de servicios en el clúster. Estas instrucciones de desinstalación no revocan estos permisos, lo que permite reactivar Cloud Service Mesh sin problemas en el futuro.