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