Actualiza un clúster

En este documento, se muestra cómo realizar una actualización del clúster que no incluye un cambio de versión.

Una actualización del clúster es un cambio en la configuración del clúster.

Una actualización de clúster es un caso especial de una actualización de clúster que incluye un cambio en la versión del plano de control o un cambio en la versión de un grupo de nodos. Para obtener información sobre la actualización, consulta Actualiza Google Distributed Cloud.

Revisa las reglas de firewall

En la versión 1.29 y en las posteriores, las comprobaciones previas del servidor están habilitadas de forma predeterminada. Las comprobaciones previas del servidor requieren reglas de firewall adicionales. En Reglas de firewall para clústeres de administrador, busca “Verificaciones preliminares” y asegúrate de que todas las reglas de firewall necesarias estén configuradas.

Con las comprobaciones previas del servidor, cuando actualizas un clúster de usuario mediante gkectl, las comprobaciones previas se ejecutan en el clúster de administrador en lugar de localmente en la estación de trabajo de administrador. Las verificaciones previas del servidor se ejecutan en el clúster de administrador cuando usas la consola de Google Cloud, Google Cloud CLI o Terraform para actualizar un clúster.

Cuando actualizas un clúster de administrador, Google Distributed Cloud implementa un clúster de Kubernetes en Docker (tipo) para alojar de forma temporal los controladores de Kubernetes necesarios para actualizar el clúster de administrador. Este clúster transitorio se denomina clúster de arranque. Las comprobaciones previas del servidor se ejecutan en el clúster de arranque cuando actualizas un clúster de administrador.

Qué se puede actualizar

Algunas funciones y opciones de configuración del clúster se pueden actualizar, pero otras funciones y opciones de configuración no se pueden actualizar después de la creación del clúster. Para ver qué funciones se pueden actualizar, consulta las páginas de referencia del archivo de configuración del clúster de administrador y el archivo de configuración de clústeres de usuarios. Los campos que se pueden actualizar se marcan como Mutables y los que no se pueden actualizar se marcan como Inmutables.

También puedes ver qué funciones y opciones de configuración se pueden actualizar si ejecutas los comandos gkectl.

Para ver qué se puede actualizar en un clúster de administrador, haz lo siguiente:

gkectl update admin --help

Resultado de ejemplo:

Update the admin cluster. Only the following updates are supported and they can
only be updated one at a time:
- Enabling/Disabling Vsphere Resource Metrics
- Adding static IPs
- Updating vCenter CA certificate
- Registering Admin Cluster
- Enabling/Disabling Cloud Audit Logging
- Enabling/Disabling Stackdriver
- Enabling/Disabling Auto Repair
- Enabling/Disabling Auto Resize for Addon Nodes
- Enabling/Disabling GKE OnPrem API
- Updating OS Image Type
- Enabling/Disabling AntiAffinityGroups
- Update Secrets Encryption Configuration
- [Preview] Enabling/Disabling Cluster Backup
- [Preview] Update Cluster Backup configs

Para ver qué se puede actualizar en un clúster de usuario, haz lo siguiente:

gkectl update cluster --help

Resultado de ejemplo:

Update a GKE On-Prem cluster. Only the following updates are supported and they
can only be updated one at a time:
- Adding static IPs
- Updating node pool
- Updating user master cpu and memory
- Enabling/Disabling Vsphere Resource Metrics
- Enabling/Disabling vSphere CSI deployment
- Enabling/Disabling Auto Repair
- Enabling/Disabling Cloud Audit Logging
- Enabling/Disabling Stackdriver
- Enabling/Disabling GKE OnPrem API
- Registering User Cluster
- Updating vCenter CA certificate
- Updating MetalLB Address Pools
- Enabling/Disabling Auto Resizing on user master
- Updating NodePoolUpdatePolicy
- Enabling/Disabling AntiAffinityGroups
- [Preview] Enabling/Disabling Node Network Policy
- Updating Secrets Encryption
- Enabling/Disabling DataplaneV2 forwardMode

Actualiza un elemento a la vez

Actualiza solo un parámetro de configuración o función a la vez Por ejemplo, supongamos que deseas actualizar la CPU y la memoria principales y también deseas inhabilitar la reparación automática.

Luego, deberías realizar dos actualizaciones separadas: una para la CPU y la memoria principales, y otra para la reparación automática. Verifica que la primera actualización se realice de forma correcta antes de realizar la segunda.

Procedimiento de actualización

Puedes usar gkectl, la consola de Google Cloud o Google Cloud CLI para realizar actualizaciones en un clúster de usuario. Si creaste el clúster de usuario mediante Terraform, puedes usar Terraform para actualizar el clúster. En casi todos los casos, debes usar gkectl para actualizar los clústeres de administrador.

En los siguientes ejemplos, se muestra cómo actualizar los clústeres.

gkectl

El comando gkectl update toma una de las siguientes formas:

Ejemplo de clúster de administrador (gkectl update admin)

Supongamos que deseas cambiar el valor de gkeOnPremAPI.enabled de false a true en un clúster de administrador. Primero, edita el archivo de configuración del clúster de administrador y establece el valor en true:

gkeOnPremAPI:
  enabled: true

Luego, actualiza el clúster de administrador:

gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config ADMIN_CLUSTER_CONFIG

Reemplaza lo siguiente:

  • ADMIN_CLUSTER_KUBECONFIG: la ruta del archivo kubeconfig del clúster de administrador

  • ADMIN_CLUSTER_CONFIG: la ruta de acceso del archivo de configuración de tu clúster de administrador

Ejemplo de clúster de usuario (gkectl update cluster)

Supongamos que deseas cambiar el valor de stackdriver.vSphereDisableResourceMetrics de false a true en un clúster de usuario. Primero, edita el archivo de configuración del clúster de usuario y establece el valor en true:

stackdriver:
  disableVsphereResourceMetrics: true

Luego, actualiza el clúster de usuario:

gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG

Reemplaza lo siguiente:

  • ADMIN_CLUSTER_KUBECONFIG: la ruta del archivo kubeconfig del clúster de administrador

  • USER_CLUSTER_CONFIG: la ruta del archivo de configuración de tu clúster de usuario

Ejemplo de clúster de usuario (gkectl update credentials)

Supongamos que deseas cambiar las credenciales que usa un clúster de usuario para llamar a vCenter Server.

El archivo de configuración del clúster de usuario tiene un campo vCenter.credentials.fileRef.path que apunta a un archivo de configuración de credenciales. En el archivo de configuración de credenciales, actualiza los valores de username y password. Por ejemplo:

items:
- name: "vcenter-creds"
  username: "new-vcenter-account"
  password: "U$icUKEW#INE"

Luego, actualiza las credenciales:

gkectl update credentials vsphere \
    --config USER_CLUSTER_CONFIG \
    --kubeconfig ADMIN_CLUSTER_KUBECONFIG

Reemplaza lo siguiente:

  • USER_CLUSTER_CONFIG: la ruta del archivo de configuración de tu clúster de usuario

  • ADMIN_CLUSTER_KUBECONFIG: la ruta del archivo kubeconfig del 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. Los campos que se pueden actualizar en la consola de Google Cloud tienen un ícono de lápiz. Haz clic en uno de los íconos de lápiz. En el cuadro que se abre, cambia los valores de campo como desees y haz clic en LISTO.

  5. En la parte superior de la página, en la barra de progreso, haz clic en Mostrar detalles. Espera a que se complete la actualización.

gcloud CLI

Ejecuta el comando de actualización aplicable. Especifica solo las marcas de la configuración que deseas modificar:

Actualiza los usuarios administradores en un clúster de usuario

Cada servidor de la API de Kubernetes de cada clúster debe poder autorizar las solicitudes que recibe. Para configurar la autorización, debes configurar las políticas de control de acceso basado en roles (RBAC) de Kubernetes en cada clúster. Un usuario administrador es un usuario al que se le otorgó el rol cluster-admin en el clúster de usuario. Este rol otorga al usuario acceso de administrador completo al clúster.

Supongamos que Alice y Bob son los únicos usuarios administradores en el clúster de usuario llamado cluster-1 en la región us-west1. Supongamos que Alice desea agregar a Trent como usuario administrador adicional. Alice podría ejecutar el siguiente comando:

gcloud container vmware clusters update cluster-1 \
    --project example-project-id-12345 \
    --location us-west1 \
    --admin-users alice@example.com \
    --admin-users bob@example.com \
    --admin-users trent@example.com

El comando anterior mantiene a Alice y Bob en la lista de usuarios administradores y agrega Trent a la lista de usuarios administradores. Ten en cuenta que Alice y Bob deben aparecer en el comando, porque el comando reemplaza la lista actual de usuarios administradores con la lista especificada en el comando. También ten en cuenta que cada marca --admin-users especifica solo un usuario. No puedes especificar varios usuarios en una sola marca.

Terraform

  1. Cambia los valores de los campos aplicables en el archivo de configuración de Terraform que usaste para crear el clúster o grupo de nodos. Para obtener descripciones de campos detalladas, consulta la documentación de referencia de Terraform:

  2. Actualiza la configuración mediante la ejecución de terraform apply.

Actualiza los usuarios administradores en un clúster de usuario

Cada servidor de la API de Kubernetes de cada clúster debe poder autorizar las solicitudes que recibe. Para configurar la autorización, debes configurar las políticas de control de acceso basado en roles (RBAC) de Kubernetes en cada clúster. Un usuario administrador es un usuario al que se le otorgó el rol cluster-admin en el clúster de usuario. Este rol otorga al usuario acceso de administrador completo al clúster.

Supongamos que Alice y Bob son los únicos usuarios administradores en un clúster de usuario en particular. Supongamos que Alice desea agregar a Trent como usuario administrador adicional. Alice podría ajustar la configuración de Terraform de la siguiente manera y, luego, ejecutar terraform apply:

authorization {
  admin_users {
    username = "alice@example.com"
    username = "bob@example.com"
    username = "trent@example.com"
  }
}

El ajuste anterior mantiene a Alice y Bob en la lista de usuarios administradores y agrega Trent a la lista de usuarios administradores. Ten en cuenta que Alice y Bob deben aparecer en la configuración nueva, porque el comando terraform apply reemplaza la lista actual de usuarios administradores con la lista especificada en la configuración.

Más información

Los documentos que se enumeran en esta sección proporcionan detalles adicionales sobre la actualización de clústeres.

Actualiza clúster/administrador

En los siguientes documentos, se proporcionan detalles sobre el uso de gkectl update admin y gkectl update cluster para actualizar las funciones y la configuración:

Actualizar credenciales

En los siguientes documentos, se proporcionan detalles sobre el uso de gkectl update credentials para actualizar claves y certificados:

¿Qué sigue?

Actualizar un clúster