Usa esta guía para migrar la instalación existente de la entrega de Knative en Google Cloud a fin de usar una flota con Anthos Service Mesh.
La versión de “prueba gratuita” anterior de la entrega de Knative, 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 entrega de Knative para usar flotas y Anthos Service Mesh proporciona una mayor independencia de administración y actualización de productos, así como una mejor integración entre 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 desde el clúster en el que está instalada la versión anterior de entrega de Knative (“complemento de GKE”) a un clúster nuevo en el que instalaste y configuraste una nueva instalación de flota de servicio de Knative. 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:
- Instala Knative como un componente de flota.
Implementa los servicios en la instalación nueva.
Por ejemplo, puedes usar las instrucciones para implementar una revisión de un servicio existente a fin de descargar de forma individual un archivo de configuración YAML para cada uno de tus servicios y, luego, implementar cada archivo YAML en tu clúster nuevo en la instalación de flota de la entrega de Knative:
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 entrega de Knative.
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 del componente de flota nueva del servicio de Knative.
CLUSTER_LOCATION por la zona o región del clúster en la instalación del componente de flota nueva de la entrega de Knative.
PROJECT_ID por el ID del proyecto de Google Cloud en el que reside la instalación del componente de flota nuevo de la entrega de Knative.
Alternativa: Para los usuarios que no pueden crear un clúster nuevo y deben migrar su instalación activa de entrega de Knative, puedes seguir los pasos de esta guía para lo siguiente:
- Quita los recursos del complemento de GKE y de los recursos de Istio anteriores.
- Instalar recursos de flota nuevos.
- Migra a Anthos 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 actualizar la instalación existente y activa de la entrega de Knative, 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 solo debe realizarse en los clústeres de Google Kubernetes Engine en los que se instaló Knative con anterioridad y debe funcionar como el “complemento de GKE”.
Verifica si el "complemento de GKE" está instalado.
Para verificar si tu instalación de la entrega de Knative 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 la entrega de Knative se instaló en el clúster
my-addon-cluster
a través del “complemento de GKE”, que está configurado para controlar el 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 Anthos Service Mesh:
Si tienes la función de Propietario del proyecto de Google Cloud, tienes más de los permisos necesarios para crear clústeres, instalar y, luego, configurar la entrega de Knative.
Ten en cuenta que los requisitos de permisos de Anthos Service Mesh también cumplen con todos los requisitos de permisos para instalar y configurar la entrega de Knative.
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:
Permisos del proyecto de Google Cloud: Función básica de editor
Permisos de flota: Administrador de GKE Hub o un rol que incluya los siguientes permisos:
gkehub.features.create
gkehub.features.update
Permisos del clúster. Una función de administrador de Kubernetes Engine:
- Administrador de Kubernetes Engine
- Administrador de clústeres de Kubernetes Engine
Solo se admite la versión 1.18 de Anthos Service Mesh.
Anthos Service Mesh requiere que el clúster use un tipo de máquina con al menos 4 CPU virtuales, como
e2-standard-4
. Consulta la guía de instalación de Anthos Service Mesh para obtener detalles sobre los requisitos. Si necesitas cambiar el tipo de máquina del clúster existente, consulta la sección sobre cómo migrar cargas de trabajo a diferentes tipos de máquina.El uso de Cloud Shell es el entorno recomendado para ejecutar los comandos y la secuencia de comandos de migración durante este proceso. Ten en cuenta que la secuencia de comandos de instalación de Anthos Service Mesh solo admite Linux o Cloud Shell.
Si la instalación existente de la entrega de Knative usa el complemento Istio on GKE, debes migrar al plano de control administrado de Anthos Service Mesh. Por el momento, no se admite la migración desde el complemento de Istio en GKE al plano de control en el clúster de Anthos Service Mesh.
Actualiza la entrega de Knative y migra cargas de trabajo
Para ayudarte a actualizar la instalación existente de la entrega de Knative y migrar tus cargas de trabajo, ejecuta una secuencia de comandos que automatiza la mayoría de los pasos y te solicite entradas durante el proceso.