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 de un clúster es un cambio en su configuración.
Una actualización de clúster es un caso especial de actualización del clúster que incluye un cambio en la versión del plano de control o en la versión de un grupo de nodos. Para obtener información sobre la actualización, consulta Actualiza GKE en VMware.
Qué se puede actualizar
Algunas funciones y parámetros de configuración del clúster se pueden actualizar, pero otras funciones y configuraciones no se pueden actualizar después de que se crea el 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 del clúster de usuario. Los campos que se pueden actualizar están marcados como Mutable, y los que no se pueden actualizar están marcados como Inmutable.
También puedes ejecutar comandos gkectl
para ver qué funciones y parámetros de configuración se pueden actualizar.
Para ver lo que 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
Actualizar un elemento a la vez
Actualiza solo una función o un parámetro de configuración a la vez. Por ejemplo, supongamos que deseas actualizar la CPU principal y la memoria y que también deseas inhabilitar la reparación automática.
Entonces, harías dos actualizaciones separadas: una para la CPU y la memoria de la instancia principal y otra para la reparación automática. Verifica que la primera actualización sea exitosa 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 con Terraform, puedes usarlo 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 clústeres.
gkectl
El comando gkectl update
toma una de las siguientes formas:
gkectl update credentials
: Usa este método para actualizar las credenciales del clúster.gkectl update admin
: Ejecuta este comando después de realizar un cambio en el archivo de configuración del clúster de administrador.gkectl update cluster
: Ejecuta este comando después de realizar un cambio en el archivo de configuración del clúster de usuario.
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: Es la ruta de acceso del archivo de configuración del clúster de usuario.
ADMIN_CLUSTER_KUBECONFIG: la ruta del archivo kubeconfig del clúster de administrador
Console
En la consola, ve a la página de descripción general de los clústeres de Google Kubernetes Engine.
Selecciona el proyecto de Google Cloud y, luego, elige el clúster que deseas actualizar.
En el panel Detalles, haz clic en Más detalles.
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 del campo como desees y haz clic en LISTO.
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 para la configuración que deseas modificar:
Clústeres de administrador:
gcloud container vmware admin-clusters update
Clústeres de usuario:
gcloud container vmware clusters update
Grupos de nodos en un clúster de usuario:
gcloud container vmware node-pools update
Actualiza los usuarios administradores en un clúster de usuario
El 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 funciones (RBAC) de Kubernetes en cada clúster. Un usuario administrador es un usuario al que se le otorgó la función cluster-admin
en el clúster de usuario. Esta función otorga al usuario acceso de administrador completo al clúster.
Supongamos que Alice y Roberto son los únicos usuarios administradores en el clúster de usuario llamado cluster-1 en la región us-west1. Supongamos que Alicia quiere 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 a Trent a la lista de usuarios administradores. Ten en cuenta que Alice y Bob deben aparecer en el comando, ya que el comando reemplaza la lista actual de usuarios administradores con la lista especificada en el comando. Además, ten en cuenta que cada marca --admin-users
especifica solo un usuario. No puedes especificar varios usuarios en una sola marca.
Terraform
Cambia los valores de los campos aplicables en el archivo de configuración de Terraform que usaste para crear el clúster o el grupo de nodos. Para obtener descripciones detalladas de los campos, consulta la documentación de referencia de Terraform:
Para actualizar la configuración, ejecuta
terraform apply
.
Actualiza los usuarios administradores en un clúster de usuario
El 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 funciones (RBAC) de Kubernetes en cada clúster. Un usuario administrador es un usuario al que se le otorgó la función cluster-admin
en el clúster de usuario. Esta función otorga al usuario acceso de administrador completo al clúster.
Supongamos que Alice y Roberto son los únicos usuarios administradores en un clúster de usuario en particular. Supongamos que Alicia quiere 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 a Trent a la lista de usuarios administradores. Ten en cuenta que Alice y Bob deben aparecer en la configuración nueva, ya que el comando terraform apply
reemplaza la lista actual de usuarios administradores con la lista especificada en la configuración.
Más información
En los documentos enumerados en esta sección, se brindan detalles adicionales sobre la actualización de clústeres.
Actualizar clúster/administrador
En los siguientes documentos, se proporcionan detalles sobre el uso de gkectl update admin
y gkectl update cluster
para actualizar funciones y parámetros de configuración:
Actualizar credenciales
En los siguientes documentos, se proporcionan detalles sobre el uso de gkectl update credentials
para actualizar claves y certificados:
Rotación de certificados de la AC del clúster de administrador
Rotación de autoridades certificadoras del clúster de usuario
Actualiza las referencias del certificado de la AC de vCenter