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

En esta página, se explica cómo usar la consola de Google Cloud o Google Cloud CLI para actualizar un clúster de usuario o administrador de Google Distributed Cloud que está inscrito en la API de GKE On-Prem. Si creaste el clúster de usuario con Terraform, puedes usar Terraform para actualizarlo. Para conocer los requisitos de actualización, las prácticas recomendadas y, además, información adicional sobre el proceso de actualización, consulta Prácticas recomendadas de actualización y Ciclo de vida y etapas de la actualización del clúster 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 administrar el ciclo de vida de los clústeres locales con Terraform y las herramientas estándar de Google Cloud. La API de GKE On-Prem se ejecuta en la infraestructura de Google Cloud. Terraform, la consola de Google Cloud y Google Cloud CLI son clientes de la API y la usan para crear, actualizar, actualizar y borrar clústeres de tu centro de datos. Si creaste el clúster con un cliente estándar, el clúster está inscrito en la API de GKE On-Prem, lo que significa que puedes usar los clientes estándar para administrar el ciclo de vida del clúster (con algunas excepciones). Si creaste el clúster con bmctl, puedes inscribirlo en la API de GKE On-Prem, que te permite usar los clientes estándar.

Antes de comenzar

Configura la CLI de gcloud

Si deseas usar gcloud CLI o Terraform para actualizar un clúster, haz lo siguiente:

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

    gcloud components update
    

Requisitos de IAM

Si no eres propietario de un proyecto, se te debe otorgar la función de Identity and Access Management roles/gkeonprem.admin en el proyecto de Google Cloud en el que se creó el clúster. Para obtener detalles sobre los permisos incluidos en esta función, consulta Funciones de GKE On-Prem en la documentación de IAM.

Para usar la consola a fin de actualizar el clúster, como mínimo, necesitas lo siguiente:

  • roles/container.viewer. Esta función permite a los usuarios ver la página de clústeres de GKE y otros recursos de contenedores en la consola. Para obtener más detalles sobre los permisos incluidos en esta función o para otorgar una función con permisos de lectura y escritura, consulta Funciones de Kubernetes Engine en la documentación de IAM.

  • roles/gkehub.viewer. Esta función permite a los usuarios ver clústeres en la consola. Para obtener detalles sobre los permisos incluidos en esta función o para otorgar una función con permisos de lectura y escritura, consulta Funciones de GKE Hub en la documentación de IAM.

Requisitos de la versión

Después del lanzamiento de Google Distributed Cloud, la versión tarda entre 7 y 10 días en estar disponible en la API de GKE On-Prem.

Puedes actualizar directamente a una versión que se encuentre en la misma versión secundaria o en la siguiente. Por ejemplo, puedes actualizar de 1.29.100 a 1.29.200, o de 1.28.100 a 1.29.200. No se permite actualizar a una versión que sea más de una actualización secundaria posterior a la versión instalada.

Un clúster de administrador puede administrar clústeres de usuario que se encuentran en la misma versión secundaria o en una anterior. Los clústeres de usuario administrados no pueden tener una versión secundaria menor que el clúster de administrador, por lo que, antes de actualizar un clúster de administrador a una versión secundaria nueva, asegúrate de que todos los clústeres de usuario administrados usen la misma versión secundaria que el clúster de administrador.

Actualiza un clúster de administrador

Console

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

    Ir a los clústeres de GKE

  2. Selecciona el proyecto de Google Cloud y, luego, el clúster que deseas actualizar.

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

  4. En la sección Conceptos básicos del clúster, haz clic en Actualizar.

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

  6. Haz clic en Actualizar.

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

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

gcloud CLI

  1. De manera opcional, enumera todos los clústeres de administrador inscritos 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=-
    
    • Reemplaza PROJECT_ID por el ID del proyecto host de la flota al que pertenece el clúster. Si creaste el clúster con bmctl, este es el ID del proyecto en el campo gkeConnect.projectID del archivo de configuración del clúster.

    • Cuando configuras --location=-, significa que se deben enumerar todos los clústeres en todas las regiones. Si necesitas reducir el alcance de la lista, configura --location en una región específica.

    Si recibes un error PERMISSION_DENIED, vuelve a verificar el ID del proyecto que ingresaste. Si el ID del proyecto es correcto, ejecuta gcloud auth login para acceder a Google Cloud CLI con la cuenta que tiene acceso al proyecto.

  2. Obtén una lista de las versiones disponibles para actualizar:

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

    Reemplaza lo siguiente:

    • ADMIN_CLUSTER_NAME: Es el nombre del clúster de administrador.

    • PROJECT_ID: El ID del proyecto host de la flota al que pertenece el clúster.

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

  3. Actualiza el clúster de administrador:

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

    Reemplaza VERSION por la versión de Google Distributed Cloud a la que deseas actualizar. Especifica una versión del resultado del comando anterior. Te recomendamos actualizar a la versión más reciente del parche.

    El resultado del comando es similar al 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 averiguar el estado de la operación, copia el OPERATION_ID de tu resultado 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, según el tamaño de tu clúster. A medida que 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ás algo similar a lo siguiente en la ventana de terminal en la que ejecutaste 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.29.100-gke.251      abm-admin-cluster  RUNNING

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

Actualiza un clúster de usuario

Console

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

    Ir a los clústeres de GKE

  2. Selecciona el proyecto de Google Cloud y, luego, el clúster que deseas actualizar.

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

  4. En la sección Conceptos básicos del clúster, haz clic en Actualizar.

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

  6. Haz clic en Actualizar.

Antes de actualizar el clúster, se ejecutan las comprobaciones preliminares para validar su estado y el de los nodos. Si se aprueban las comprobaciones preliminares, se actualiza el clúster de usuario. La actualización tarda 30 minutos o más en completarse, según el tamaño de tu clúster.

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

gcloud CLI

  1. De manera opcional, enumera todos los clústeres de usuario inscritos en el proyecto para confirmar el nombre y la región del clúster:

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

    • Cuando configuras --location=-, significa que se deben enumerar todos los clústeres en todas las regiones. Si necesitas reducir el alcance de la lista, configura --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.29.100-gke.251   abm-admin-cluster  RUNNING
    

    Si recibes un error PERMISSION_DENIED, vuelve a verificar el ID del proyecto que ingresaste. Si el ID del proyecto es correcto, ejecuta gcloud auth login para acceder a Google Cloud CLI con la cuenta que tiene acceso al proyecto.

  2. Obtén una lista de las versiones disponibles para actualizar:

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

    Reemplaza lo siguiente:

    • USER_CLUSTER_NAME: Es el nombre del clúster de usuario que se actualizará.

    • PROJECT_ID: El ID del proyecto host de la flota al que pertenece el clúster.

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

    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 usuario:

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

    Reemplaza VERSION por la versión de Google Distributed Cloud a la que deseas actualizar. Especifica una versión del resultado del comando anterior. Te recomendamos actualizar a la versión más reciente del parche.

    El resultado del comando es similar al 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 averiguar el estado de la operación, copia el OPERATION_ID de tu resultado 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, según el tamaño de tu clúster. A medida que se actualiza el clúster, puedes ejecutar el comando anterior de vez en cuando para obtener el estado actual.

Para obtener información adicional sobre los campos y las marcas, consulta la referencia de los clústeres bare-metal de gcloud.

Terraform

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

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

  2. Obtén una lista de las versiones disponibles para actualizar:

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

    Reemplaza lo siguiente:

    • USER_CLUSTER_NAME: Es el nombre del clúster de usuario que se actualizará.

    • PROJECT_ID: El ID del proyecto host de la flota en el que ese clúster de usuario es miembro.

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

    Si recibes un error PERMISSION_DENIED, vuelve a verificar el ID del proyecto que ingresaste. Si el ID del proyecto es correcto, ejecuta gcloud auth login para acceder a Google Cloud CLI con la cuenta que tiene acceso al proyecto.

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

  4. Inicializa y crea terraform plan:

    terraform init
    

    Terraform instala las bibliotecas necesarias, como el proveedor de Google Cloud.

  5. Revisa la configuración y realiza cambios si es necesario:

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

    terraform apply
    

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