Actualizar los parámetros del clúster de Azure

En esta página se describe cómo actualizar la configuración de un clúster de GKE en Azure. Puedes usar estas instrucciones para actualizar cualquier ajuste de tu clúster, incluida la versión de Kubernetes. Como la actualización de la versión es una de las operaciones de actualización de clústeres más habituales, en la página Actualizar un clúster se explica cómo actualizar la versión de un clúster.

Motivos para actualizar un clúster

Puedes actualizar un clúster por cualquiera de los siguientes motivos:

  • Para actualizar la descripción de tu clúster, sigue estos pasos:
  • Para actualizar las anotaciones de tu clúster,
  • Para actualizar la lista de usuarios administrativos de tu clúster.
  • Para actualizar la configuración de registro de tu clúster, sigue estos pasos.
  • Para actualizar el tamaño de la VM de tu clúster.
  • Para actualizar el AzureClient de tu clúster, sigue estos pasos:
  • Para actualizar la autenticación de tu clúster de AzureClient a la federación de identidades de cargas de trabajo.

También puede actualizar otros campos de sus clústeres que no se mencionan aquí. Para ver una lista completa de los campos que puedes actualizar, consulta la documentación de gcloud container azure clusters update y projects.locations.azureClusters.patch.

Requisitos previos

  • Para actualizar cualquiera de los campos de tu clúster, debes tener el permiso gkemulticloud.googleapis.com/azureClusters.updateGestión de Identidades y Accesos.

El proceso de actualización

El proceso por el que GKE en Azure actualiza un clúster varía en función del tipo de actualización. En algunos casos, GKE en Azure puede actualizar un clúster sin reiniciar ni volver a crear ningún recurso, como la descripción de un clúster. GKE en Azure aplica estos cambios de inmediato.

Otros cambios requieren reiniciar los nodos del plano de control, como actualizar el tamaño de la VM o la versión de Kubernetes. En estas actualizaciones, GKE en Azure realiza una "actualización gradual" que consta de los siguientes pasos:

  1. Elige una instancia del plano de control que quieras actualizar. GKE en Azure actualiza las instancias incorrectas, si las hay, antes que las correctas.
  2. Elimina la instancia. GKE en Azure vuelve a crear la instancia y esta se inicia con la nueva configuración.
  3. Realiza comprobaciones del estado en la nueva instancia.
  4. Si las comprobaciones de estado se realizan correctamente, selecciona otra instancia y sigue los mismos pasos. Repite este ciclo hasta que se hayan reiniciado o recreado todas las instancias. Si la comprobación del estado falla, GKE en Azure coloca el clúster en el estado DEGRADED y detiene la actualización. Para obtener más información, consulta la siguiente sección.

Cuando falla una actualización

Después de una actualización, GKE en Azure realiza una comprobación del estado del clúster. Si la comprobación del estado falla, el clúster se marca como DEGRADED. Puedes mostrar el estado de tu clúster con el siguiente comando de la CLI de Google Cloud:

gcloud container azure clusters describe CLUSTER_NAME \
  --location=GOOGLE_CLOUD_LOCATION

Haz los cambios siguientes:

  • CLUSTER_NAME: el nombre de tu clúster
  • GOOGLE_CLOUD_LOCATION: la región Google Cloud que gestiona tu clúster

Actualizar un clúster

Puedes usar la Google Cloud consola, la CLI de Google Cloud o la API GKE Multi-Cloud para actualizar varios campos de clúster a la vez.

Elegir un método de actualización

Puedes actualizar la mayoría de los campos a través de la consola, la CLI de gcloud o la API Multi-Cloud de GKE. Algunos campos solo se pueden actualizar mediante un mecanismo u otro. Si quieres usar la consola para actualizar un clúster, primero debes elegir y configurar un método de autenticación para iniciar sesión en el clúster. Para obtener más información, consulta Conectarse y autenticarse en tu clúster.

Consola

  1. En la Google Cloud consola, ve a la página Resumen de clústeres de Google Kubernetes Engine.

    Ir a clústeres de GKE

  2. Selecciona el Google Cloud proyecto en el que se encuentra el clúster.

  3. En la lista de clústeres, selecciona el nombre del clúster y, a continuación, Ver detalles en el panel lateral.

  4. En la pestaña Detalles, selecciona Editar en el campo que quieras cambiar.

    Por ejemplo, para conceder privilegios de administrador del clúster a otros usuarios, selecciona Editar junto a Usuarios administradores e introduce la dirección de correo del usuario.

  5. Cuando hayas terminado de hacer los cambios, selecciona Hecho.

gcloud

Cuando actualizas un clúster con la CLI de gcloud, siempre debes incluir los campos CLUSTER_NAME y GOOGLE_CLOUD_LOCATION, que indican a GKE en Azure qué clúster se debe actualizar. En el siguiente comando, incluya solo los campos que quiera actualizar. Elimine los demás campos antes de ejecutar el comando.

gcloud container azure clusters update CLUSTER_NAME \
    --location=GOOGLE_CLOUD_LOCATION \
    --cluster-version=CLUSTER_VERSION \
    --admin-users=USERNAME_LIST \
    --client=CLIENT_NAME \
    --vm-size=VM_SIZE 

Haz los cambios siguientes:

  • CLUSTER_NAME: el nombre de tu clúster
  • GOOGLE_CLOUD_LOCATION (obligatorio): la región admitida Google Cloud que gestiona tu clúster. Por ejemplo, us-west1.
  • CLUSTER_VERSION: la nueva versión del clúster compatible
  • USERNAME_LIST: lista de nombres de usuario separados por comas (por ejemplo, "kai@example.com,hao@example.com,kalani@example.com"). Estas son las direcciones de correo electrónico de los usuarios a los que vas a conceder privilegios de administrador en este clúster. Los nombres de este ajuste sustituirán a cualquier lista anterior de usuarios administradores del clúster.
  • CLIENT_NAME: tu AzureClient
  • VM_SIZE: el nuevo tamaño de VM admitido

Para actualizar la autenticación del clúster de AzureClient a federación de identidades de cargas de trabajo, ejecuta el siguiente comando:

gcloud container azure clusters update CLUSTER_NAME \
    --location=GOOGLE_CLOUD_LOCATION \
    --azure-tenant-id="${TENANT_ID}" \
    --azure-application-id="${APPLICATION_ID}" \
    --clear-client

API

Cuando actualizas un clúster mediante la API GKE Multi-Cloud, siempre debes incluir los campos CLUSTER_NAME y GOOGLE_CLOUD_LOCATION en la solicitud HTTP. Estos campos indican a GKE en Azure qué clúster se debe actualizar. También debes incluir el endpoint de la API en la solicitud. Crea un archivo JSON con los campos que quieras actualizar. Incluye solo los campos que quieras actualizar en el archivo JSON y en el UPDATE_MASK.

En el siguiente ejemplo se muestra cómo actualizar el clúster a través de la API. Para obtener más información, incluida la lista de campos que puedes actualizar, consulta la documentación del método projects.locations.azureClusters.patch.

  1. Crea un archivo JSON llamado cluster_update.json con los campos que quieras actualizar.

    • Si usas la federación de identidades de cargas de trabajo, el archivo JSON debería tener este aspecto:
      {
        "description": "CLUSTER_DESCRIPTION",
        "controlPlane": {
          "version": "CLUSTER_VERSION",
          "vm_size": "VM_SIZE
        },
        "azureServicesAuthentication": {
          "tenantId": "TENANT_ID",
          "applicationId": "APPLICATION_ID"
        },
        "authorization": {
            "adminUsers": [
                {
                "username": USERNAME1,
                "username": USERNAME2,
                "username": USERNAME3
                }
            ]
        }
      }
      
    • Si usas cliente de Azure, el archivo JSON debería tener este aspecto:
      {
        "description": "CLUSTER_DESCRIPTION",
        "controlPlane": {
          "version": "CLUSTER_VERSION",
          "vm_size": "VM_SIZE
        },
        "azureClient": "CLIENT_NAME",
        "authorization": {
            "adminUsers": [
                {
                "username": USERNAME1,
                "username": USERNAME2,
                "username": USERNAME3
                }
            ]
        }
      }
      

    Haz los cambios siguientes:

    • CLUSTER_VERSION: la nueva versión del clúster admitida. Ten en cuenta que debes actualizar todas las versiones secundarias al actualizar tu clúster
    • CLUSTER_DESCRIPTION: la nueva descripción del clúster
    • USERNAME1, USERNAME2 y USERNAME3: las direcciones de correo de los usuarios a los que vas a conceder privilegios de administrador en este clúster. Los nombres de estos campos sustituirán a cualquier lista anterior de usuarios administradores del clúster.
    • CLIENT_NAME: el nombre de tu AzureClient
    • TENANT_ID: el ID de cliente de Azure
    • APPLICATION_ID: el ID de aplicación de Azure que se creó en Crear una aplicación de Azure Active Directory
    • VM_SIZE: el nuevo tamaño de la VM
  2. Actualiza estos ajustes a través de la API Multi-Cloud de GKE con el siguiente comando.

    curl -d @cluster_update.json -X PATCH \
       ENDPOINT/projects/PROJECT_ID/locations/GOOGLE_CLOUD_LOCATION/azureClusters/CLUSTER_NAME?update_mask=UPDATE_MASK
    

Haz los cambios siguientes:

  • ENDPOINT (obligatorio): el Google Cloud endpoint de servicio
  • PROJECT_ID (obligatorio): tu Google Cloud proyecto
  • GOOGLE_CLOUD_LOCATION (obligatorio): la región admitida Google Cloud que gestiona tu clúster. Por ejemplo, us-west1.
  • CLUSTER_NAME (obligatorio): nombre del clúster
  • UPDATE_MASK (obligatorio): lista separada por comas de una o varias de las siguientes marcas, que indican los campos que quieres actualizar. En este ejemplo, especifica lo siguiente.
    • controlPlane.version
    • description
    • authorization.admin_users
    • control_plane.vm_size
    • azure_client
    • azure_services_authentication.tenant_id
    • azure_services_authentication.application_id

Para actualizar la autenticación del clúster de AzureClient a federación de identidades de cargas de trabajo, añade azure_client, azure_services_authentication.tenant_id y azure_services_authentication.application_id en el campo update_mask.

Actualizar configuración de registro

Puedes actualizar los ajustes de configuración de Cloud Logging de tu clúster con la CLI de Google Cloud. Para actualizar la configuración de registro, ejecuta el siguiente comando:

gcloud container azure clusters update CLUSTER_NAME \
    --location=GOOGLE_CLOUD_LOCATION \
    --logging=LOGGING_CONFIG \

Haz los cambios siguientes:

  • CLUSTER_NAME: el nombre de tu clúster
  • GOOGLE_CLOUD_LOCATION: la región Google Cloud admitida que gestiona tu clúster. Por ejemplo, us-west1.
  • LOGGING_CONFIG: [SYSTEM] o [SYSTEM,WORKLOAD]

Siguientes pasos