En esta página, se explica cómo usar la consola de Google Cloud o Google Cloud CLI para actualizar un clúster de administrador o de usuario de Google Distributed Cloud que esté inscrito en la API de GKE On-Prem. Si creaste tu clúster de usuario con Terraform, puedes usar Terraform para actualizarlo. Para conocer los requisitos de actualización, las prácticas recomendadas y la información adicional sobre el proceso de actualización, consulta Prácticas recomendadas para la actualización y Ciclo de vida y etapas 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 administrar el ciclo de vida de tus clústeres locales con Terraform y herramientas estándares 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, mejorar y borrar clústeres en 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, lo que te permite usar los clientes estándar.
Antes de comenzar
Configura la CLI de gcloud
Para usar gcloud CLI o Terraform para actualizar un clúster, haz lo siguiente:
Asegúrate de tener la última versión 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, debes tener el rol de Identity and Access Management roles/gkeonprem.admin
en el proyecto de Google Cloud en el que se creó el clúster. Para obtener más detalles sobre los permisos incluidos en este rol, consulta Roles de GKE On-Prem en la documentación de IAM.
Para usar la consola y actualizar el clúster, como mínimo, debes contar con lo siguiente:
roles/container.viewer
. Este rol permite que los usuarios vean la página de 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 sobre cómo otorgar un rol con permisos de lectura y escritura, consulta Roles de Kubernetes Engine en la documentación de IAM.roles/gkehub.viewer
: Este rol permite que los usuarios vean los clústeres en la consola. Si deseas obtener detalles sobre los permisos incluidos en este rol o para otorgar un rol con permisos de lectura y escritura, consulta Roles de GKE Hub en la documentación de IAM.
Requisitos de la versión
Una versión de Google Distributed Cloud demora entre 7 y 10 días en estar disponible en la API de GKE On-Prem.
Puedes actualizar directamente a cualquier versión que se encuentre en la misma versión secundaria o en la próxima versión secundaria. Por ejemplo, puedes actualizar de la versión 1.30.100 a 1.30.200, o de la versión 1.29.100 a 1.30.200. No se permite la actualización a una versión que tenga más de una versió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 que actualices a la versión más reciente del parche.
Haz clic en Actualizar.
Antes de que se actualice el clúster, se ejecutan las verificaciones previas para validar el estado del clúster y el estado del nodo. Si las verificaciones previas se aprueban, se actualizará el clúster de administrador. La actualización tarda 30 minutos o más en completarse, según el tamaño del 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 de host de la flota en el que el clúster es miembro. 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
, verifica el ID del proyecto que ingresaste. Si el ID del proyecto es correcto, ejecutagcloud auth login
para acceder a la Google Cloud CLI con la cuenta que tiene acceso al proyecto.Obtén una lista de las versiones disponibles a las que puedes 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
: Es el ID del proyecto host de la flota en el que el clúster es miembro.REGION
: Es la región de Google Cloud en la que se ejecuta la API de GKE On-Prem y se almacenan 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 que actualices 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 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ás algo similar al siguiente en la ventana de la 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.30.100-gke.96 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 que se actualice el clúster, se ejecutan las verificaciones previas para validar el estado del clúster y el estado del nodo. Si las comprobaciones previas se aprueban, se actualizará el clúster de usuarios. La actualización tarda 30 minutos o más en completarse, según el tamaño del 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 usuarios 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 de host de la flota en el que el clúster es miembro. 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.30.100-gke.96 abm-admin-cluster RUNNING
Si recibes un error
PERMISSION_DENIED
, verifica el ID del proyecto que ingresaste. Si el ID del proyecto es correcto, ejecutagcloud auth login
para acceder a la Google Cloud CLI con la cuenta que tiene acceso al proyecto.Obtén una lista de las versiones disponibles a las que puedes 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
: Es el ID del proyecto host de la flota en el que el clúster es miembro.REGION
: Es la región de Google Cloud en la que se ejecuta la API de GKE On-Prem y se almacenan 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 usuarios 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 que actualices 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 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 información adicional sobre los campos y las marcas, consulta la referencia de clústeres de bare metal de contenedor de gcloud.
Terraform
Para actualizar un clúster con Terraform, usa 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 disponibles a las que puedes 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
: Es el ID del proyecto host de la flota en el que ese clúster de usuarios es miembro.REGION
: Es la región de Google Cloud en la que se ejecuta la API de GKE On-Prem y se almacenan sus metadatos.
Si recibes un error
PERMISSION_DENIED
, verifica el ID del proyecto que ingresaste. Si el ID del proyecto es correcto, ejecutagcloud auth login
para acceder a la Google Cloud CLI 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 deseas actualizar. Especifica una versión del resultado del comando anterior. Te recomendamos que actualices a la versión más reciente del parche.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.