Usa esta guía para migrar tu instalación actual de Knative serving en Google Cloud para usar una flota con Cloud Service Mesh.
La "prueba gratuita" anterior de Knative serving 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 se admite a partir de Anthos 1.8.
Actualiza tu instalación de Knative serving para usar flotas y Cloud Service Mesh proporciona mayor independencia de la administración y la actualización de los productos, como además de una integración mejorada en 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 se instala la versión anterior de Knative serving ("complemento de GKE") en un nuevo clúster en el que instalaste y configuraste una 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:
- Instala Knative serving como un componente de la flota.
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 individualmente un archivo de configuración YAML para cada uno de tus y, luego, implementarás cada archivo YAML en el clúster nuevo instalación de flota de Knative serving:
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.
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 tu nuevo instalación de componentes de flota de Knative serving.
CLUSTER_LOCATION con el zona o región del clúster en la instalación del nuevo componente de tu flota Knative serving.
PROJECT_ID por el ID de tu proyecto de Google Cloud en el que la instalación del nuevo componente de la flota Knative serving reside.
Alternativa: Para usuarios que no pueden crear un clúster nuevo y deben migrar su instalación activa de Knative serving, puedes seguir el pasos en esta guía para:
- Quita los recursos del complemento de GKE y de los recursos de Istio anteriores.
- Instalar nuevos recursos de flota.
- Migra a Cloud Service Mesh y, luego, el tráfico.
- Limpia todos los recursos inactivos y sin usar.
En la siguiente guía, se explica el proceso alternativo para actualizar tu 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 Knative que instaló previamente Knative como el “Complemento de GKE”.
Verifica si el "complemento de GKE" está instalado.
Para verificar si tu instalación de Knative serving es la “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 demuestra que Knative serving se instaló en el
clúster de
my-addon-cluster
mediante el "complemento de GKE", que está configurada 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 de tu clúster, flota y Cloud Service Mesh:
Si tienes el rol Propietario en proyecto de Google Cloud, entonces, tienes más de los permisos necesarios para crear clústeres, instalar y configurar Knative serving
Ten en cuenta que Requisitos de los permisos de Cloud Service Mesh también cumplan 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:
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 la versión 1.18 de Cloud Service Mesh es compatible.
Cloud Service Mesh requiere que tu clúster use un tipo de máquina con al menos 4 CPU virtuales, como
e2-standard-4
. Consulta la malla de servicios de Cloud y guía de instalación para conocer los detalles de 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 Secuencia de comandos de instalación de Cloud Service Mesh solo es compatible con Linux o Cloud Shell.
Si tu instalación existente de Knative serving usa el Istio on GKE, debes migrar al complemento Plano de control administrado de Cloud Service Mesh. Migrar desde el complemento de Istio on GKE al Plano de control en el clúster de Cloud Service Mesh no se admite en este momento.
Actualiza Knative serving y migra cargas de trabajo
Para obtener asistencia con la actualización de la instalación actual de Knative serving y si migras tus cargas de trabajo, ejecutas una secuencia de comandos que automatiza la mayoría de los pasos te solicitará información a lo largo del proceso.