Inhabilita o desinstala Istio on GKE

En esta guía, se muestra cómo inhabilitar o desinstalar por completo el complemento Istio on GKE de un clúster.

Si inhabilitas el complemento Istio on GKE, se inhabilita la administración de complementos de Istio en el clúster, pero se conservan la instalación y la configuración de Istio en el clúster. Cuando inhabilitas el complemento Istio on GKE, Google ya no administra la instalación de Istio en el clúster. Eres responsable de administrar la configuración y el ciclo de vida de Istio en el clúster. Para inhabilitar el complemento Istio on GKE, sigue las instrucciones en la sección Inhabilita el complemento Istio on GKE.

En lugar de inhabilitar el complemento, puedes desinstalar el complemento Istio on GKE por completo. Si desinstalas el complemento Istio on GKE, se quitan por completo Istio y todas las opciones de configuración asociadas del clúster. Para desinstalar el complemento Istio on GKE, sigue las instrucciones en la sección Desinstala Istio de un clúster.

Inhabilita el complemento Istio on GKE

Puedes inhabilitar el complemento Istio on GKE si ya no deseas que Google administre tu instalación de Istio. Se conservan la instalación y la configuración de Istio. Para ello, asegúrate de ejecutar las versiones 1.17.17-gke.3100+, 1.18.16-gke.1600+ o 1.19.8-gke.1600 o posteriores de GKE. Al inhabilitar el complemento Istio on GKE en versiones anteriores de GKE, se desinstala por completo Istio (la instalación y la configuración de Istio), lo que puede provocar un tiempo de inactividad en tus servicios.

  1. Inhabilita Istio on GKE mediante la ejecución del siguiente comando:

    gcloud beta container clusters update my-cluster --project=$PROJECT_ID \
      --update-addons=Istio=DISABLED
    

Desinstalar Istio de un clúster

La manera más sencilla de quitar el complemento de Istio on GKE es borrar el clúster. Sin embargo, si el clúster tiene una aplicación existente que debe conservarse, la inhabilitación de Istio requiere los siguientes pasos:

  1. Asegúrese de que el modo mTLS predeterminado esté configurado en Permissive mTLS.
  2. Cambia el tráfico de la puerta de enlace de entrada de Istio.
  3. Desactiva la inserción automática de sidecar, si está habilitada:
    kubectl label namespace your-namespace istio-injection=disabled
    
  4. Reiniciar los pods de la aplicación (por ejemplo, mediante el reinicio progresivo) para quitar los sidecars de Envoy
  5. Quita el plano de control de Istio con gcloud:
    gcloud beta container clusters update my-cluster --project=$PROJECT_ID \
      --update-addons=Istio=DISABLED
    
  6. Borra CustomResource IstioOperator:

    kubectl delete istiooperator -n istio-system istio-1-6-11-gke-0
    

    Según la versión del clúster, es posible que debas reemplazar istio-1-6-11-gke-0 por el nombre del CustomResource instalado en el clúster. Puedes obtener el nombre si ejecutas el siguiente comando:

    kubectl get istiooperator -n istio-system\
    
  7. Espera unos minutos para que el operador de Istio borre todos los recursos que instaló.

  8. Borra el espacio de nombres istio-system si existe:

    kubectl delete ns istio-system

  9. Borra los recursos del clúster de Istio restantes:

    for i in $(kubectl get clusterrole,clusterrolebinding,crd | grep istio | cut -f1 -d' '); do kubectl delete $i; done