Crea y administra clústeres

En esta página, se describe cómo crear y administrar recursos de clústeres conectados de Google Distributed Cloud. A partir de la versión 1.7.0, Google Distributed Cloud Connected ya no admite clústeres de plano de control de Cloud.

Para obtener más información sobre los clústeres de Distributed Cloud conectado, consulta Cómo funciona Distributed Cloud conectado.

Requisitos previos

Antes de crear un clúster conectado de Distributed Cloud, debes habilitar las APIs requeridas en el proyecto Google Cloud de destino. Para ello, debes tener uno de los siguientes roles en el proyecto Google Cloud :

  • Propietario (roles/owner)
  • Editor (roles/editor)
  • Administrador de Service Usage (roles/serviceusage.serviceUsageAdmin)

Para obtener más información sobre estas funciones, consulta Funciones básicas. Para obtener información sobre cómo otorgar roles, consulta Otorga un solo rol.

Para crear un clúster conectado de Distributed Cloud, habilita las siguientes APIs:

  • anthos.googleapis.com
  • anthosaudit.googleapis.com
  • anthosgke.googleapis.com
  • cloudresourcemanager.googleapis.com
  • connectgateway.googleapis.com
  • container.googleapis.com
  • edgecontainer.googleapis.com
  • gkeconnect.googleapis.com
  • gkehub.googleapis.com
  • gkeonprem.googleapis.com
  • iam.googleapis.com
  • kubernetesmetadata.googleapis.com
  • logging.googleapis.com
  • monitoring.googleapis.com
  • opsconfigmonitoring.googleapis.com
  • serviceusage.googleapis.com
  • stackdriver.googleapis.com
  • storage.googleapis.com
  • sts.googleapis.com

Para obtener información sobre cómo habilitar las APIs, consulta Habilita servicios.

Antes de crear un clúster, familiarízate también con los siguientes temas:

Crea un clúster

Para crear un clúster conectado de Distributed Cloud, completa los pasos de esta sección. La creación de un clúster es uno de los varios pasos necesarios para implementar una carga de trabajo en Distributed Cloud Connected.

Para completar esta tarea, debes tener el rol de administrador de contenedores perimetrales (roles/edgecontainer.admin) en tu proyecto de Google Cloud .

Console

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

    Ir a los clústeres

  2. Haz clic en Crear.

  3. En la página Crear un clúster, haz clic en la pestaña On-premises.

  4. Junto a la opción Distributed Cloud Edge, haz clic en Configurar.

  5. En la página Aspectos básicos del clúster, proporciona la siguiente información:

    • Nombre: Es un nombre único que identifica este clúster. Este nombre debe cumplir con la RFC 1213 y constar solo de caracteres alfanuméricos en minúscula y guiones (-). Debe comenzar y terminar con un carácter alfanumérico.
    • Ubicación: La región Google Cloud en la que deseas crear este clúster.
    • Cantidad máx. predeterminada de Pods por nodo: Es la cantidad máxima deseada de Pods de Kubernetes que se ejecutarán en cada nodo de este clúster.
    • Etiquetas: Te permite agregar una o más etiquetas a este clúster haciendo clic en Agregar etiqueta.
  6. En el panel de navegación izquierdo, haz clic en Control plane.

  7. En la página Plano de control, proporciona la siguiente información:

    • Selecciona Local para la ubicación del plano de control.
    • Selecciona el proyecto de destino conectado a Distributed Cloud.
    • Selecciona la zona conectada de Distributed Cloud de destino.
    • De manera opcional, especifica criterios de filtrado para seleccionar máquinas de Distributed Cloud específicas que se agregarán al clúster.
    • Especifica si deseas que sea un clúster de alta disponibilidad.
    • Especifica si deseas permitir la implementación compartida de cargas de trabajo. Esto permite que tus cargas de trabajo se ejecuten en los nodos que ejecutan el plano de control del clúster.
  8. En el panel de navegación izquierdo, haz clic en Herramientas de redes.

  9. En la página Networking, proporciona la siguiente información:

    • Rango de direcciones de Pod predeterminado del clúster: Es el bloque CIDR de IPv4 deseado para los Pods de Kubernetes que se ejecutan en este clúster.
    • Rango de direcciones de servicio: Es el bloque CIDR IPv4 deseado para los servicios de Kubernetes que se ejecutan en este clúster.

    Para obtener más información, consulta Asignación de direcciones de red de pods y servicios de Distributed Cloud.

  10. En el menú de navegación de la izquierda, haz clic en Autorización.

  11. En la página Autorización, proporciona el nombre de la cuenta de usuario dentro del proyecto Google Cloud de destino que está autorizado para modificar los recursos del clúster.

  12. Asigna un grupo de nodos al clúster de una de las siguientes maneras:

    • Para asignar un grupo de nodos existente a este clúster, en la sección Grupos de nodos del panel de navegación de la izquierda, selecciona el grupo de nodos existente y verifica que la configuración del grupo de nodos en la página Detalles del grupo de nodos sea correcta.
    • Para crear un grupo de nodos nuevo y asignarlo a este clúster, haz clic en Agregar grupo de nodos y proporciona la siguiente información en la página Detalles del grupo de nodos:
      • Nombre del grupo de nodos: Es un nombre único que identifica este grupo de nodos.
      • Etiquetas del grupo de nodos: Haz clic en Agregar etiqueta para agregar una o más etiquetas a este grupo de nodos.
      • Preferencia de nodos trabajadores: Selecciona los nodos conectados a Distributed Cloud que se asignarán a este grupo de nodos.
  13. Para crear el clúster conectado de Distributed Cloud, haz clic en Crear.

gcloud

Usa el comando gcloud edge-cloud container clusters create:

gcloud edge-cloud container clusters create CLUSTER_ID \
    --project=PROJECT_ID \
    --location=REGION \
    --fleet-project=FLEET_PROJECT_ID \
    --cluster-ipv4-cidr=CLUSTER_IPV4_CIDR_BLOCK \
    --cluster-ipv6-cidr=CLUSTER_IPV6_CIDR_BLOCK \
    --services-ipv4-cidr=SERVICE_IPV4_CIDR_BLOCK \
    --services-ipv6-cidr=SERVICE_IPV6_CIDR_BLOCK \
    --default-max-pods-per-node=MAX_PODS_PER_NODE \
    --release-channel RELEASE_CHANNEL \
    --control-plane-node-storage-schema CONTROL_PLANE_STORAGE_SCHEMA \
    --control-plane-kms-key=CONTROL_PLANE_KMS_KEY \
    --control-plane-node-location=CONTROL_PLANE_LOCATION \
    --control-plane-node-count=CONTROL_PLANE_NODE_COUNT \
    --control-plane-machine-filter=CONTROL_PLANE_NODE_FILTER \
    --control-plane-shared-deployment-policy=CONTROL_PLANE_NODE_SHARING \
    --external-lb-address-pools=IPV4/IPV6_DATA_PLANE_ADDRESSES \
    --version SOFTWARE_VERSION \
    --offline-reboot-ttl REBOOT_TIMEOUT

 

Reemplaza lo siguiente:

  • CLUSTER_ID: Es un nombre único que identifica este clúster. Este nombre debe cumplir con el RFC 1213 y contener solo caracteres alfanuméricos en minúscula y guiones (-). Debe comenzar y terminar con un carácter alfanumérico.
  • PROJECT_ID: Es el ID del proyecto Google Cloud de destino.
  • REGION: Es la región Google Cloud en la que se crea el clúster.
  • FLEET_PROJECT_ID: Es el ID del proyecto host de la flota en el que se registró el clúster. Si se omite esta marca, se usa el proyecto del clúster conectado de Distributed Cloud como proyecto host de la flota.
  • CLUSTER_IPV4_CIDR_BLOCK: Es el bloque CIDR de IPv4 deseado para los Pods de Kubernetes que se ejecutan en este clúster.
  • CLUSTER_IPV6_CIDR_BLOCK: Es el bloque CIDR de IPv6 deseado para los Pods de Kubernetes que se ejecutan en este clúster.
  • SERVICE_IPV4_CIDR_BLOCK: Es el bloque CIDR IPv4 deseado para los servicios de Kubernetes que se ejecutan en este clúster.
  • SERVICE_IPV6_CIDR_BLOCK: Es el bloque CIDR IPv6 deseado para los servicios de Kubernetes que se ejecutan en este clúster.
  • MAX_PODS_PER_NODE (opcional): Es la cantidad máxima deseada de Pods de Kubernetes que se ejecutarán en cada nodo de este clúster.
  • RELEASE_CHANNEL: (opcional) Especifica el canal de versiones de la versión del software de Distributed Cloud que deseas que ejecute este clúster. Los valores válidos son REGULAR (habilitar las actualizaciones automáticas del clúster) y NONE (inhabilitar las actualizaciones automáticas del clúster). Si se omite, el valor predeterminado es REGULAR.
  • CONTROL_PLANE_STORAGE_SCHEMA (opcional): Especifica el esquema de almacenamiento local para los nodos del plano de control en este clúster. Para obtener más información, consulta Configura esquemas de almacenamiento local.
  • CONTROL_PLANE_KMS_KEY (opcional): Es la ruta de acceso completa a la clave de Cloud KMS que deseas usar con el nodo del plano de control de este clúster. Por ejemplo:

    /projects/myProject/locations/us-west1-a/keyRings/myKeyRing/cryptoKeys/myGDCE-Key
    

    Esta marca solo se aplica si integraste Distributed Cloud Connected con Cloud Key Management Service, como se describe en Cómo habilitar la compatibilidad con las claves de encriptación administradas por el cliente (CMEK) para el almacenamiento local.

  • CONTROL_PLANE_LOCATION: Indica a Distributed Cloud que implemente las cargas de trabajo del plano de control para este clúster de forma local. El valor es el nombre de la zona conectada de Distributed Cloud de destino.

  • CONTROL_PLANE_NODE_COUNT (opcional): Especifica la cantidad de nodos en los que se ejecutarán las cargas de trabajo del plano de control local. Los valores válidos son 3 para alta disponibilidad y 1 para operación estándar. Si se omite, el valor predeterminado es 3.

  • CONTROL_PLANE_NODE_FILTER (opcional): Especifica una lista con formato de regex de los nodos que ejecutan las cargas de trabajo del plano de control local. Si se omite, Distributed Cloud selecciona los nodos automáticamente de forma aleatoria.

  • CONTROL_PLANE_NODE_SHARING: (opcional) Especifica si las cargas de trabajo de la aplicación pueden ejecutarse en los nodos que ejecutan las cargas de trabajo del plano de control local. Los valores válidos son DISALLOWED y ALLOWED. Si se omite, el valor predeterminado es DISALLOWED.

  • IPV4/IPV6_DATA_PLANE_ADDRESSES: Especifica un archivo de configuración en formato YAML o JSON que enumera las direcciones IPv4 e IPv6, los rangos de direcciones o las subredes para el tráfico de entrada de los servicios que se ejecutan detrás del balanceador de cargas de Distributed Cloud cuando el clúster se ejecuta en modo de supervivencia. Para obtener más información, consulta Balanceo de cargas de capa 2 con MetalLB.

  • SOFTWARE_VERSION: Especifica la versión de software conectada de Distributed Cloud en la que deseas que se ejecute este clúster en el formato 1.X.Y, donde X es la versión secundaria y Y es la versión de parche, por ejemplo, 1.5.1. Si se omite, se usa la versión de software predeterminada del servidor, que suele ser la versión más reciente disponible de Distributed Cloud Connected. Para obtener las versiones de software disponibles para la creación de clústeres, incluida la versión predeterminada del servidor, consulta Cómo obtener las versiones de software disponibles para un clúster. Debes establecer la marca RELEASE_CHANNEL en NONE para especificar una versión de software del clúster.

  • REBOOT_TIMEOUT: Especifica un período en segundos durante el cual un nodo de clúster puede volver a unirse a un clúster después de reiniciarse mientras el clúster se ejecuta en modo de supervivencia. Si se omite, el valor predeterminado es 0, que no permite que los nodos reiniciados se unan al clúster hasta que se restablezca la conexión con Google Cloud .

    PRECAUCIÓN: Si especificas un período de espera de reinicio, los nodos que se desconectaron pueden reiniciarse y volver a unirse al clúster, incluso si inhabilitas o borras la clave de almacenamiento durante el período especificado.

API

Realiza una solicitud POST al método projects.locations.clusters:

POST /v1/projects/PROJECT_ID/locations/REGION/clusters?clusterId=CLUSTER_ID&requestId=REQUEST_ID&fleetId=FLEET_PROJECT_ID

{
  "labels": { LABELS,
  },
  "authorization": {
    "adminUsers": {
      "username": "USERNAME"
    }
  },
  "fleet": {
    "project": "FLEET_PROJECT_ID"
  },
  "networking": {
    "clusterIpv4CidrBlocks": CLUSTER_IPV4_CIDR_BLOCK,
    "servicesIpv4CidrBlocks": SERVICE_IPV4_CIDR_BLOCK,
    "clusterIpv6CidrBlocks": CLUSTER_IPV6_CIDR_BLOCK,
    "servicesIpv6CidrBlocks": SERVICE_IPV6_CIDR_BLOCK,
      },
  "defaultMaxPodsPerNode": MAX_PODS_PER_NODE,
  "releaseChannel": "RELEASE_CHANNEL",
  "controlPlaneEncryption": {
   "kmsKey": CONTROL_PLANE_KMS_KEY,
  },
  "controlPlane": {
    "local": {
      "nodeLocation": "CONTROL_PLANE_LOCATION",
      "nodeCount": CONTROL_PLANE_NODE_COUNT,
      "machineFilter": "CONTROL_PLANE_NODE_FILTER",
      "sharedDeploymentPolicy": "CONTROL_PLANE_NODE_SHARING"
    }
  },
  "externalLoadBalancerIpAddressPools": [
    "IPV4/IPV6_DATA_PLANE_ADDRESSES"
  ],
  "targetVersion": "SOFTWARE_VERSION",
  "offlineRebootTtl": "REBOOT_TIMEOUT",
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto Google Cloud de destino.
  • REGION: Es la Google Cloud región en la que se crea el clúster de Distributed Cloud conectado de destino.
  • CLUSTER_ID: Es un nombre único que identifica este clúster. Este nombre debe cumplir con el RFC 1213 y contener solo caracteres alfanuméricos en minúscula y guiones (-). Debe comenzar y terminar con un carácter alfanumérico.
  • REQUEST_ID: Es un ID programático único que identifica esta solicitud.
  • FLEET_PROJECT_ID: Es el ID del proyecto host de la flota en el que se registró el clúster. Puede ser un proyecto independiente o el proyecto conectado de Distributed Cloud al que pertenece este clúster (PROJECT_ID). El registro de la flota es obligatorio.
  • LABELS: Es una lista de etiquetas que se aplicarán a este recurso de clúster.
  • USERNAME: Es el nombre de la cuenta de usuario dentro del proyecto Google Cloud de destino autorizado para modificar los recursos del clúster.
  • CLUSTER_IPV4_CIDR_BLOCK: Es el bloque CIDR de IPv4 deseado para los Pods de Kubernetes que se ejecutan en este clúster.
  • CLUSTER_IPV6_CIDR_BLOCK: Es el bloque CIDR de IPv6 deseado para los Pods de Kubernetes que se ejecutan en este clúster.
  • SERVICE_IPV4_CIDR_BLOCK: Es el bloque CIDR IPv4 deseado para los servicios de Kubernetes que se ejecutan en este clúster.
  • SERVICE_IPV6_CIDR_BLOCK: Es el bloque CIDR IPv6 deseado para los servicios de Kubernetes que se ejecutan en este clúster.
  • MAX_PODS_PER_NODE: Es la cantidad máxima deseada de Pods de Kubernetes que se ejecutarán en cada nodo de este clúster.
  • RELEASE_CHANNEL: (opcional) Especifica el canal de versiones para la versión del software conectado de Distributed Cloud que deseas que ejecute este clúster. Los valores válidos son REGULAR (habilitar las actualizaciones automáticas del clúster) y NONE (inhabilitar las actualizaciones automáticas del clúster). Si se omite, el valor predeterminado es REGULAR.
  • CONTROL_PLANE_KMS_KEY (opcional): Es la ruta de acceso completa a la clave de Cloud KMS que deseas usar con el nodo del plano de control de este clúster. Por ejemplo:

    /projects/myProject/locations/us-west1-a/keyRings/myKeyRing/cryptoKeys/myGDCE-Key
    

    Este parámetro solo se aplica si integraste Distributed Cloud Connected con Cloud Key Management Service, como se describe en Cómo habilitar la compatibilidad con las claves de encriptación administradas por el cliente (CMEK) para el almacenamiento local.

  • CONTROL_PLANE_LOCATION: Indica a Distributed Cloud que implemente las cargas de trabajo del plano de control para este clúster de forma local. El valor es el nombre de la zona de Distributed Cloud de destino.

  • CONTROL_PLANE_NODE_COUNT: Especifica la cantidad de nodos en los que se ejecutarán las cargas de trabajo del plano de control local. Los valores válidos son 3 para alta disponibilidad y 1 para operación estándar.

  • CONTROL_PLANE_NODE_FILTER (opcional): Especifica una lista con formato de regex de los nodos que ejecutan las cargas de trabajo del plano de control local. Si se omite, Distributed Cloud selecciona los nodos automáticamente de forma aleatoria.

  • CONTROL_PLANE_NODE_SHARING: Especifica si las cargas de trabajo de la aplicación pueden ejecutarse en los nodos que ejecutan las cargas de trabajo del plano de control local. Los valores válidos son DISALLOWED y ALLOWED. Si se omite, el valor predeterminado es DISALLOWED.

  • IPV4/IPV6_DATA_PLANE_ADDRESSES: Especifica una carga útil de configuración en formato YAML o JSON que enumera las direcciones IPv4 e IPv6, los rangos de direcciones o las subredes para el tráfico de entrada de los servicios que se ejecutan detrás del balanceador de cargas de Distributed Cloud cuando el clúster se ejecuta en modo de supervivencia. Para obtener más información, consulta Balanceo de cargas de capa 2 con MetalLB.

  • SOFTWARE_VERSION: Especifica la versión del software de Distributed Cloud en la que deseas que se ejecute este clúster en el formato 1.X.Y, en el que X es la versión secundaria y Y es la versión del parche, por ejemplo, 1.5.1. Si se omite, se usa la versión de software predeterminada del servidor, que suele ser la versión más reciente disponible de Distributed Cloud Connected. Para obtener las versiones de software disponibles para la creación de clústeres, incluida la versión predeterminada del servidor, consulta Cómo obtener las versiones de software disponibles para un clúster. Debes configurar el campo RELEASE_CHANNEL como NONE para especificar una versión de software del clúster.

  • REBOOT_TIMEOUT: Especifica un período en segundos durante el cual un nodo de clúster puede volver a unirse a un clúster después de reiniciarse mientras el clúster se ejecuta en modo de supervivencia. Si se omite, el valor predeterminado es 0, que no permite que los nodos reiniciados se unan al clúster hasta que se restablezca la conexión con Google Cloud .

    PRECAUCIÓN: Si especificas un período de espera de reinicio, los nodos que se desconectaron pueden reiniciarse y volver a unirse al clúster, incluso si inhabilitas o borras la clave de almacenamiento durante el período especificado.

Enumera los clústeres en una región

Para enumerar los clústeres conectados de Distributed Cloud aprovisionados en una región deGoogle Cloud , completa los pasos de esta sección.

Para completar esta tarea, debes tener el rol de visualizador de contenedores de Edge (roles/edgecontainer.viewer) en tu proyecto de Google Cloud .

Console

  1. En la consola de Google Cloud , ve a la página Clústeres.

    Ir a los clústeres

  2. Examina la lista de clústeres.

gcloud

Usa el comando gcloud edge-cloud container clusters list:

gcloud edge-cloud container clusters list \
    --project=PROJECT_ID \
    --location=REGION

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto Google Cloud de destino.
  • REGION: Es la Google Cloud región en la que creaste tu clúster de Distributed Cloud conectado.

API

Realiza una solicitud GET al método projects.locations.clusters.list:

GET /v1/projects/PROJECT_ID/locations/REGION/clusters?clusterId=CLUSTER_ID&filter=FILTER&pageSize=PAGE_SIZE&orderBy=SORT_BY&pageToken=PAGE_TOKEN

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto Google Cloud de destino.
  • REGION: Es la Google Cloud región en la que se crea el clúster de Distributed Cloud de destino.
  • CLUSTER_ID: Es el nombre del clúster de destino.
  • FILTER: Es una expresión que limita los resultados devueltos a valores específicos.
  • PAGE_SIZE: Es la cantidad de resultados que se mostrarán por página.
  • SORT_BY: Es una lista delimitada por comas de los nombres de los campos por los que se ordenan los resultados devueltos. El orden de clasificación predeterminado es ascendente. Para obtener un orden de clasificación descendente, agrega el prefijo ~ al campo deseado.
  • PAGE_TOKEN: Es un token que se recibe en la respuesta a la última solicitud de lista en el campo nextPageToken de la respuesta. Envía este token para recibir una página de resultados.

Obtén información sobre un clúster

Para obtener información sobre un clúster conectado de Distributed Cloud, completa los pasos de esta sección.

Para completar esta tarea, debes tener el rol de visualizador de contenedores de Edge (roles/edgecontainer.viewer) en tu proyecto de Google Cloud .

Console

  1. En la consola de Google Cloud , ve a la página Clústeres.

    Ir a los clústeres

  2. Selecciona el clúster deseado.

    En el panel derecho, aparecerá un panel desplegable con información detallada sobre el clúster.

gcloud

Usa el comando gcloud edge-cloud container clusters describe:

gcloud edge-cloud container clusters describe CLUSTER_ID \
    --project=PROJECT_ID \
    --location=REGION

Reemplaza lo siguiente:

  • CLUSTER_ID: Es el nombre del clúster de destino.
  • PROJECT_ID: Es el ID del proyecto Google Cloud de destino.
  • REGION: Es la Google Cloud región en la que creaste tu zona conectada de Distributed Cloud.

API

Realiza una solicitud GET al método projects.locations.clusters.get:

GET /v1/projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto Google Cloud de destino.
  • REGION: Es la Google Cloud región en la que se crea el clúster conectado de Distributed Cloud de destino.
  • CLUSTER_ID: Es el nombre del clúster de destino.

Obtén las versiones de software disponibles para un clúster

Para saber qué versiones de software conectadas de Distributed Cloud están disponibles en tu zona conectada de Distributed Cloud para crear clústeres, completa los pasos de esta sección.

Para completar esta tarea, debes tener el rol de visualizador de contenedores de Edge (roles/edgecontainer.viewer) en tu proyecto de Google Cloud .

gcloud

Usa el comando gcloud edge-cloud container get-server-config:

gcloud edge-cloud container get-server-config --location=REGION

Reemplaza REGION por la Google Cloud región en la que creaste tu zona conectada de Distributed Cloud.

API

Realiza una solicitud GET al método projects.locations.serverConfig:

GET /v1/projects/PROJECT_ID/locations/REGION/serverConfig

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto Google Cloud de destino.
  • REGION: Es la Google Cloud región en la que se crea el clúster conectado de Distributed Cloud de destino.

Actualiza la versión de software de un clúster

Para actualizar la versión de software de un clúster conectado de Distributed Cloud, completa los pasos de esta sección.

Cómo especificar el tamaño de la etapa de actualización de software

Antes de completar los pasos de esta sección, consulta Escalonamiento de actualizaciones de software.

Para especificar la cantidad de nodos que pueden dejar de funcionar para las actualizaciones de software de forma simultánea, usa el siguiente comando:

 gcloud edge-cloud container clusters update CLUSTER_ID \
    --project=PROJECT_ID \
    --location=REGION \
    --max-unavailable-worker-nodes=MAX_UNAVAILABLE_NODES
    

Reemplaza lo siguiente:

  • CLUSTER_ID: Es el nombre del clúster de destino.
  • PROJECT_ID: Es el ID del proyecto Google Cloud de destino.
  • REGION: Es la región Google Cloud en la que se creó el clúster de Distributed Cloud conectado de destino.
  • MAX_UNAVAILABLE_NODES: Especifica la cantidad máxima de nodos trabajadores que pueden dejar de funcionar para una actualización de software de forma simultánea.

Para restablecer este valor a su configuración predeterminada, usa el siguiente comando:

 gcloud edge-cloud container clusters update CLUSTER_ID \
    --project=PROJECT_ID \
    --location=REGION \
    --clear-max-unavailable-worker-nodes
    

Reemplaza lo siguiente:

  • CLUSTER_ID: Es el nombre del clúster de destino.
  • PROJECT_ID: Es el ID del proyecto Google Cloud de destino.
  • REGION: Es la región Google Cloud en la que se creó el clúster de Distributed Cloud conectado de destino.

Actualiza un clúster a una versión más reciente del software de Distributed Cloud conectado

Para completar esta tarea, debes tener el rol de administrador de contenedores perimetrales (roles/edgecontainer.admin) en tu proyecto de Google Cloud .

gcloud

Usa el comando gcloud edge-cloud container clusters upgrade:

gcloud edge-cloud container clusters upgrade CLUSTER_ID \
   --location=REGION \
   --project=PROJECT_ID \
   --schedule=UPGRADE_SCHEDULE \
   --version=SOFTWARE_VERSION

Reemplaza lo siguiente:

  • CLUSTER_ID: Es el nombre del clúster de destino.
  • REGION: Es la región de Google Cloud en la que se creó el clúster de Distributed Cloud de destino.
  • PROJECT_ID: Es el ID del proyecto Google Cloud de destino.
  • UPGRADE_SCHEDULE: Especifica cuándo activar la actualización de software. El único valor válido es IMMEDIATELY.
  • SOFTWARE_VERSION: Especifica la versión del software de Distributed Cloud en la que deseas que se ejecute este clúster en el formato 1.X.Y, en el que X es la versión secundaria y Y es la versión del parche, por ejemplo, 1.5.1. Para obtener las versiones de software disponibles para la creación de clústeres, incluida la versión predeterminada del servidor, consulta Cómo obtener las versiones de software disponibles para un clúster.

API

Realiza una solicitud POST al método projects.locations.clusters.upgrade:

POST /v1/projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID:upgrade?requestId=REQUEST_ID
{
  "name": "projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID",
  "targetVersion": "SOFTWARE_VERSION",
    "schedule": "UPGRADE_SCHEDULE",
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto Google Cloud de destino.
  • REGION: Es la Google Cloud región en la que se crea el clúster conectado de Distributed Cloud de destino.
  • CLUSTER_ID: Es el nombre del clúster de destino.
  • REQUEST_ID: Es un ID programático único que identifica esta solicitud.
  • UPGRADE_SCHEDULE: Especifica cuándo activar la actualización de software. El único valor válido es IMMEDIATELY.
  • SOFTWARE_VERSION: Especifica la versión de software conectada de Distributed Cloud en la que deseas que se ejecute este clúster en el formato 1.X.Y, donde X es la versión secundaria y Y es la versión de parche, por ejemplo, 1.5.1. Para obtener las versiones de software disponibles para la creación de clústeres, incluida la versión predeterminada del servidor, consulta Cómo obtener las versiones de software disponibles para un clúster.

Por lo general, una actualización de software tarda alrededor de 2 horas por cada nodo que forma parte del grupo de nodos del clúster. El comando devuelve una operación que te permite hacer un seguimiento del progreso de la actualización de software. Mientras se realiza la actualización de software, el estado del clúster se establece en Reconciling y vuelve a Running una vez que se completa la actualización. El estado del clúster Error indica que falló la actualización de software. En esos casos, vuelve a ejecutar el proceso de actualización. Consulta Obtén información sobre un clúster para obtener información sobre cómo verificar el estado del clúster.

Modifica un clúster

Para modificar un clúster conectado de Distributed Cloud, completa los pasos de esta sección. Si modificas la configuración de encriptación del almacenamiento del clúster, no puedes actualizar ningún otro parámetro en la misma operación de actualización.

Para completar esta tarea, debes tener el rol de administrador de contenedores perimetrales (roles/edgecontainer.admin) en tu proyecto de Google Cloud .

gcloud

Usa el comando gcloud edge-cloud container clusters update:

gcloud edge-cloud container clusters update CLUSTER_ID \
    --project=PROJECT_ID \
    --location=REGION \
    --cluster-ipv4-cidr=CLUSTER_IPV4_CIDR_BLOCK \
    --services-ipv4-cidr=SERVICES_IPV4_CIDR_BLOCK \
    --default-max-pods-per-node=MAX_PODS_PER_NODE \
    --release-channel=RELEASE_CHANNEL \
    --control-plane-kms-key=CONTROL_PLANE_KMS_KEY \
    --offline-reboot-ttl=REBOOT_TIMEOUT \
    --max-unavailable-worker-nodes=MAX_UNAVAILABLE_NODES

Reemplaza lo siguiente:

  • CLUSTER_ID: Es el nombre del clúster de destino.
  • PROJECT_ID: Es el ID del proyecto Google Cloud de destino.
  • REGION: Es la Google Cloud región en la que se crea el clúster conectado de Distributed Cloud de destino.
  • CLUSTER_IPV4_CIDR_BLOCK: Es el bloque CIDR de IPv4 deseado para los Pods de Kubernetes que se ejecutan en este clúster.
  • CLUSTER_IPV6_CIDR_BLOCK: Es el bloque CIDR de IPv6 deseado para los Pods de Kubernetes que se ejecutan en este clúster.
  • SERVICE_IPV4_CIDR_BLOCK: Es el bloque CIDR IPv4 deseado para los servicios de Kubernetes que se ejecutan en este clúster.
  • SERVICE_IPV6_CIDR_BLOCK: Es el bloque CIDR IPv6 deseado para los servicios de Kubernetes que se ejecutan en este clúster.
  • MAX_PODS_PER_NODE: Es la cantidad máxima deseada de Pods de Kubernetes que se ejecutarán en cada nodo de este clúster.
  • RELEASE_CHANNEL (opcional): Especifica el canal de versiones para la versión del software de Distributed Cloud conectado que deseas que ejecute este clúster. Los valores válidos son REGULAR (habilitar las actualizaciones automáticas del clúster) y NONE (inhabilitar las actualizaciones automáticas del clúster). Si se omite, el valor predeterminado es REGULAR.
  • CONTROL_PLANE_KMS_KEY (opcional): Es la ruta de acceso completa a la clave de Cloud KMS que deseas usar con el nodo del plano de control de este clúster. Por ejemplo:

    /projects/myProject/locations/us-west1-a/keyRings/myKeyRing/cryptoKeys/myGDCE-Key
    

    Este parámetro solo se aplica si integraste Distributed Cloud Connected con Cloud Key Management Service, como se describe en Cómo habilitar la compatibilidad con las claves de encriptación administradas por el cliente (CMEK) para el almacenamiento local.

  • REBOOT_TIMEOUT: Especifica un período en segundos durante el cual un nodo del clúster puede volver a unirse a un clúster después de reiniciarse mientras el clúster se ejecuta en modo de supervivencia. Si se omite, el valor predeterminado es 0, que no permite que los nodos reiniciados se unan al clúster hasta que se restablezca la conexión con Google Cloud .

    PRECAUCIÓN: Si especificas un período de espera de reinicio, los nodos que se desconectaron pueden reiniciarse y volver a unirse al clúster, incluso si inhabilitas o borras la clave de almacenamiento durante el período especificado.

  • MAX_UNAVAILABLE_NODES (opcional): Especifica la cantidad máxima de nodos trabajadores que pueden dejar de funcionar para una actualización de software de forma simultánea. Si se omite, el valor predeterminado es X. Esta es una función de nivel de versión preliminar.

API

Realiza una solicitud PATCH al método projects.locations.clusters.patch:

PATCH /v1/projects/PROJECT_ID/locations/REGION/clusters/?updateMask=UPDATE_MASK&requestId=REQUEST_ID
{
 "labels": { LABELS,
  },
  "networking": {
   "ClusterIpv4CidrBlocks": CLUSTER_IPV4_CIDR_BLOCK,
   "servicesIpv4CidrBlocks": SERVICE_IPV4_CIDR_BLOCK,
   "ClusterIpv6CidrBlocks": CLUSTER_IPV6_CIDR_BLOCK,
   "servicesIpv6CidrBlocks": SERVICE_IPV6_CIDR_BLOCK,
   },
  "authorization": {
    "adminUsers": {
       "username": USERNAME
    }
  },
  "defaultMaxPodsPerNode": MAX_PODS_PER_NODE,
  "releaseChannel": RELEASE_CHANNEL,
  "controlPlaneEncryption": {
   "kmsKey": CONTROL_PLANE_KMS_KEY,
  },
  "offlineRebootTtl": "REBOOT_TIMEOUT",
  }

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto Google Cloud de destino.
  • REGION: Es la Google Cloud región en la que se crea el clúster conectado de Distributed Cloud de destino.
  • CLUSTER_ID: Es el nombre del clúster de destino.
  • UPDATE_MASK: Es una lista separada por comas de los nombres de campo completamente calificados que se actualizarán en esta solicitud en formato de FieldMask.
  • REQUEST_ID: Es un ID programático único que identifica esta solicitud.
  • CLUSTER_IPV4_CIDR_BLOCK: Es el bloque CIDR de IPv4 deseado para los Pods de Kubernetes que se ejecutan en este clúster.
  • CLUSTER_IPV6_CIDR_BLOCK: Es el bloque CIDR de IPv6 deseado para los Pods de Kubernetes que se ejecutan en este clúster.
  • SERVICE_IPV4_CIDR_BLOCK: Es el bloque CIDR IPv4 deseado para los servicios de Kubernetes que se ejecutan en este clúster.
  • SERVICE_IPV6_CIDR_BLOCK: Es el bloque CIDR IPv6 deseado para los servicios de Kubernetes que se ejecutan en este clúster.
  • USERNAME: Es el nombre de la cuenta de usuario dentro del proyecto Google Cloud de destino autorizado para modificar los recursos del clúster.
  • MAX_PODS_PER_NODE: Es la cantidad máxima deseada de Pods de Kubernetes que se ejecutarán en cada nodo de este clúster.
  • RELEASE_CHANNEL: (opcional) Especifica el canal de versiones para la versión del software conectado de Distributed Cloud que deseas que ejecute este clúster. Los valores válidos son REGULAR (habilitar las actualizaciones automáticas del clúster) y NONE (inhabilitar las actualizaciones automáticas del clúster). Si se omite, el valor predeterminado es REGULAR.
  • CONTROL_PLANE_KMS_KEY (opcional): Es la ruta de acceso completa a la clave de Cloud KMS que deseas usar con el nodo del plano de control de este clúster. Por ejemplo:

    /projects/myProject/locations/us-west1-a/keyRings/myKeyRing/cryptoKeys/myGDCE-Key
    

    Este parámetro solo se aplica si integraste Distributed Cloud Connected con Cloud Key Management Service, como se describe en Cómo habilitar la compatibilidad con las claves de encriptación administradas por el cliente (CMEK) para el almacenamiento local.

  • REBOOT_TIMEOUT: (requiere v1alpha1) Especifica un período en segundos durante el cual un nodo del clúster puede volver a unirse a un clúster después de reiniciarse mientras el clúster se ejecuta en modo de supervivencia. Si se omite, el valor predeterminado es 0, que no permite que los nodos reiniciados se unan al clúster hasta que se restablezca la conexión con Google Cloud . Esta es una función de nivel de versión preliminar.

    PRECAUCIÓN: Si especificas un período de espera de reinicio, los nodos que se desconectaron pueden reiniciarse y volver a unirse al clúster, incluso si inhabilitas o borras la clave de almacenamiento durante el período especificado.

Obtén credenciales para un clúster

Para obtener credenciales para un clúster conectado de Distributed Cloud, completa los pasos de esta sección.

Para completar esta tarea, debes tener el rol de visualizador de contenedores de Edge (roles/edgecontainer.viewer) en tu proyecto de Google Cloud .

gcloud

Usa el comando gcloud edge-cloud container clusters get-credentials:

gcloud edge-cloud container clusters get-credentials CLUSTER_ID \
    --project=PROJECT_ID \
    --location=REGION

Reemplaza lo siguiente:

  • CLUSTER_ID: Es el nombre del clúster de destino.
  • PROJECT_ID: Es el ID del proyecto Google Cloud de destino.
  • REGION: Es la Google Cloud región en la que se crea el clúster conectado de Distributed Cloud de destino.

API

Realiza una solicitud GET al método projects.locations.clusters:

GET /v1/projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto Google Cloud de destino.
  • REGION: Es la Google Cloud región en la que se crea la zona de Distributed Cloud de destino.
  • CLUSTER_ID: Es el nombre del clúster de destino.

Configura un período de mantenimiento para un clúster

En esta sección, se describe cómo especificar y borrar los siguientes tipos de períodos de mantenimiento para un clúster conectado de Distributed Cloud:

  • Período de mantenimiento. Especifica un período durante el cual Google puede realizar tareas de mantenimiento y actualizaciones de software en tu clúster conectado de Distributed Cloud.
  • Período de exclusión de mantenimiento. Especifica un período durante el cual Google no puede realizar tareas de mantenimiento ni actualizaciones de software en tu clúster de Distributed Cloud conectado. Para configurar un período de exclusión de mantenimiento, primero debes configurar un período de mantenimiento. Un período de exclusión de mantenimiento tiene prioridad sobre el período de mantenimiento del clúster.

Especifica un período de mantenimiento para un clúster

Para especificar un período de mantenimiento para un clúster conectado de Distributed Cloud, completa los pasos de esta sección. Para obtener más información sobre el mantenimiento del clúster, consulta Información sobre las actualizaciones de software y los períodos de mantenimiento.

Para los formatos de fecha y hora, usa RFC 5545.

Para completar esta tarea, debes tener el rol de administrador de contenedores perimetrales (roles/edgecontainer.admin) en tu proyecto de Google Cloud .

Console

Si usas la consola de Google Cloud , solo puedes especificar un período de mantenimiento cuando creas un clúster. Para especificar un período de mantenimiento en un clúster existente, debes usar Google Cloud CLI o la API de Distributed Cloud Edge Container.

gcloud

Usa el comando gcloud edge-cloud container clusters update:

gcloud edge-cloud container clusters update CLUSTER_ID \
    --project=PROJECT_ID \
    --location=REGION \
    --maintenance-window-start=MAINTENANCE_START \
    --maintenance-window-end=MAINTENANCE_END \
    --maintenance-window-recurrence=MAINTENANCE_FREQUENCY

Reemplaza lo siguiente:

  • CLUSTER_ID: Es el nombre del clúster de destino.
  • PROJECT_ID: Es el ID del proyecto Google Cloud de destino.
  • REGION: Es la Google Cloud región en la que se crea el clúster conectado de Distributed Cloud de destino.
  • MAINTENANCE_START: Es la hora de inicio del período de mantenimiento en formato YYYY-MM-DDTHH:MM:SSZ.
  • MAINTENANCE_END: Es la hora de finalización del período de mantenimiento en formato YYYY-MM-DDTHH:MM:SSZ.
  • MAINTENANCE_FREQUENCY: Es la frecuencia del período de mantenimiento en formato FREQ=WEEKLY|DAILY;BYDAY=MO,TU,WE,TH,FR,SA,SU:
    • BYDAY: Es una lista delimitada por comas de los días durante los que se puede realizar el mantenimiento si FREQ se establece en WEEKLY. Si omites el parámetro BYDAY, Google elegirá el día de la semana por ti.
    • Si configuras FREQ como diario, los períodos de mantenimiento se producen todos los días durante las horas especificadas.

API

Realiza una solicitud PATCH al método projects.locations.clusters.update:

PATCH /v1/projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID?updateMask=maintenancePolicy&requestId=REQUEST_ID
{
 "maintenance_policy": {
   "window": {
     "recurring_window": {
       "window": {
         "start_time": "MAINTENANCE_START",
         "end_time": "MAINTENANCE_END"
         },
       "recurrence": "MAINTENANCE_FREQUENCY"
     }
   }
 }
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto Google Cloud de destino.
  • REGION: Es la Google Cloud región en la que se crea el clúster de Distributed Cloud conectado de destino.
  • CLUSTER_ID: Es el nombre del clúster de destino.
  • UPDATE_MASK: Es una lista separada por comas de los nombres de campo completamente calificados que se actualizarán en esta solicitud en formato de FieldMask.
  • REQUEST_ID: Es un ID programático único que identifica esta solicitud.
  • CLUSTER_ID: Es el nombre del clúster de destino.
  • USERNAME: Es el nombre de la cuenta de usuario dentro del proyecto Google Cloud de destino autorizado para modificar los recursos del clúster.
  • MAINTENANCE_START: Es la hora de inicio del período de mantenimiento en formato YYYY-MM-DDTHH:MM:SSZ.
  • MAINTENANCE_END: Es la hora de finalización del período de mantenimiento en formato YYYY-MM-DDTHH:MM:SSZ.
  • MAINTENANCE_FREQUENCY: Es la frecuencia del período de mantenimiento en formato FREQ=WEEKLY|DAILY;BYDAY=MO,TU,WE,TH,FR,SA,SU:
    • FREQ puede ser DAILY o WEEKLY.
    • BYDAY: Es una lista delimitada por comas de los días durante los que se puede realizar el mantenimiento si FREQ se establece en WEEKLY. Si omites el parámetro BYDAY, Google elegirá el día de la semana por ti.
    • Si configuras FREQ como diario, los períodos de mantenimiento se producen todos los días durante las horas especificadas.

Para obtener más información, consulta Recurso: clúster.

Borra el período de mantenimiento de un clúster

Para borrar la ventana de mantenimiento de un clúster conectado de Distributed Cloud, completa los pasos de esta sección. Si se borra un período de mantenimiento de un clúster, también se borran todos los períodos de exclusión de mantenimiento correspondientes para ese clúster. Para obtener más información sobre el mantenimiento de clústeres, consulta Información sobre las actualizaciones de software y los períodos de mantenimiento.

Para completar esta tarea, debes tener el rol de administrador de contenedores perimetrales (roles/edgecontainer.admin) en tu proyecto de Google Cloud .

gcloud

Usa el comando gcloud edge-cloud container clusters update:

gcloud edge-cloud container clusters update CLUSTER_ID \
    --project=PROJECT_ID \
    --location=REGION \
    --clear-maintenance-window

Reemplaza lo siguiente:

  • CLUSTER_ID: Es el nombre del clúster de destino.
  • PROJECT_ID: Es el ID del proyecto Google Cloud de destino.
  • REGION: Es la región Google Cloud en la que se crea el clúster de Distributed Cloud de destino.

API

Realiza una solicitud PATCH al método projects.locations.clusters.update:

PATCH /v1/projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID?updateMask=maintenancePolicy&requestId=REQUEST_ID
{
 "maintenance_policy": null
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto Google Cloud de destino.
  • REGION: Es la Google Cloud región en la que se crea el clúster de Distributed Cloud conectado de destino.
  • CLUSTER_ID: Es el nombre del clúster de destino.
  • UPDATE_MASK: Es una lista separada por comas de los nombres de campo completamente calificados que se actualizarán en esta solicitud en formato de FieldMask.
  • REQUEST_ID: Es un ID programático único que identifica esta solicitud.
  • USERNAME: Es el nombre de la cuenta de usuario dentro del proyecto Google Cloud de destino autorizado para modificar los recursos del clúster.

Para obtener más información, consulta Recurso: clúster.

Cómo especificar un período de exclusión de mantenimiento para un clúster

Para especificar un período de exclusión de mantenimiento para un clúster conectado de Distributed Cloud, completa los pasos que se indican en esta sección. Para obtener más información sobre el mantenimiento del clúster, consulta Información sobre las actualizaciones de software y los períodos de mantenimiento.

Para los formatos de fecha y hora, usa RFC 3339.

Para completar esta tarea, debes tener el rol de administrador de contenedores perimetrales (roles/edgecontainer.admin) en tu proyecto de Google Cloud .

gcloud

Usa el comando gcloud edge-cloud container clusters update:

gcloud edge-cloud container clusters update CLUSTER_ID \
    --project=PROJECT_ID \
    --location=REGION \
    --add-maintenance-exclusion-name=EXCLUSION_NAME \
    --add-maintenance-exclusion-start=EXCLUSION_START \
    --add-maintenance-exclusion-end=EXCLUSION_END

Reemplaza lo siguiente:

  • CLUSTER_ID: Es el nombre del clúster de destino.
  • PROJECT_ID: Es el ID del proyecto Google Cloud de destino.
  • REGION: Es la Google Cloud región en la que se crea el clúster conectado de Distributed Cloud de destino.
  • EXCLUSION_NAME: Es un nombre descriptivo para esta ventana de exclusión de mantenimiento.
  • EXCLUSION_START: Es la hora de inicio del período de mantenimiento en formato YYYY-MM-DDTHH:MM:SSZ.
  • EXCLUSION_END: Es la hora de finalización del período de mantenimiento en formato YYYY-MM-DDTHH:MM:SSZ.

Borra la ventana de exclusión de mantenimiento de un clúster

Para borrar la ventana de exclusión de mantenimiento de un clúster conectado de Distributed Cloud, completa los pasos que se indican en esta sección. Para obtener más información sobre el mantenimiento del clúster, consulta Información sobre las actualizaciones de software y los períodos de mantenimiento.

Para completar esta tarea, debes tener el rol de administrador de contenedores perimetrales (roles/edgecontainer.admin) en tu proyecto de Google Cloud .

gcloud

Usa el comando gcloud edge-cloud container clusters update:

gcloud edge-cloud container clusters update CLUSTER_ID \
    --project=PROJECT_ID \
    --location=REGION \
    --remove-maintenance-exclusion-window=MAINTENANCE_EXCLUSION_WINDOW

Reemplaza lo siguiente:

  • CLUSTER_ID: Es el nombre del clúster de destino.
  • PROJECT_ID: Es el ID del proyecto Google Cloud de destino.
  • REGION: Es la región Google Cloud en la que se crea el clúster de Distributed Cloud de destino.
  • MAINTENANCE_EXCLUSION_WINDOW: Es el nombre de la ventana de exclusión de mantenimiento que deseas borrar.

Borra un clúster

Para borrar un clúster conectado de Distributed Cloud, completa los pasos de esta sección. Antes de borrar un clúster, primero debes hacer lo siguiente:

Para completar esta tarea, debes tener el rol de administrador de contenedores perimetrales (roles/edgecontainer.admin) en tu proyecto de Google Cloud .

gcloud

Usa el comando gcloud edge-cloud container clusters delete:

gcloud edge-cloud container clusters delete CLUSTER_ID \
    --project=PROJECT_ID \
    --location=REGION

Reemplaza lo siguiente:

  • CLUSTER_ID: Es el nombre del clúster de destino.
  • PROJECT_ID: Es el ID del proyecto Google Cloud de destino.
  • REGION: Es la Google Cloud región en la que se crea el clúster conectado de Distributed Cloud de destino.

API

Realiza una solicitud DELETE al método projects.locations.clusters.delete:

DELETE /v1/projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID?requestId=REQUEST_ID

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto Google Cloud de destino.
  • REGION: Es la Google Cloud región en la que se crea el clúster conectado de Distributed Cloud de destino.
  • CLUSTER_ID: Es el nombre del clúster de destino.
  • REQUEST_ID: Es un ID programático único que identifica esta solicitud.

¿Qué sigue?