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:
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
En la consola, ve a la página Descripción general de los clústeres de Google Kubernetes Engine.
Selecciona el proyecto de Google Cloud y, luego, el clúster que deseas actualizar.
En el panel Detalles, haz clic en Más detalles.
En la sección Conceptos básicos del clúster, haz clic en
Actualizar.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.
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
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 conbmctl
, este es el ID del proyecto en el campogkeConnect.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, ejecutagcloud auth login
para acceder a Google Cloud CLI con la cuenta que tiene acceso al proyecto.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.
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 elOPERATION_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
En la consola, ve a la página Descripción general de los clústeres de Google Kubernetes Engine.
Selecciona el proyecto de Google Cloud y, luego, el clúster que deseas actualizar.
En el panel Detalles, haz clic en Más detalles.
En la sección Conceptos básicos del clúster, haz clic en
Actualizar.En la lista Elegir versión de destino, selecciona la versión a la que deseas actualizar.
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
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 conbmctl
, este es el ID del proyecto en el campogkeConnect.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, ejecutagcloud auth login
para acceder a Google Cloud CLI con la cuenta que tiene acceso al proyecto.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 es1.14.6
.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 elOPERATION_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.
Ve al directorio en el que se encuentra el archivo de configuración de Terraform.
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, ejecutagcloud auth login
para acceder a Google Cloud CLI con la cuenta que tiene acceso al proyecto.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.Inicializa y crea terraform plan:
terraform init
Terraform instala las bibliotecas necesarias, como el proveedor de Google Cloud.
Revisa la configuración y realiza cambios si es necesario:
terraform plan
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.