Modernización del plano de control administrado
Google actualizará gradualmente las flotas existentes que usaban la implementación del plano de control administrado por ISTIOD
para usar la implementación de TRAFFIC_DIRECTOR
. De forma predeterminada, Google migrará automáticamente tus flotas, pero puedes optar por realizar la migración por tu cuenta. Para verificar qué plano de control usa tu flota, consulta
Cómo verificar la implementación del plano de control.
Ten en cuenta lo siguiente cuando prepares tu flota para la modernización:
Para prepararte para la modernización, tienes dos maneras de controlar el proceso:
Migración automática impulsada por Google (predeterminada): Puedes personalizar el orden en que se modernizan tus clústeres con las instrucciones que se indican en Modernización impulsada por Google.
Migración impulsada por el cliente (opcional): Puedes optar por dirigir la modernización de tus flotas por tu cuenta. Para ello, etiquétalas según las instrucciones que se indican en Migración impulsada por el cliente.
La modernización impulsada por Google es la opción predeterminada. Con esta opción, Google determina cuándo tus flotas están listas para la modernización. Google programa la modernización de tus flotas y te notifica antes de iniciar el proceso.
La modernización de un clúster reiniciará las cargas de trabajo que tengan proxies. Esto no debería causar tiempo de inactividad si sigues las prácticas recomendadas de Kubernetes. Además, Google activará la modernización durante un período de mantenimiento, si lo configuraste. Una vez iniciado, se ejecuta hasta completarse con 6 días adicionales de tiempo de inmersión antes de marcarse como finalizado. Si la supervisión detecta problemas, puedes solicitar una reversión.
En el caso de la modernización impulsada por el cliente, Google te notifica cuando tus flotas están preparadas para la modernización. Luego, puedes elegir cuándo activar la modernización, clúster por clúster. Una vez que se complete, marcarás cada modernización de flota como completa.
Una vez que se moderniza una flota, Google quita todos los componentes basados en Istiod.
La implementación del plano de control
TRAFFIC_DIRECTOR
requiere que tu clúster esté registrado en una flota con la función de malla habilitada. Si te integraste con herramientas heredadas, Google registrará automáticamente tu clúster en la flota de su proyecto con la API degkehub.googleapis.com
Membership. Si tienes alguna automatización que cancele el registro de un clúster, debes quitarla antes de la modernización.
Modernización impulsada por Google
Esta opción es la predeterminada si no etiquetas tus flotas para la modernización impulsada por el cliente. Google supervisará tus flotas para determinar cuándo estarán listas para modernizarse de forma segura. Cuando todas las flotas habilitadas para malla de tu organización estén listas, se programará la modernización de tu organización.
Varias flotas
Si tu organización tiene varias flotas con Cloud Service Mesh administrado,
puedes controlar el orden en que Google moderniza tus flotas configurando una
etiqueta de proyecto de mesh-modernization-order
en uno de los
valores: early
, default
, late
. Google completará la modernización de cada grupo antes de comenzar la modernización de cualquier flota en el siguiente grupo.
Las flotas para las que elegiste la modernización impulsada por el cliente no se considerarán
en este ordenamiento.
Usa el siguiente comando para configurar la etiqueta mesh-modernization-order
de una flota:
gcloud alpha projects update FLEET_PROJECT_ID --update-labels="mesh-modernization-order=VALUE"
Para obtener instrucciones sobre cómo configurar etiquetas de proyectos con Console o REST, consulta el documento sobre cómo crear y administrar etiquetas.
Si no usas Google Cloud organizaciones, tus flotas se programarán y modernizarán de forma independiente, y no podrás controlar el orden.
Mallas de varios clústeres
Si una flota tiene varios clústeres que usan Cloud Service Mesh administrado, puedes controlar el orden en que Google moderniza los clústeres configurando la etiqueta de clúster de mesh-modernization-order
en uno de los siguientes valores: early
, default
o late
. Google comenzará la modernización de cada
grupo y esperará a que se completen los pasos de modernización automatizados antes de
comenzar la modernización de cualquier clúster en el siguiente grupo. Ten en cuenta que este orden solo se aplicará dentro de una flota y no afectará a otras flotas de tu organización que puedan modernizarse en paralelo.
Usa el siguiente comando para establecer la etiqueta mesh-modernization-order
para un clúster:
gcloud container clusters update CLUSTER_NAME \ --location LOCATION \ --update-labels="mesh-modernization-order=VALUE"
Modernización centrada en el cliente
Puedes controlar el momento exacto de la modernización a nivel de la flota. Para ello, aplica una etiqueta en el proyecto host de la flota con el siguiente comando:
gcloud alpha projects update FLEET_PROJECT_ID \ --update-labels="mesh-modernization-mode=manual"
Ten en cuenta que, si tu Google Cloud organización tiene varias flotas, las que no estén etiquetadas se programarán para la modernización impulsada por Google.
Una vez que tu flota sea apta para modernizarse, recibirás una notificación en el estado de la función a nivel de la flota. Debes activar la modernización en un plazo de 3 meses a partir de la recepción de esta notificación.
Esta documentación se actualizará para incluir detalles sobre cómo activar la modernización manualmente. Suscríbete al feed de notas de la versión de Cloud Service Mesh para recibir notificaciones.
Modernización activa para la migración impulsada por Google
En esta sección, se describen los pasos de la modernización impulsada por Google.
Modernización de flotas
Google activará la modernización activa de cada una de las flotas de tu organización. Esto significa que, para cada flota, se ejecutan los siguientes pasos:
- Moderniza todos los clústeres con
mesh-modernization-order
deearly
. - Moderniza todos los clústeres con
mesh-modernization-order
dedefault
o no especificado. - Moderniza todos los clústeres con
mesh-modernization-order
delate
. - Espera a que la modernización de cada clúster se marque como finalizada. Esto significa que debes esperar al menos 6 días hábiles después de reiniciar el último pod en cualquier clúster de esta flota.
- Finaliza la modernización de esta flota y, finalmente, quita los componentes basados en Istio.
Moderniza un clúster
Durante la modernización activa de un clúster, ambas implementaciones del plano de control se ejecutan temporalmente en paralelo y, de forma segura y controlada, se procesan las siguientes tareas:
- Habilita la nueva implementación del plano de control. Si configuraste períodos de mantenimiento para tu clúster y usas la modernización impulsada por Google, este paso comenzará durante un período de mantenimiento y continuará hasta completarse.
- Para habilitar la verificación de estado, se crea el daemonset
snk
en el espacio de nombreskube-system
del clúster y se crea una regla de firewall por clúster.- Para habilitar la transferencia de grupos de extremos de red (NEG), se agrega la anotación
cloud.google.com/neg
a todos los servicios de Kubernetes. - En el clúster, se crean Google Cloud recursos nuevos, como malla, rutas, servicios de backend y verificaciones de estado.
- Algunos de los recursos nuevos tienen una cuota limitada. Puedes ver las cuotas y solicitar más si es necesario.
- El clúster se supervisa durante el tiempo de prueba antes de pasar al siguiente paso.
- Para habilitar la transferencia de grupos de extremos de red (NEG), se agrega la anotación
- Para habilitar la verificación de estado, se crea el daemonset
- Traslada el tráfico a la nueva implementación del plano de control. Si configuraste períodos de mantenimiento para tu clúster y usas la modernización impulsada por Google, este paso comenzará durante un período de mantenimiento y continuará hasta completarse.
- Se reinician los Pods administrados por la implementación de Kubernetes que tienen proxies de Cloud Service Mesh para que se vuelvan a conectar al nuevo plano de control.
- Los pods se reinician en oleadas cada vez más grandes con tiempo de inactividad después de cada oleada para la supervisión.
- Se debe esperar al menos 6 días hábiles de tiempo de inactividad antes de que la modernización de un clúster se marque como finalizada.
Usa el siguiente comando de Google Cloud CLI para verificar el estado de la modernización activa:
gcloud container fleet mesh describe --project FLEET_PROJECT_ID
Verás una condición como una de las siguientes en el campo membershipStates
por clúster:
... membershipStates: projects/FLEET_PROJ/locations/us-central1/memberships/MEMBERSHIP: servicemesh: conditions: - code: MODERNIZATION_IN_PROGRESS details: ... documentationLink: ... severity: INFO ... # If you see this, see instructions provided in the details and documentationLink fields. - code: MODERNIZATION_ACTION_REQUIRED details: [details about required actions] documentationLink: [link to documentation for required actions] severity: WARNING ... - code: MODERNIZATION_COMPLETED details: ... documentationLink: ... severity: INFO
Programación y notificaciones
Deberías recibir una notificación de que se programó la actualización de un clúster al menos dos semanas antes de la actualización. Las notificaciones están disponibles en las condiciones de estado de la función a nivel del clúster.
Usa el siguiente comando de Google Cloud CLI para verificar la notificación:
gcloud container fleet mesh describe --project=FLEET_PROJECT_ID
Deberías ver resultados similares a los siguientes:
membershipStates: projects/656460026795/locations/us-central1/memberships/cluster: servicemesh: conditions: - code: MODERNIZATION_SCHEDULED details: This cluster has been scheduled for modernization on or after (date ~ at least 2 weeks). documentationLink:severity: INFO