Actualiza Knative serving en Google Cloud a flotas

Usa esta guía para migrar tu instalación existente de Knative serving en Google Cloud para usar una flota con Cloud Service Mesh.

La versión de “prueba gratuita” anterior de Knative serving, que también se conoce como el “complemento de GKE”, incluye una versión integrada y reducida de Istio 1.4 que ya no es compatible a partir de Anthos 1.8.

La actualización de la instalación de Knative serving para usar flotas y Cloud Service Mesh proporciona una mejor actualización de productos y administración de productos, además de una integración mejorada en todas las funciones de GKE Enterprise. Obtén más información sobre las novedades y los cambios.

Existen dos rutas para migrar tu instalación:

  • El proceso recomendado es migrar tus cargas de trabajo del clúster en el que está instalada la versión anterior de Knative serving (“complemento de GKE”) a un clúster nuevo en el que instalaste y configuraste una instalación de flota nueva de Knative serving. Si bien este proceso es relativamente sencillo y ideal, si tus cargas de trabajo entregan tráfico, la migración a un clúster recién creado causará tiempo de inactividad. Para realizar esta ruta de migración en el clúster nuevo, debes hacer lo siguiente:

    1. Instala Knative serving como un componente de flota.
    2. Implementa los servicios en la instalación nueva.

      Por ejemplo, puedes usar las instrucciones para implementar una revisión de un servicio existente para descargar un archivo de configuración YAML para cada uno de los servicios y, luego, implementar cada archivo YAML en el clúster nuevo en la instalación de la flota de Knative serving:

      1. En la instalación antigua, puedes ejecutar el siguiente comando para descargar un archivo de configuración YAML, como service.yaml:

        gcloud run services describe SERVICE --format export > service.yaml

        Reemplaza SERVICE por el nombre de tu servicio de Knative serving.

      2. En la instalación del componente de flota nuevo, puedes ejecutar el siguiente comando para implementar el mismo service.yaml:

        gcloud run deploy service.yaml --cluster CLUSTER_NAME --cluster-location CLUSTER_LOCATION --project PROJECT_ID

        Reemplaza lo siguiente:

        • CLUSTER_NAME por el nombre del clúster en la instalación nueva del componente de la flota de Knative serving

        • CLUSTER_LOCATION por la zona o región del clúster en la instalación nueva del componente de flota de Knative serving

        • PROJECT_ID por el ID de tu proyecto de Google Cloud en el que reside la instalación nueva del componente de flota de la entrega de Knative serving.

  • Alternativa: Para los usuarios que no pueden crear un clúster nuevo y deben migrar su instalación activa de Knative serving, puedes seguir los pasos de esta guía para:

    • Quita los recursos del complemento de GKE y de los recursos de Istio anteriores.
    • Instala los recursos de la flota nuevos.
    • Migra a Cloud Service Mesh y, luego, migra tu tráfico.
    • Limpia todos los recursos inactivos y sin usar.

En la siguiente guía, se explica el proceso alternativo de actualización de la instalación existente y activa de Knative serving, incluidas todas las cargas de trabajo, para cumplir con los requisitos de GKE Enterprise 1.8 y versiones posteriores.

Antes de comenzar

  • Este proceso de actualización debe realizarse solo en los clústeres de Google Kubernetes Engine que instalaron Knative serving antes como complemento de GKE.

    Verifica si el "complemento de GKE" está instalado.

    Para verificar si la instalación de Knative serving es el “complemento de GKE”, ejecuta el siguiente comando:

    gcloud container clusters describe \
    CLUSTER_NAME \
    --region CLUSTER_LOCATION \
    --project PROJECT_ID --format='get(addonsConfig.cloudRunConfig)'

    Reemplaza lo siguiente:

    • CLUSTER_NAME por el nombre del clúster.
    • CLUSTER_LOCATION por la ubicación en la que se encuentra el clúster.
    • PROJECT_ID por el ID del proyecto de Google Cloud.

    Resultados:

    • Complemento de GKE” no instalado:
      • No se muestra nada en tu terminal si nunca se instaló el complemento.
      • Se muestra disabled=true si el complemento se desinstaló antes.
    • "Complemento de GKE" está instalado: Si el complemento está instalado en tu clúster, los detalles de configuración del complemento se muestran. Ejemplo: loadBalancerType=LOAD_BALANCER_TYPE_EXTERNAL
    Ejemplo:
    En el siguiente ejemplo, se muestra que Knative serving se instaló en el clúster my-addon-cluster a través del “Complemento de GKE”, que está configurado para controlar tráfico externo:
    gcloud container clusters describe my-addon-cluster \
    --region us-central1-c --project my-gcp-project \
    --format='get(addonsConfig.cloudRunConfig)'

    Respuesta:

    loadBalancerType=LOAD_BALANCER_TYPE_EXTERNAL

  • Debes tener los permisos adecuados en tu proyecto de Google Cloud para cumplir con los requisitos del clúster, la flota y Cloud Service Mesh:

    • Si tienes el rol de propietario para el proyecto de Google Cloud, tienes más de los permisos necesarios para crear clústeres, instalar y, luego, configurar Knative serving.

    • Ten en cuenta que los requisitos de permisos de Cloud Service Mesh también cumplen con todos los requisitos de permisos para instalar y configurar Knative serving.

    • Usa otras funciones y los requisitos mínimos:

      Según tu organización, también puedes cumplir con los requisitos de permisos mediante una combinación de las siguientes funciones predefinidas:

  • Solo se admite la versión 1.18 de Cloud Service Mesh.

Actualiza Knative serving y migra cargas de trabajo

Para ayudar a actualizar la instalación existente de Knative serving y migrar las cargas de trabajo, ejecuta una secuencia de comandos que automatiza la mayoría de los pasos y te solicita entradas durante el proceso.

  1. Prepárate para la actualización y configura tu entorno

  2. Desinstala el complemento de GKE

  3. Migra a Cloud Service Mesh

  4. Instala el componente de flota

  5. Migra el tráfico de la carga de trabajo a Cloud Service Mesh

  6. Finaliza la actualización y realiza tareas de limpieza