Actualizar un clúster de administrador o de usuario con clientes de la API de GKE On-Prem

En esta página se explica cómo usar la Google Cloud consola o la CLI de Google Cloud para actualizar un clúster de administrador o de usuario de Google Distributed Cloud que esté registrado en la API GKE On-Prem. Si has creado el clúster de usuarios con Terraform, puedes usarlo para actualizarlo. Para consultar los requisitos de actualización, las prácticas recomendadas y obtener más información sobre el proceso de actualización, consulta Prácticas recomendadas para las actualizaciones y Ciclo de vida y fases de las actualizaciones de clústeres antes de continuar.

¿Qué es la API de GKE On-Prem?

La API de GKE On-Prem es una API alojada en Google Cloud que te permite gestionar el ciclo de vida de tus clústeres on-premise con Terraform y herramientas estándar.Google Cloud La API GKE On-Prem se ejecuta en la infraestructura de Google Cloud. Terraform, la Google Cloud consola y la CLI de Google Cloud son clientes de la API y la usan para crear, actualizar, mejorar y eliminar clústeres en tu centro de datos. Si has creado el clúster con un cliente estándar, el clúster se registra en la API de GKE On-Prem, lo que significa que puedes usar los clientes estándar para gestionar el ciclo de vida del clúster (con algunas excepciones). Si has creado el clúster con bmctl, puedes registrarlo en la API de GKE On-Prem, lo que te permite usar los clientes estándar.

Antes de empezar

Configurar gcloud CLI

Para usar gcloud CLI o Terraform para actualizar un clúster, sigue estos pasos:

  1. Asegúrate de que tienes la versión más reciente de la CLI de gcloud. Actualiza los componentes de gcloud CLI si es necesario:

    gcloud components update
    

Requisitos de IAM

Si no eres el propietario del proyecto, debes tener asignado el rol Gestión de Identidades y Accesos roles/gkeonprem.admin en el proyecto Google Cloud en el que se creó el clúster. Para obtener información sobre los permisos incluidos en este rol, consulta Roles de GKE On-prem en la documentación de gestión de identidades y accesos.

Para usar la consola y actualizar el clúster, necesitas al menos lo siguiente:

  • roles/container.viewer. Este rol permite a los usuarios ver la página Clústeres de GKE y otros recursos de contenedores en la consola. Para obtener más información sobre los permisos incluidos en este rol o para conceder un rol con permisos de lectura y escritura, consulta los roles de Kubernetes Engine en la documentación de gestión de identidades y accesos.

  • roles/gkehub.viewer. Este rol permite a los usuarios ver clústeres en la consola. Para obtener información sobre los permisos incluidos en este rol o para conceder un rol con permisos de lectura y escritura, consulta Roles de GKE Hub en la documentación de IAM.

Requisitos de la versión

La versión tarda entre 7 y 14 días en estar disponible en la API de GKE On-Prem después de un lanzamiento de Google Distributed Cloud.

Puedes actualizar directamente a una versión que esté en la misma versión secundaria o en la siguiente. Por ejemplo, puedes actualizar de 1.33.100 a 1.33.200 o de 1.32.100 a 1.33.200. No se permite actualizar a una versión que sea más de una versión secundaria posterior a la instalada.

Un clúster de administrador puede gestionar clústeres de usuario que tengan la misma versión secundaria o una anterior. Los clústeres de usuarios gestionados no pueden tener una versión secundaria inferior a la del clúster de administrador. Por lo tanto, antes de actualizar un clúster de administrador a una nueva versión secundaria, asegúrate de que todos los clústeres de usuarios gestionados tengan la misma versión secundaria que el clúster de administrador.

Actualizar un clúster de administrador

Consola

  1. En la consola, ve a la página Descripción general de los clústeres de Google Kubernetes Engine.

    Ir a clústeres de GKE

  2. Selecciona el Google Cloud proyecto y, a continuación, el clúster que quieras actualizar.

  3. En el panel Detalles, haga clic en Más detalles.

  4. En la sección Información básica de los clústeres, haz clic en Actualizar.

  5. En la lista Elegir versión de destino, selecciona la versión a la que quieras actualizar. Te recomendamos que actualices a la versión de parche más reciente.

  6. Haz clic en Actualizar.

Antes de actualizar el clúster, se ejecutan comprobaciones previas para validar el estado del clúster y el estado de los nodos. Si las comprobaciones previas se superan, el clúster de administrador se actualiza. La actualización tarda 30 minutos o más en completarse, en función del tamaño de tu clúster.

Para ver el estado de la actualización, haga clic en Mostrar detalles en la pestaña Detalles del clúster.

CLI de gcloud

  1. También puedes enumerar todos los clústeres de administrador registrados en el proyecto para confirmar el nombre y la región del clúster:

    gcloud container bare-metal admin-clusters list \
      --project=PROJECT_ID \
      --location=-
    
    • Sustituye PROJECT_ID por el ID del proyecto host de la flota en el que el clúster es miembro. Si has creado el clúster con bmctl, este es el ID de proyecto del campo gkeConnect.projectID del archivo de configuración del clúster.

    • Si define --location=-, se mostrarán todos los clústeres de todas las regiones. Si necesitas acotar la lista, define --location en una región específica.

    Si aparece un error PERMISSION_DENIED, comprueba el ID del proyecto que has introducido. Si el ID de proyecto es correcto, ejecuta gcloud auth login para iniciar sesión en la CLI de Google Cloud con la cuenta que tiene acceso al proyecto.

  2. Obtén una lista de las versiones a las que puedes actualizar:

    gcloud container bare-metal admin-clusters query-version-config \
      --admin-cluster=ADMIN_CLUSTER_NAME \
      --project=PROJECT_ID \
      --location=REGION
    

    Haz los cambios siguientes:

    • ADMIN_CLUSTER_NAME: nombre del clúster de administrador.

    • PROJECT_ID: ID del proyecto host de la flota en el que se encuentra el clúster.

    • REGION: la región en la que se ejecuta la API de GKE On-Prem y se almacenan los metadatos del clúster. Google Cloud

  3. Actualiza el clúster de administrador:

    gcloud container bare-metal admin-clusters update ADMIN_CLUSTER_NAME \
      --project=PROJECT_ID \
      --location=REGION \
      --version=VERSION
    

    Sustituye VERSION por la versión de Google Distributed Cloud a la que quieras actualizar. Especifica una versión de la salida del comando anterior. Te recomendamos que actualices a la versión de parche más reciente.

    La salida del comando es similar a la siguiente:

    Waiting for operation [projects/example-project-12345/locations/us-west1/operations/operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179] to complete.
    

    En el resultado de ejemplo, la cadena operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179 es el OPERATION_ID de la operación de larga duración.

    Para consultar el estado de la operación, copia el OPERATION_ID de la salida en el siguiente comando. Abre otra ventana de terminal y ejecuta el comando.

    gcloud container bare-metal operations describe OPERATION_ID \
      --project=PROJECT_ID \
      --location=REGION
    

La actualización tarda 30 minutos o más en completarse, en función del tamaño del clúster. Mientras se actualiza el clúster, puedes ejecutar el comando anterior de vez en cuando para obtener el estado actual.

Cuando se complete la actualización, verá algo similar a lo siguiente en la ventana del terminal en la que haya ejecutado el comando gcloud ... update:

Updated Anthos on bare metal Admin Cluster [https://gkeonprem.googleapis.com/v1/projects/example-project-1234/locations/us-central1/bareMetalAdminClusters/abm-admin-cluster].
NAME               LOCATION     VERSION     MEMBERSHIP         STATE
abm-admin-cluster  us-central1  1.33.0-gke.799      abm-admin-cluster  RUNNING

Para obtener más información sobre los campos y las marcas, consulta la referencia de gcloud container bare-metal admin-clusters.

Actualizar un clúster de usuarios

Consola

  1. En la consola, ve a la página Descripción general de los clústeres de Google Kubernetes Engine.

    Ir a clústeres de GKE

  2. Selecciona el Google Cloud proyecto y, a continuación, el clúster que quieras actualizar.

  3. En el panel Detalles, haga clic en Más detalles.

  4. En la sección Información básica de los clústeres, haz clic en Actualizar.

  5. En la lista Elegir versión de destino, selecciona la versión a la que quieras actualizar.

  6. Haz clic en Actualizar.

Antes de actualizar el clúster, se ejecutan comprobaciones previas para validar el estado del clúster y el estado de los nodos. Si las comprobaciones previas se superan, el clúster de usuarios se actualiza. La actualización tarda 30 minutos o más en completarse, en función del tamaño de tu clúster.

Para ver el estado de la actualización, haga clic en Mostrar detalles en la pestaña Detalles del clúster.

CLI de gcloud

  1. También puedes enumerar todos los clústeres de usuarios registrados en el proyecto para confirmar el nombre y la región del clúster:

    gcloud container bare-metal clusters list \
      --project=PROJECT_ID \
      --location=-
    
    • Sustituye PROJECT_ID por el ID del proyecto host de la flota en el que el clúster es miembro. Si has creado el clúster con bmctl, este es el ID de proyecto del campo gkeConnect.projectID del archivo de configuración del clúster.

    • Si define --location=-, se mostrarán todos los clústeres de todas las regiones. Si necesitas acotar la lista, define --location en una región específica.

    El resultado del comando es similar al siguiente:

    NAME              LOCATION     VERSION  ADMIN_CLUSTER      STATE
    abm-user-cluster  us-central1  1.33.0-gke.799   abm-admin-cluster  RUNNING
    

    Si aparece un error PERMISSION_DENIED, comprueba el ID del proyecto que has introducido. Si el ID de proyecto es correcto, ejecuta gcloud auth login para iniciar sesión en la CLI de Google Cloud con la cuenta que tiene acceso al proyecto.

  2. Obtén una lista de las versiones a las que puedes actualizar:

    gcloud container bare-metal clusters query-version-config \
      --cluster=USER_CLUSTER_NAME \
      --project=PROJECT_ID \
      --location=REGION
    

    Haz los cambios siguientes:

    • USER_CLUSTER_NAME: nombre del clúster de usuarios que se va a actualizar.

    • PROJECT_ID: ID del proyecto host de la flota en el que se encuentra el clúster.

    • REGION: la región en la que se ejecuta la API de GKE On-Prem y se almacenan los metadatos del clúster. Google Cloud

    El resultado del comando es similar al siguiente:

    versions:
    - hasDependencies: true
    version: 1.15.2
    - hasDependencies: true
    version: 1.15.1
    - hasDependencies: true
    version: 1.15.0
    - version: 1.14.6
    

    Elige una versión que no aparezca en - hasDependencies: true. En este ejemplo, la única versión disponible a la que puedes actualizar el clúster de usuario es 1.14.6.

  3. Actualiza el clúster de usuarios:

    gcloud container bare-metal clusters update USER_CLUSTER_NAME \
      --project=PROJECT_ID \
      --location=REGION \
      --version=VERSION
    

    Sustituye VERSION por la versión de Google Distributed Cloud a la que quieras actualizar. Especifica una versión de la salida del comando anterior. Te recomendamos que actualices a la versión de parche más reciente.

    La salida del comando es similar a la siguiente:

    Waiting for operation [projects/example-project-12345/locations/us-west1/operations/operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179] to complete.
    

    En el resultado de ejemplo, la cadena operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179 es el OPERATION_ID de la operación de larga duración.

    Para consultar el estado de la operación, copia el OPERATION_ID de la salida en el siguiente comando. Abre otra ventana de terminal y ejecuta el comando.

    gcloud container bare-metal operations describe OPERATION_ID \
      --project=PROJECT_ID \
      --location=REGION
    

La actualización tarda 30 minutos o más en completarse, en función del tamaño del clúster. Mientras se actualiza el clúster, puedes ejecutar el comando anterior de vez en cuando para obtener el estado actual.

Para obtener más información sobre los campos y las marcas, consulta la referencia de gcloud container bare-metal clusters.

Terraform

Para actualizar un clúster con Terraform, debes usar la misma configuración de Terraform que usaste para crear el clúster.

  1. Cambia al directorio en el que se encuentra el archivo de configuración de Terraform.

  2. Obtén una lista de las versiones a las que puedes actualizar:

    gcloud container bare-metal clusters query-version-config \
      --cluster=USER_CLUSTER_NAME \
      --project=PROJECT_ID \
      --location=REGION
    

    Haz los cambios siguientes:

    • USER_CLUSTER_NAME: nombre del clúster de usuarios que se va a actualizar.

    • PROJECT_ID: ID del proyecto host de la flota en el que se encuentra el clúster de usuario.

    • REGION: la región en la que se ejecuta la API de GKE On-Prem y almacena sus metadatos. Google Cloud

    Si aparece un error PERMISSION_DENIED, comprueba el ID del proyecto que has introducido. Si el ID de proyecto es correcto, ejecuta gcloud auth login para iniciar sesión en la CLI de Google Cloud con la cuenta que tiene acceso al proyecto.

  3. En tu configuración de Terraform, cambia bare_metal_version a la versión de Google Distributed Cloud a la que quieras actualizar. Especifica una versión de la salida del comando anterior. Te recomendamos que actualices a la versión de parche más reciente.

  4. Inicializa y crea el plan de Terraform:

    terraform init
    

    Terraform instala las bibliotecas necesarias, como el Google Cloudproveedor.

  5. Revisa la configuración y haz los cambios necesarios:

    terraform plan
    
  6. Aplica el plan de Terraform para crear el clúster de usuarios:

    terraform apply
    

Para obtener información sobre el recurso google_gkeonprem_bare_metal_cluster, consulta la documentación de referencia.