Migrar el Istio incluido 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 Knative Serving.

Como la versión empaquetada de Istio se desinstala cuando realizas 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, a continuación, configuran tu gateway de entrada.

Antes de empezar

Información general

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

Instalar la versión 1.18 de Cloud Service Mesh

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

Antes de empezar

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

  • Opcional: Si usas la autoridad de certificación 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: Instalar Cloud Service Mesh versión 1.18

Ejemplo

A continuación, se muestra 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

Configurar el ingreso de Cloud Service Mesh

En esta sección, se usa la secuencia de comandos de migración para crear la pasarela de entrada de Cloud Service Mesh en el espacio de nombres gke-system.

Para la migración, se usa el espacio de nombres gke-system para que la puerta de enlace de entrada se coloque en el mismo espacio de nombres que el "Istio empaquetado", que se ha eliminado recientemente. Por lo tanto, los pods de entrada de Cloud Service Mesh pueden hacerse cargo del tráfico sin problemas y sin necesidad de cambiar la configuración del servicio de entrada. Por ejemplo, no es necesario que configure una nueva dirección IP externa.

  1. Para crear la pasarela de entrada en el 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
    

    La salida de la terminal durante el proceso es similar a la 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. Verifica que la pasarela de entrada istio-ingrerssgateway se esté ejecutando en el espacio de nombres gke-system ejecutando el siguiente comando:

    kubectl get deployment istio-ingressgateway -n gke-system
    

    Ten en cuenta que el número de pods istio-ingressgateway es intencionadamente 0. Después de instalar el componente de flota de Knative Serving, hay que migrar todo el tráfico al ingreso de Cloud Service Mesh.

Siguientes pasos

Instalar el componente de flota

Restauración

Si necesitas deshacer los cambios que has hecho siguiendo los pasos anteriores, puedes usar la secuencia de comandos de migración para hacer lo siguiente:

  • Elimina la pasarela de entrada de Cloud Service Mesh.
  • Desinstala Cloud Service Mesh.

Para restaurar 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
    

    La salida de la terminal durante el proceso es similar a la 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 ha eliminado la puerta de enlace de entrada de la malla de servicios de Cloud, comprueba que el servicio istio-ingressgateway ya no existe en el espacio de nombres gke-system:

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

  4. Para seguir revirtiendo todos los cambios al estado original de tus instalaciones, revierte el complemento de GKE de Knative Serving.