Migra el paquete de Istio del paquete a Cloud Service Mesh

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

Dado que la versión empaquetada de Istio se desinstala cuando realizaste el proceso de desinstalación del “complemento de GKE” de Knative serving, los pasos de esta página instalan Cloud Service Mesh en tu clúster y, luego, configuran la 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 integrada de Istio es el mismo proceso que 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, sigue estos pasos:

Sigue los pasos de 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 requerida:

./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 la malla de servicios de Cloud

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

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

  1. Si quieres 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 intencionalmente 0. Después de instalar el componente de la 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 mediante los pasos anteriores, puedes usar la secuencia de comandos de migración para lo siguiente:

  • Borra la puerta de enlace de entrada de Cloud Service Mesh.
  • Desinstala Cloud Service Mesh.

Para revertir la configuración y la instalación de Cloud 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, comprueba 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 continuar con la reversión de todos los cambios en el estado original de las instalaciones, revierte el "complemento de GKE" de Knative serving.