Desinstala Cloud Service Mesh en el clúster
En esta página, se explica cómo desinstalar Cloud Service Mesh en el clúster si usas las APIs de Istio. Si usas las APIs de Compute Engine, no es necesario realizar ningún paso. Consulta la descripción general de Cloud Service Mesh para comprender las diferencias.
Si sigues estas instrucciones para desinstalar Cloud Service Mesh en el clúster, se quitarán todas las configuraciones.
Si desinstalas Cloud Service Mesh administrado, sigue la guía de desinstalación administrada en su lugar.
Si migras de un clúster a un clúster administrado, sigue la guía de migración.
Desinstala Cloud Service Mesh
Usa los siguientes comandos para desinstalar todos los componentes de Cloud Service Mesh.
Para evitar la interrupción del tráfico de la aplicación:
- Cambia las políticas STRICT de mTLS a PERMISSIVE.
- Quita cualquier AuthorizationPolicy que pueda bloquear el tráfico.
Inhabilita la inserción automática de sidecar en tus espacios de nombres. Si está habilitada: Ejecuta el siguiente comando para mostrar las etiquetas del espacio de nombres:
kubectl get namespace YOUR_NAMESPACE --show-labelsEl resultado es similar a este:
NAME STATUS AGE LABELS demo Active 4d17h istio.io/rev=asm-181-5
Si ves
istio.io/rev=en el resultado en la columnaLABELS, quítalo:kubectl label namespace YOUR_NAMESPACE istio.io/rev-Si ves
istio-injectionen el resultado en la columnaLABELS, quítalo:kubectl label namespace YOUR_NAMESPACE istio-injection-Si no ves las etiquetas
istio.io/revoistio-injection, la inyección automática no se habilitó en el espacio de nombres.Reinicia tus cargas de trabajo que tienen incorporados sidecars para quitar los proxies.
Borra
validatingwebhooksconfigurationymutatingwebhookconfigurationdel clúster, si existen:kubectl delete validatingwebhookconfiguration,mutatingwebhookconfiguration -l operator.istio.io/component=Pilot,istio.io/owned-by!=mesh.googleapis.comUna vez que aparezcan todas las cargas de trabajo y no se vean proxies, puedes borrar de forma segura el plano de control en el clúster para detener la facturación.
Para quitar el plano de control en el clúster, ejecuta el siguiente comando:
istioctl uninstall --purgeSi no hay otros planos de control, puedes borrar el espacio de nombres
istio-systempara deshacerte de todos los recursos de Cloud Service Mesh. De lo contrario, borra los servicios correspondientes a las revisiones de Cloud Service Mesh. Esto evita borrar recursos compartidos, como CRD.De manera opcional, quita los CR de Istio, las CRD de Istio, el mapa de configuración istio-(revision), el mapa de configuración asm-options, los espacios de nombres
istio-systemyasm-systempara quitar la malla de servicios del clúster o usarlos en otra malla de servicios compatible con la API de Istio.Quita los CR de Istio:
kubectl delete gateways,virtualservices,destinationrules,serviceentries,envoyfilters,sidecars,peerauthentications,requestauthentications,authorizationpolicies,telemetries,wasmplugins,proxyconfigs --all --all-namespacesQuita las CRD de Istio:
kubectl get crds -o name | grep --color=never 'istio.io' | xargs kubectl deleteQuita el mapa de configuración istio-(revision). Puedes omitir este paso si borras el espacio de nombres
istio-system.kubectl delete configmap istio-RELEASE_CHANNEL -n istio-systemReemplaza RELEASE_CHANNEL por tu canal de versiones
Quita el espacio de nombres
istio-system:kubectl delete namespace istio-system --ignore-not-found=trueQuita el espacio de nombres
asm-system:kubectl delete namespace asm-system --ignore-not-found=trueVerifica si las eliminaciones se realizaron de forma correcta:
kubectl get ns ``` The output should indicate a `Terminating` state and return as shown, otherwise you might have to manually delete any remaining resources in the namespaces and try again. ```sh NAME STATUS AGE istio-system Terminating 71m asm-system Terminating 71m ```
Si borras tus clústeres o ya los borraste, asegúrate de que cada clúster no esté registrado en tu flota.
Si planeas dejar de usar Cloud Service Mesh a nivel de la flota, inhabilita la función de malla de servicios para el proyecto host de tu flota.
gcloud container hub mesh disable --project FLEET_PROJECT_IDEn el ejemplo anterior, FLEET_PROJECT_ID es el ID del proyecto host de la flota.
Una vez que completes estos pasos, todos los componentes de Cloud Service Mesh, incluidos los proxies, las autoridades certificadoras en el clúster y los roles y vinculaciones de RBAC, se quitarán de forma sistemática del clúster. Durante el proceso de instalación, se otorgan los permisos necesarios a una cuenta de servicio propiedad de Google para establecer los recursos de la malla de servicios dentro del clúster. Estas instrucciones de desinstalación no revocan estos permisos, lo que permite una reactivación sin problemas de Cloud Service Mesh en el futuro.