Migra el paquete de Istio a Cloud Service Mesh

Estos pasos son específicos de la versión agrupada de Istio que se incluye de forma predeterminada en el “complemento de GKE” de Knative serving.

Dado que la versión del paquete de Istio se desinstala cuando realizaste el proceso de desinstalación del “complemento de GKE” de Knative serving, sigue estos pasos en esta página, instala Cloud Service Mesh en tu clúster y, luego, configura tu puerta de enlace de entrada.

Antes de comenzar

Descripción general

En general, el proceso para instalar Cloud Service Mesh cuando se migra desde la versión agrupada de Istio es el mismo que se usa para realizar una instalación limpia de Cloud Service Mesh. En este proceso, la versión 1.18 de Cloud Service Mesh se instala con el plano de control en el clúster.

Instala la versión 1.18 de Cloud Service Mesh

Usa la documentación de instalación de Cloud Service Mesh para instalar Cloud Service Mesh.

Antes de comenzar:

  • Para la migración, la puerta de enlace de entrada debe instalarse por separado durante los pasos de configuración posteriores. La secuencia de comandos de instalación no instalará la puerta de enlace de entrada de forma predeterminada.

  • Opcional: Si usas la autoridad certificadora de Cloud Service Mesh (CA de Mesh), también debes incluir la marca --ca mesh_ca con la secuencia de comandos de instalación de Cloud Service Mesh.

Para instalar Cloud Service Mesh, haz lo siguiente:

Sigue los pasos que se indican en la documentación de Cloud Service Mesh: Instala la versión 1.18 de Cloud Service Mesh.

Ejemplo

El siguiente es un ejemplo del comando predeterminado que incluye la marca obligatoria:

./asmcli install \
  --project_id ${PROJECT_ID} \
  --cluster_name ${CLUSTER_NAME} \
  --cluster_location ${CLUSTER_LOCATION} \
  --ca mesh_ca \
  --output_dir DIR_PATH \
  --enable_all

Configura la entrada de Cloud Service Mesh

En esta sección, la secuencia de comandos de migración se usa para crear la puerta de enlace de entrada de Cloud Service Mesh dentro del espacio de nombres gke-system.

Para la migración, el espacio de nombres gke-system se usa de modo que la puerta de enlace de entrada se coloque dentro del mismo espacio de nombres que usó el “Istio agrupado” recientemente que se quitó. Por lo tanto, los Pods de entrada de Cloud Service Mesh pueden apropiarse del tráfico sin problemas sin necesidad de realizar cambios de configuración en el servicio de entrada. Por ejemplo, no necesitas configurar una nueva dirección IP externa.

  1. A fin de crear la puerta de enlace de entrada dentro del espacio de nombres gke-system, ejecuta el siguiente comando para iniciar la secuencia de comandos de migración:

    ./migration-addon.sh --command set-up-asm-ingress
    

    El resultado de la terminal durante el proceso es similar al siguiente:

    Setting up Cloud Service Mesh ingress. Note that the Cloud Service Mesh ingress is not
    serving traffic at this step.
    namespace/gke-system labeled
    deployment.apps/istio-ingressgateway created
    horizontalpodautoscaler.autoscaling/istio-ingressgateway created
    role.rbac.authorization.k8s.io/istio-ingressgateway-sds created
    rolebinding.rbac.authorization.k8s.io/istio-ingressgateway-sds created
    Cloud Service Mesh ingress is successfully installed.
    
  2. Para verificar que la puerta de enlace de entrada istio-ingrerssgateway se ejecute en el espacio de nombres gke-system, ejecuta el siguiente comando:

    kubectl get deployment istio-ingressgateway -n gke-system
    

    Ten en cuenta que la cantidad de Pods istio-ingressgateway es 0 de forma intencional. Después de instalar el componente de flota de Knative serving, hay un paso posterior para migrar todo el tráfico a la entrada de Cloud Service Mesh.

¿Qué sigue?

Instala el componente de flota

Revertir

Si necesitas revertir los cambios que realizaste en los pasos anteriores, puedes usar la secuencia de comandos de migración para lo siguiente:

  • Borrar la puerta de enlace de entrada de Cloud Service Mesh.
  • Desinstalar Cloud Service Mesh.

Para revertir la configuración y la instalación de Anthos Service Mesh, haz lo siguiente:

  1. Ejecuta el siguiente comando para iniciar la reversión.

    ./migration-addon.sh --command rollback-set-up-asm-ingress
    

    El resultado de la terminal durante el proceso es similar al siguiente:

    Deleting Cloud Service Mesh ingress
    deployment.apps "istio-ingressgateway" deleted
    horizontalpodautoscaler.autoscaling "istio-ingressgateway" deleted
    role.rbac.authorization.k8s.io "istio-ingressgateway-sds" deleted
    rolebinding.rbac.authorization.k8s.io "istio-ingressgateway-sds" deleted
    Cloud Service Mesh ingress is successfully deleted.
    
  2. Para verificar que se haya quitado la puerta de enlace de entrada de Cloud Service Mesh, verifica que el servicio istio-ingressgateway ya no exista en el espacio de nombres gke-system:

    kubectl get deployment istio-ingressgateway -n gke-system
    
  3. Desinstala Cloud Service Mesh

  4. Para revertir todos los cambios al estado original de tus instalaciones, revierte el “complemento de GKE” de Knative serving.