Descripción general de la actualización

Planificar una actualización de clúster para el software de Google Distributed Cloud solo para VMware te ayuda a determinar el orden de actualización necesario, elegir herramientas de administración compatibles y minimizar la interrupción de la carga de trabajo en un entorno de varios clústeres. Para obtener una lista de tareas de preparación previa a la actualización, consulta Prácticas recomendadas para la actualización.

Cómo las versiones, el orden y las herramientas afectan las actualizaciones

El orden en el que actualizas los clústeres, las herramientas que usas y las verificaciones que debes realizar varían de forma significativa según lo siguiente:

  • La versión desde la que comienzas
  • La versión a la que actualizas
  • Si actualizas desde un clúster avanzado o no avanzado
  • Si actualizas a un clúster avanzado o no avanzado
  • Si Controlplane V2 está habilitado en el clúster de usuario

Según la versión desde la que comiences, el orden en el que actualizas los clústeres, las herramientas que usas para actualizar, las versiones de los clústeres y lo que puedes y no puedes hacer varía de forma significativa.

Verifica si un clúster es avanzado o no

Para verificar si tus clústeres son avanzados o no, identifica la versión que usas:

  • Si tus clústeres usan la versión 1.30 o una anterior, son clústeres no avanzados.
  • Si tus clústeres usan la versión 1.33 y no inhabilitaste de forma explícita los clústeres avanzados, son clústeres avanzados.
  • Si tus clústeres usan la versión 1.34 y posteriores, son clústeres avanzados.

Si tus clústeres usan las versiones 1.31 y 1.32, verifica si un clúster es avanzado o no. Para ello, revisa los recursos personalizados del clúster con kubectl:

  1. En el kubeconfig de tu clúster de administrador, verifica el campo de especificación enableAdvancedCluster del clúster de administrador:

    kubectl get onpremadminclusters -A \
        -o custom-columns=NAME:.metadata.name,VERSION:.spec.gkeOnPremVersion,ADVANCED:.spec.enableAdvancedCluster \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    

    Reemplaza ADMIN_CLUSTER_KUBECONFIG por la ruta de acceso al archivo kubeconfig del clúster de usuario.

  2. En el kubeconfig del clúster de administrador, verifica el campo de especificación enableAdvancedCluster de los clústeres de usuario:

    kubectl get onpremuserclusters -A \
        -o custom-columns=NAME:.metadata.name,VERSION:.spec.gkeOnPremVersion,ADVANCED:.spec.enableAdvancedCluster \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    

Cuando los clústeres avanzados están habilitados, el resultado es similar al siguiente:

NAME              VERSION           ADVANCED
gke-admin-abc12   1.32.0-gke.1085   true

Si ADVANCED es true, se trata de un clúster avanzado. Para la versión 1.32 o anterior, ADVANCED podría mostrarse como <none>.

Proceso de actualización de alto nivel

En las siguientes secciones, se describe el proceso general de actualización de los clústeres, según el tipo de clúster desde el que actualizas y al que actualizas.

Antes de comenzar una actualización, revisa la información detallada sobre cómo las versiones afectan las actualizaciones. Consulta Reglas de actualización de versiones para obtener una lista detallada de las dependencias por versión y la información sobre cómo omitir versiones y las reglas de sesgo de versiones.

Clústeres avanzados y no avanzados

Existen dos tipos de clústeres: avanzados y no avanzados. Todos los clústeres creados en las versiones 1.33 o posteriores son clústeres avanzados. Los clústeres avanzados usan arquitecturas mejoradas que proporcionan mayor flexibilidad y escalabilidad.

Después de actualizar tus clústeres a clústeres avanzados, siempre usarás clústeres avanzados y el proceso de actualización de clústeres avanzados. Si un clúster es avanzado o no avanzado, solo importa cuando actualizas desde una versión anterior a la 1.33.

Los clústeres avanzados usan una arquitectura consolidada de Google Distributed Cloud con el software de Google Distributed Cloud solo para equipos físicos como el framework subyacente del software de Google Distributed Cloud solo para VMware. Es posible que veas referencias a "bare metal" en las etiquetas de nodo, los recursos de la API y las etiquetas del sistema.

La función de clústeres avanzados implementa una arquitectura de clúster que alinea mejor el software de Google Distributed Cloud solo para VMware con el resto de los productos de Google Distributed Cloud. Un clúster que tiene habilitados los clústeres avanzados tiene una plataforma compartida con otros clústeres de Google Distributed Cloud. Esta plataforma compartida usa los mismos controladores y agentes, lo que aumenta la confiabilidad y puede ayudar a Google a brindar una mejor asistencia. También se mejora el rendimiento de las operaciones de clúster cuando se habilitan los clústeres avanzados.

La nueva arquitectura ofrece una experiencia y una implementación coherentes con todas las demás ofertas de Google Distributed Cloud. Para obtener detalles sobre las funciones disponibles para los clústeres avanzados en comparación con los no avanzados, consulta Compatibilidad con funciones avanzadas de clústeres.

Actualiza de clústeres avanzados a clústeres avanzados (versiones actuales, a partir de la 1.31)

En la versión 1.32 y posteriores, cuando actualizas de un clúster avanzado a otro, puedes realizar actualizaciones de versiones de parches y de versiones secundarias secuenciales. En la versión preliminar 1.31, solo puedes realizar actualizaciones de versiones de parches dentro de la versión 1.31.

Para realizar esta actualización, puedes usar la CLI de gkectl, Google Cloud CLI, la consola de Google Cloud o Terraform (según la versión).

Para actualizar de un clúster avanzado a otro, debes seguir este orden:

  1. Actualiza la estación de trabajo de administrador, si corresponde.
  2. Usa gkectl diagnose cluster para verificar que tu clúster de administrador esté en buen estado. Resuelve cualquier problema.
  3. Actualiza el clúster de administrador.
  4. Usa gkectl diagnose cluster para verificar que la actualización se haya realizado correctamente y que tus clústeres de usuario estén en buen estado. Resuelve cualquier problema.
  5. Actualiza los clústeres de usuario, uno por uno. Puedes actualizar el plano de control y los grupos de nodos del clúster de usuario juntos o por separado. Para obtener más información, consulta Actualiza grupos de nodos.
  6. Verifica que la actualización se haya realizado correctamente con gkectl diagnose cluster.

Cuando todos los grupos de nodos de un clúster de usuario tienen la misma versión que el plano de control del clúster de usuario, este se actualiza y se completa la actualización.

El plano de control del clúster de usuario se ejecuta en el clúster de usuario y se actualiza durante la actualización del clúster de usuario. Los nodos del plano de control del clúster de administrador se actualizan durante la actualización del clúster de administrador.

Para obtener más información sobre cómo diagnosticar clústeres con gkectl diagnose cluster, consulta Diagnostica clústeres.

Para obtener información sobre cómo realizar actualizaciones de clústeres avanzados a clústeres avanzados, consulta Actualiza un clúster.

Actualiza de clústeres no avanzados a clústeres avanzados

Las actualizaciones de un clúster no avanzado a uno avanzado solo se realizan para las versiones 1.31, 1.32, 1.33 y 1.34. Para obtener más información sobre cómo actualizar clústeres no avanzados a clústeres avanzados en estas versiones, consulta Reglas de actualización de versiones.

Para actualizar de un clúster no avanzado a uno avanzado, debes usar gkectl con la misma versión que la versión de destino (por ejemplo, si actualizas a la versión 1.32.0, debes usar la versión 1.32.0 de gkectl) y seguir este orden:

  1. Actualiza la estación de trabajo de administrador y los artefactos.
  2. Usa gkectl diagnose cluster para verificar que tu clúster de administrador esté en buen estado. Resuelve cualquier problema.
  3. Actualiza el clúster de administrador.
  4. Usa gkectl diagnose cluster para verificar que la actualización se haya realizado correctamente y que tus clústeres de usuario estén en buen estado. Resuelve cualquier problema.
  5. Actualiza el clúster de usuario.
  6. Verifica que la actualización se haya realizado correctamente con gkectl diagnose cluster.

Para obtener más información sobre cómo diagnosticar clústeres con gkectl diagnose cluster, consulta Diagnostica clústeres.

Para obtener más información sobre cómo realizar una actualización de un clúster no avanzado a uno avanzado, consulta Actualiza de un clúster no avanzado a uno avanzado.

Actualiza de un clúster no avanzado a otro no avanzado

Puedes actualizar de clústeres no avanzados a otro clúster no avanzado para la versión 1.33 y anteriores. Para obtener detalles sobre las versiones que permiten actualizaciones de un clúster no avanzado a otro clúster no avanzado, consulta Reglas de versiones de actualización.

El orden en el que actualizas los clústeres no avanzados depende de la versión de destino:

  • Para las versiones de destino 1.31, 1.32 y 1.33, debes actualizar el clúster de administrador antes de actualizar los clústeres de usuario.
  • Para las versiones de destino 1.30 y anteriores, debes actualizar todos los clústeres de usuario antes de actualizar el clúster de administrador.

Actualiza a la versión 1.31, 1.32 o 1.33

Para actualizar a la versión 1.31, 1.32 o 1.33 y mantener tus clústeres como no avanzados, debes seguir este orden:

  1. Actualiza la estación de trabajo de administrador y prepara los artefactos del paquete.
  2. Usa gkectl diagnose cluster para verificar que tu clúster de administrador esté en buen estado. Resuelve cualquier problema.
  3. Actualiza el clúster de administrador.
  4. Usa gkectl diagnose cluster para verificar que la actualización se haya realizado correctamente y que tus clústeres de usuario estén en buen estado. Resuelve cualquier problema.
  5. Actualiza los clústeres de usuario, uno por uno.
  6. Verifica que la actualización se haya realizado correctamente con gkectl diagnose cluster.

Actualiza a la versión 1.30 o anterior

Para actualizar a la versión 1.30 o una anterior, debes seguir este orden:

  1. Actualiza la estación de trabajo de administrador y prepara los artefactos del paquete.
  2. Usa gkectl diagnose cluster para verificar que tus clústeres de usuario estén en buen estado. Resuelve cualquier problema.
  3. Actualiza todos los clústeres de usuario, uno por uno.
  4. Usa gkectl diagnose cluster para verificar que la actualización se haya realizado correctamente y que el clúster de administrador esté en buen estado. Resuelve cualquier problema.
  5. Actualiza el clúster de administrador.
  6. Verifica que la actualización se haya realizado correctamente con gkectl diagnose cluster.

Para obtener más información sobre cómo diagnosticar clústeres con gkectl diagnose cluster, consulta Diagnostica clústeres.

Para obtener más información sobre cómo realizar una actualización de un clúster no avanzado a un clúster no avanzado, consulta Actualiza y mantén clústeres no avanzados.

Actualizaciones de clústeres

Siempre debes actualizar los clústeres de administrador de a uno por vez.

Cuando actualizas clústeres de usuario, puedes actualizar todo el clúster de usuario (el plano de control y todos los grupos de nodos del clúster al mismo tiempo) o puedes actualizar el plano de control del clúster de usuario y dejar los grupos de nodos en la versión actual. El enfoque que adoptes dependerá de varios factores, como los siguientes:

  • El entorno (de producción o no producción) en el que se encuentra el clúster.
  • La duración del período de mantenimiento.
  • Es la versión del clúster de usuario.

Por ejemplo, en un entorno de desarrollo, es posible que desees mantener el proceso sencillo y actualizar el plano de control del clúster de usuario y todos los grupos de nodos. Sin embargo, en un entorno de producción con un período de mantenimiento corto, es posible que desees actualizar solo el plano de control, ya que eso lleva menos tiempo y, con planos de control de alta disponibilidad (HA), la actualización del plano de control no debería interrumpir las cargas de trabajo de los usuarios.

Elige una herramienta para actualizar los clústeres

La herramienta que uses dependerá de cómo y qué planees actualizar.

En el caso de los clústeres de administrador, debes usar gkectl para realizar la actualización.

En el caso de los clústeres de usuario, puedes usar una de las siguientes herramientas para actualizarlos:

  • La herramienta de línea de comandos de gkectl (obligatoria para las actualizaciones de clústeres no avanzados a clústeres avanzados)
  • Terraform, si creaste el clúster de usuario con Terraform
  • Consola deGoogle Cloud
  • Google Cloud CLI

En la siguiente tabla, se enumeran las herramientas que admiten los casos de uso.

Caso de uso de actualización gkectl gcloud CLI Console Terraform Notas y restricciones
Actualiza los clústeres de administrador (cualquier ruta) Yes No No No Los clústeres de administrador siempre requieren gkectl.
Actualiza los clústeres no avanzados a avanzados (conversión) Yes No No No La versión de gkectl debe coincidir con la versión de destino; no se permite ningún sesgo de versión entre el plano de control (CP) y los grupos de nodos.
Actualiza clústeres no avanzados a clústeres no avanzados (heredados) Yes No No No Solo disponible en la versión 1.33 y anteriores (ruta de inhabilitación); no se admiten clientes de API.
Actualiza los clústeres de usuario: de avanzado a avanzado Yes Sí Yes Sí1 Se aplican las reglas de sesgo de versión estándar.
Actualiza todo el clúster de usuario (CP y grupos de nodos juntos) Yes Sí Yes Sí1 Se admite en todas las herramientas para clústeres de usuarios avanzados.
Actualiza el plano de control del clúster de usuario por separado (solo CP) Yes Sí No Sí1 La consola no admite la actualización solo del plano de control.
Actualiza de forma selectiva los grupos de nodos después de la actualización del plano de control Yes Sí No Sí1 La consola no admite actualizaciones de grupos de nodos individuales.
Actualiza el plano de control y uno o más grupos de nodos al mismo tiempo Yes No No No Solo gkectl admite actualizaciones parciales simultáneas de versiones de CP y grupos de nodos.

1 Requisito de Terraform: Puedes usar Terraform para actualizar el clúster de usuario solo si este se creó y administró originalmente con Terraform.

Para obtener información sobre los clústeres que creaste con gkectl con la consola o gcloud CLI, inscribe el clúster en la API de GKE On-Prem.

¿Qué sigue?

Revisa las reglas de versión de actualización para comprender cómo las versiones afectan las actualizaciones y encontrar las reglas de versión para la versión que tienes y la versión a la que actualizas.

Revisa las Prácticas recomendadas para la actualización y crea un plan para actualizar tus clústeres.