Desinstala Cloud Service Mesh
En esta página, se explica cómo desinstalar Cloud Service Mesh.
Desinstala Cloud Service Mesh
Usa los siguientes comandos para desinstalar todos los componentes de Cloud Service Mesh. Por medio de estos comandos, también se borran el espacio de nombres istio-system
y todas las definiciones de los recursos personalizados (CRD), incluidas las CRD que aplicaste.
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 Cloud Service Mesh administrado automáticamente a través de la API de Fleet, si está habilitado.
Inhabilita la inserció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-labels
El 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-injection
en el resultado en la columnaLABELS
, quítalo:kubectl label namespace YOUR_NAMESPACE istio-injection-
Si no ves las etiquetas
istio.io/rev
oistio-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.
Si usas Cloud Service Mesh administrado, quita todos los recursos de
controlplanerevision
del clúster:kubectl delete controlplanerevision RELEASE_CHANNEL -n istio-system
En el ejemplo anterior, RELEASE_CHANNEL es el canal de versiones que aprovisionaste, como
asm-managed
,asm-managed-rapid
oasm-managed-stable
.Borra los webhooks del clúster, si existen.
Cloud Service Mesh en el clúster
Borra la
validatingwebhooksconfiguration
y lamutatingwebhookconfiguration
.kubectl delete validatingwebhookconfiguration,mutatingwebhookconfiguration -l operator.istio.io/component=Pilot
Cloud Service Mesh administrada
A. Borra la
validatingwebhooksconfiguration
.kubectl delete validatingwebhookconfiguration istiod-istio-system-mcp
B. Borra la
mutatingwebhookconfiguration
.kubectl delete mutatingwebhookconfiguration istiod-RELEASE_CHANNEL
Una 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. Si implementaste un plano de control administrado, se borra de forma automática con el paso anterior.
Para quitar el plano de control en el clúster, ejecuta el siguiente comando:
istioctl x uninstall --purge
Si no hay otros planos de control, puedes borrar el espacio de nombres
istio-system
para 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.Borra los espacios de nombres
istio-system
yasm-system
:kubectl delete namespace istio-system asm-system --ignore-not-found=true
Verifica si las eliminaciones se realizaron de forma correcta:
kubectl get ns
El resultado debe indicar un estado
Terminating
y mostrarlo como se indica a continuación. De lo contrario, es posible que debas borrar de forma manual los recursos restantes en el espacio de nombres y volver a intentarlo.NAME STATUS AGE istio-system Terminating 71m asm-system Terminating 71m
- Si borrarás tus clústeres o ya lo hiciste, asegúrate de que cada clúster esté sin registrar en tu flota.
Si usas Cloud Service Mesh administrado, borra la implementación de
mdp-controller
:kubectl delete deployment mdp-controller -n kube-system
Borra el daemonset
istio-cni-node
:kubectl delete daemonset istio-cni-node -n kube-system