Archivo de configuración del clúster de usuario 1.29

En esta página, se describen los campos del archivo de configuración de clústeres de usuario de Google Distributed Cloud.

Genera una plantilla para tu archivo de configuración

Si usaste gkeadm a fin de crear tu estación de trabajo de administrador, gkeadm generó una plantilla para tu archivo de configuración de clústeres de usuarios. Además, gkeadm completó algunos de los campos por ti.

Si no usaste gkeadm para crear tu estación de trabajo de administrador, puedes usar gkectl a fin de generar una plantilla para el archivo de configuración de clústeres de usuarios.

Si deseas generar una plantilla para el archivo de configuración de clústeres de usuarios, haz lo siguiente:

gkectl create-config cluster --config=OUTPUT_FILENAME --gke-on-prem-version=VERSION

Reemplaza lo siguiente:

OUTPUT_FILENAME: una ruta de acceso que elijas para la plantilla generada. Si omites esta marca, gkectl asigna un nombre al archivo user-cluster.yaml y lo coloca en el directorio actual.

VERSION: El número de versión deseado. Por ejemplo: gkectl create-config cluster --gke-on-prem-version=1.10.0-gke.8

Plantilla

Completa el archivo de configuración

En el archivo de configuración, ingresa los valores de los campos como se describe en las siguientes secciones.

name

Obligatorio
String

El nombre que elijas para el clúster de usuario. El nombre debe cumplir con los siguientes requisitos:

  • Contener 40 caracteres como máximo.
  • Contener solo caracteres alfanuméricos en minúscula o un guiones (-).
  • Comenzar con un carácter alfabético
  • Terminar con un carácter alfanumérico

Ejemplo:

name: "my-user-cluster"

gkeOnPremVersion

Obligatorio
Mutable
Cadena

La versión de Google Distributed Cloud para tu clúster de usuario.

Ejemplo:

gkeOnPremVersion: "1.14.0-gke.1"

preparedSecrets.namespace

Si deseas usar credenciales preparadas, completa este campo. De lo contrario, quita este campo o déjalo como comentario.

Opcional
Inmutable
String
Valores posibles: Una string que comience con “gke-onprem-secrets-”

Es el nombre de un espacio de nombres de Kubernetes en el clúster de administrador en el que se conservan los Secrets preparados para este clúster de usuario.

Ejemplo:

preparedSecrets:
  namespace: "gke-onprem-secrets-alice"

enableControlplaneV2

Opcional
Inmutable
Booleano
Prepropagado: verdadero
Valor predeterminado: verdadero

Si deseas crear un clúster de usuario que tenga habilitado Plano de control V2, establece esto como true. De lo contrario, configúralo como false. Con el plano de control V2, el plano de control de un clúster de usuario se ejecuta en uno o más nodos dentro del clúster de usuario. Te recomendamos que habilites el plano de control V2. Entre los beneficios de Controlplane V2, se incluyen los siguientes:

  • Coherencia de la arquitectura entre los clústeres de administrador y de usuario

  • Aislamiento de errores Una falla del clúster de administrador no afecta a los clústeres de usuario.

  • Separación operativa. La actualización de un clúster de administrador no genera tiempo de inactividad para los clústeres de usuario.

  • Separación de la Deployment. Puedes colocar los clústeres de administrador y de usuario en diferentes dominios con fallas o sitios geográficos. Por ejemplo, un clúster de usuario en una ubicación perimetral podría estar en un sitio geográfico diferente al del clúster de administrador.

Ejemplo:

enableControlplaneV2: true

vCenter

En esta sección, se incluye información sobre el entorno de vSphere y la conexión a vCenter Server.

Si deseas que un campo en esta sección sea igual al que especificaste para tu clúster de administrador, quita el campo o déjalo como comentario.

Si quieres que un campo sea diferente del que especificaste para el clúster de administrador, rellénalo aquí. Cualquier campo que completes aquí en la sección vCenter anulará los campos correspondientes en el archivo de configuración del clúster de administrador.

vCenter.address

Opcional
Inmutable
Cadena
Configuración predeterminada: Heredar del clúster de administrador

Es la dirección IP o el nombre de host de la instancia de vCenter Server que deseas usar para este clúster de usuario.

Para obtener más información, consulta Busca la dirección de tu servidor de vCenter.

Si especificas un valor distinto de la instancia de vCenter Server que usa el clúster de administrador, se debe habilitar Controlplane V2, y debes proporcionar valores para network.vCenter.networkName y todos los campos obligatorios de la sección vCenter.

Ejemplos:

vCenter:
  address: "203.0.113.101"
vCenter:
  address: "my-vcenter-server-2.my-domain.example"

vCenter.datacenter

Opcional
Inmutable
Cadena
Configuración predeterminada: Heredar del clúster de administrador

La ruta relativa de un centro de datos de vSphere.

Si especificas un valor para este campo, también debes especificar lo siguiente:

  • vCenter.networkName
  • vCenter.datastore o vCenter.storagePolicyName
  • vCenter.cluster o vCenter.resourcePool

El valor que especificas está relacionado con la carpeta raíz llamada /.

Si tu centro de datos se encuentra en la carpeta raíz, el valor es el nombre del centro de datos.

Ejemplo:

vCenter:
  datacenter: "my-uc-data-center"

De lo contrario, el valor es una ruta relativa que incluye una o más carpetas junto con el nombre del centro de datos.

Ejemplo:

vCenter:
  datacenter: "data-centers/data-center-2"

vCenter.cluster

Opcional
Inmutable
Cadena
Configuración predeterminada: Heredar del clúster de administrador

Es la ruta de acceso relativa de un clúster de vSphere que representa los hosts ESXi en los que se ejecutarán las VM del clúster de usuario. Este clúster de vSphere representa un subconjunto de los hosts ESXi físicos en el centro de datos de vCenter.

Si especificas un valor para este campo, también debes especificar lo siguiente:

  • vCenter.networkName
  • vCenter.datacenter
  • vCenter.datastore o vCenter.storagePolicyName

El valor que especificas está relacionado con /.../DATA_CENTER/vm/.

Si el clúster de vSphere está en la carpeta /.../DATA_CENTER/vm/, el valor es el nombre del clúster de vSphere.

Ejemplo:

vCenter:
  cluster: "my-uc-vsphere-cluster"

De lo contrario, el valor es una ruta de acceso relativa que incluye una o más carpetas junto con el nombre del clúster de vSphere.

Ejemplo:

vCenter:
  cluster: "clusters/vsphere-cluster-2"

vCenter.resourcePool

Opcional
Inmutable
Cadena
Configuración predeterminada: Heredar del clúster de administrador

Un grupo de recursos de vCenter para las VM del clúster de usuario.

Si deseas usar el grupo de recursos predeterminado, establece esto como VSPHERE_CLUSTER/Resources.

Ejemplo:

vCenter:
  resourcePool: "my-uc-vsphere-cluster/Resources"

El valor que especificas está relacionado con /.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/

Si el grupo de recursos es un elemento secundario directo de /.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/, el valor es el nombre del grupo de recursos.

Ejemplo:

vCenter:
  resourcePool: "my-uc-resource-pool"

De lo contrario, el valor es una ruta de acceso relativa que tiene dos o más grupos de recursos.

Ejemplo:

vCenter:
  resourcePool: "uc-resource-pool-1/uc-resource-pool-2"

vCenter.datastore

Opcional
Inmutable
Cadena
Configuración predeterminada: Heredar del clúster de administrador

Es el nombre de un almacén de datos de vSphere para el clúster de usuario.

El valor que especifiques debe ser un nombre, no una ruta de acceso. No incluyas ninguna carpeta en el valor.

Ejemplo:

vCenter:
  datastore: "my-uc-datastore"

Si especificas un valor para este campo, no especifiques un valor para vCenter.storagePolicyName.

vCenter.storagePolicyName

Opcional
string

Es el nombre de una política de almacenamiento de VM para los nodos del clúster.

También puedes especificar una política de almacenamiento de VM para los nodos de un grupo de nodos en particular. Sin embargo, la política que se especifica aquí se aplica a cualquier grupo de nodos que no tenga su propia política.

Para obtener más información, consulta Configura una política de almacenamiento.

Si especificas un valor para este campo, no especifiques un valor para vCenter.datastore.

vCenter.caCertPath

Opcional
Mutable
Cadena
Configuración predeterminada: Heredar del clúster de administrador

Es la ruta de acceso del certificado de CA de vCenter Server. Para obtener más información, consulta Obtén tu certificado de CA de vCenter.

Ejemplo:

vCenter:
  caCertPath: "/usr/local/google/home/me/certs/vcenter-ca-cert-2.pem"

Si deseas obtener información para actualizar este campo, consulta Actualiza las referencias de certificados de vCenter.

vCenter.credentials.fileRef.path

Opcional
Mutable
Cadena
Configuración predeterminada: Heredar del clúster de administrador

Si proporcionas un valor para preparedSecrets.namespace, no proporciones un valor para este campo. En su lugar, proporciona un valor para vCenter.credentials.secretRef.version.

Es la ruta de acceso de un archivo de configuración de credenciales que contiene el nombre de usuario y la contraseña de tu cuenta de usuario de vCenter. La cuenta de usuario debe tener el rol de administrador o privilegios equivalentes. Consulta los requisitos de vSphere.

Puedes usar gkectl update credentials para actualizar este campo en un clúster existente. Para obtener más información, consulta Rota claves de cuentas de servicio.

Si deseas obtener información para actualizar tus credenciales de vCenter, consulta Actualiza las credenciales de clústeres.

Ejemplo:

vCenter:
  credentials:
    fileRef:
      path: "my-config-directory/my-credentials-2.yaml"

vCenter.credentials.fileRef.entry

Opcional
Mutable
Cadena
Configuración predeterminada: Heredar del clúster de administrador

Es el nombre del bloque de credenciales en el archivo de configuración de credenciales, que contiene el nombre de usuario y la contraseña de tu cuenta de usuario de vCenter.

Ejemplo:

vCenter:
  credentials:
    fileRef:
      entry: "vcenter-credentials-2"

vCenter.credentials.secretRef.version

Obligatorio si proporcionaste un valor para preparedSecrets.namespace
String
Valores posibles: una string de número entero o “más reciente”
Valor predeterminado: “latest”

Si proporcionas un valor para preparedSecrets.namespace, completa este campo. De lo contrario, quita este campo o déjalo como comentario.

Es la versión de un Secreto preparado en el clúster de administrador que contiene el nombre de usuario y la contraseña de la instancia de vCenter Server que deseas usar para este clúster de usuario.

Ejemplo:

vCenter:
  credentials:
    secretRef:
      version: "1"

vCenter.folder

Opcional
Inmutable
Cadena
Configuración predeterminada: Heredar del clúster de administrador

La ruta de acceso relativa de una carpeta de vSphere que ya creaste. Esta carpeta contendrá las VMs del clúster de usuario.

Si no especificas un valor, las VMs del clúster de usuario se colocarán en /.../DATA_CENTER/vm/.

Si especificas un valor, es relativo a /.../DATA_CENTER/vm/.

El valor puede ser el nombre de una carpeta.

Ejemplo:

vCenter:
  folder: "my-uc-folder"

O bien, el valor puede ser una ruta de acceso relativa que incluya más de una carpeta.

Ejemplo:

vCenter:
  folder: "folders/folder-2"

componentAccessServiceAccountKeyPath

Opcional
Mutable
Cadena
Configuración predeterminada: Heredar del clúster de administrador

Es la ruta de acceso del archivo de claves JSON para la cuenta de servicio de acceso a los componentes.

Ejemplo:

componentAccessServiceAccountKeyPath: "my-key-folder/uc-access-key.json"

componentAccessServiceAccountKey.secretRef.version

Opcional
Mutable
String
Valores posibles: Una string de número entero o “latest”
Valor predeterminado: “latest”

Es la versión de un Secreto preparado en el clúster de administrador que contiene una clave JSON para la cuenta de servicio de acceso a los componentes.

Ejemplo:

componentAccessServiceAccountKey:
  secretRef:
    version: "1"

privateRegistry

Completa esta sección solo si tu clúster de administrador usa un registro privado y deseas que tu clúster de usuario use un registro privado diferente. De lo contrario, quita esta sección o déjala como comentario.

Si quieres tener parámetros de configuración diferentes de los parámetros del clúster de administrador, haz lo siguiente:

  • Otro nombre de usuario, contraseña o certificado

  • (Solo disponible para el Plano de control V2) Diferente dirección de registro privado

Completa los campos privateRegistry aquí. La configuración nueva se toma durante la creación y la actualización del clúster.

privateRegistry.address

Obligatorio para el registro privado
Inmutable
Cadena
Configuración predeterminada: Heredar del clúster de administrador

La dirección IP o FQDN (nombre de dominio completamente calificado) de la máquina que ejecuta el registro privado de Docker.

Ejemplos:

privateRegistry:
  address: "203.0.113.10"
privateRegistry:
  address: "fqdn.example.com"

privateRegistry.credentials.fileRef.path

Obligatorio para el registro privado
Mutable
Cadena
Configuración predeterminada: Heredar del clúster de administrador

Si planeas usar un secreto preparado para el registro privado, no proporciones un valor para este campo. En su lugar, proporciona un valor para privateRegistry.credentials.secretRef.version.

Es la ruta de acceso de un archivo de configuración de credenciales que contiene el nombre de usuario y la contraseña de una cuenta que Google Distributed Cloud puede usar para acceder a tu registro de Docker privado.

Ejemplo:

privateRegistry:
  credentials:
    fileRef:
      path: "my-config-folder/admin-creds.yaml"

privateRegistry.credentials.fileRef.entry

Obligatorio para el registro privado
Mutable
Cadena
Configuración predeterminada: Heredar del clúster de administrador

Es el nombre del bloque de credenciales del archivo de configuración de credenciales que contiene el nombre de usuario y la contraseña de la cuenta del registro de Docker privado.

privateRegistry:
  credentials:
    fileRef:
      entry: "private-registry-creds"

privateRegistry.credentials.secretRef.version

Obligatorio si deseas usar un secreto preparado para el registro privado
Cadena
Valores posibles: una string de número entero o “más reciente”
Valor predeterminado: “más reciente”

Si proporcionas un valor para preparedSecrets.namespace y deseas usar un secreto preparado para el registro privado, completa este campo. De lo contrario, quita este campo o déjalo como comentario.

Es la versión de un Secreto preparado en el clúster de administrador que contiene el nombre de usuario y la contraseña de la instancia de vCenter Server que deseas usar para este clúster de usuario.

Ejemplo:

privateRegistry:
  credentials:
    secretRef:
      version: "1"

privateRegistry.caCertPath

Obligatorio para el registro privado
Mutable
Cadena
Configuración predeterminada: Heredar del clúster de administrador

Cuando Docker extrae una imagen del registro privado, el registro debe demostrar su identidad mediante la presentación de un certificado. El certificado del registro está firmado por una autoridad certificada (CA). Docker usa el certificado de la CA para validar el certificado del registro.

Establece el campo en la ruta de acceso del certificado de la CA.

Ejemplo:

privateRegistry:
  caCertPath: "my-cert-folder/registry-ca.crt"

network

Esta sección contiene información sobre tu red de clústeres de usuarios.

network.hostConfig

En esta sección, se incluye información sobre los servidores NTP, los servidores DNS y los dominios de búsqueda de DNS que usan las VM que son los nodos del clúster. Si usas el balanceador de cargas de Seesaw, esta información también se aplica a las VM de Seesaw.

Esta sección es obligatoria si se cumple una o más de las siguientes condiciones:

  • network.ipMode.type se configura como static.
  • enableControlplaneV2 se establece en true o el valor predeterminado es true.
  • loadBalancer.kind se configura como "Seesaw".

network.hostConfig.dnsServers

Obligatorio
Inmutable
Array de cadenas.
La cantidad máxima de elementos en el array es tres.

Son las direcciones de los servidores DNS de las VMs.

Ejemplo:

network:
  hostConfig:
    dnsServers:
    - "172.16.255.1"
    - "172.16.255.2"

network.hostConfig.ntpServers

Obligatorio
Inmutable
Array de cadenas

Son las direcciones de los servidores de tiempo para las VM.

Ejemplo:

network:
  hostConfig:
    ntpServers:
    - "216.239.35.0"

network.hostConfig.searchDomainsForDNS

Opcional
Inmutable
Array de cadenas

Son dominios de búsqueda de DNS para los hosts. Estos dominios se usan como parte de una lista de búsqueda de dominios.

Ejemplo:

network:
  hostConfig:
    searchDomainsForDNS:
    - "my.local.com"

network.ipMode.type

Obligatorio
Inmutable
Cadena
Prepropagado: "static"
Valor predeterminado: "dhcp"

Si deseas que los nodos del clúster obtengan la dirección IP de un servidor DHCP, configura esto como "dhcp". Si quieres que los nodos del clúster tengan direcciones IP estáticas seleccionadas de una lista que proporciones, configura esto como "static".

Ejemplo:

network:
  ipMode:
    type: "static"

network.ipMode.ipBlockFilePath

Obligatorio si network.ipMode.type = static
Inmutable
String

La ruta de acceso del archivo de bloque de IP de tu clúster.

Ejemplo:

network:
  ipMode:
    ipBlockFilePath: "/my-config-folder/user-cluster-ipblock.yaml"

network.serviceCIDR

Obligatorio
Inmutable
Cadena
Se completó previamente: "10.96.0.0/20"

Un rango de direcciones IP, en formato CIDR, que se usarán para los servicios en tu clúster. Debe ser al menos un rango de /24.

Ejemplo:

network:
  serviceCIDR: "10.96.0.0/20"

network.podCIDR

Obligatorio
Inmutable
Cadena
Se completa previamente: "192.168.0.0/16"
Valor predeterminado: "192.168.0.0/16"

Un rango de direcciones IP, en formato CIDR, que se usará para los Pods en tu clúster. Debe ser al menos un rango /18.

Ejemplo:

network:
  podCIDR: "192.168.0.0/16"

El rango de Service no debe superponerse con el rango de Pod.

Los rangos de Service y Pod no deben superponerse con ninguna dirección fuera del clúster a la que deseas llegar desde dentro del clúster.

Por ejemplo, supongamos que el rango de Service es 10.96.232.0/24 y el rango de Pod es 192.168.0.0/16. El tráfico enviado desde un Pod a una dirección en cualquiera de esos rangos se tratará como tráfico en el clúster y no llegará a ningún destino fuera del clúster.

En particular, los rangos de Service y Pod no deben superponerse con lo siguiente:

  • Direcciones IP de nodos en cualquier clúster

  • Direcciones IP que usan las máquinas del balanceador de cargas

  • VIP que usan los balanceadores de cargas y los nodos del plano de control

  • Dirección IP de los servidores de vCenter, DNS y NTP

Te recomendamos que los rangos de Service y Pods estén en el espacio de direcciones RFC 1918.

Esta es una razón para que la recomendación use direcciones RFC 1918. Supongamos que tu rango de Pod o Service contiene direcciones IP externas. Cualquier tráfico enviado desde un Pod a una de esas direcciones externas se tratará como tráfico en el clúster y no llegará al destino externo.

network.vCenter.networkName

Es obligatorio si vCenter.address es diferente de la dirección de vCenter que usas para el clúster de administrador.
Cadena
inmutable

Es el nombre de la red de vSphere para los nodos del clúster de usuarios.

Ejemplo:

network:
  vCenter:
    networkName: "my-network"

Si el nombre contiene un carácter especial, debes usar una secuencia de escape.

Caracteres especiales Secuencia de escape
Barra (/) %2f
Barra inversa (\) %5c
Signo de porcentaje (%) %25

Si el nombre de la red no es único en tu centro de datos, puedes especificar una ruta de acceso completa.

Ejemplo:

network:
  vCenter:
    networkName: "/my-uc-datacenter/network/my-network"

network.additionalNodeInterfaces

Si configuras multipleNetworkInterfaces como true, completa esta sección. De lo contrario, quita esta sección o déjala como comentario.

Inmutable

Un array de objetos, cada uno de los cuales describe una interfaz de red que se puede usar en todos o algunos de tus nodos de clúster.

network.additionalNodeInterfaces[i].networkName

Obligatorio si multipleNetworkInterfaces = true
Inmutable
String

Es el nombre de la red de vSphere a la que se conectará esta interfaz de nodo adicional.

Ejemplo:

network:
  additionalNodeInterfaces:
  - networkName: "my-node-interface-1"

network.additionalNodeInterfaces[i].type

Obligatorio si multipleNetworkInterfaces = true
Inmutable
String

Ejemplo:

network:
  additionalNodeInterfaces:
  - name: "my-node-interface-1"
    type: "static"

network.additionalNodeInterfaces[i].ipBlockFilePath

Obligatorio si network.additionalNodeInterfaces[i].type = static
Inmutable
String

Es la ruta de acceso de un archivo de bloque de IP que contiene direcciones IP para esta interfaz de red en los nodos que tienen esta interfaz de red.

Ejemplo:

network:
  additionalNodeInterfaces:
  - name: "my-node-interface-1"
    type: "static"
    ipBlockFilePath: "my-ipblock-file-1"

network.controlPlaneIPBlock

Si configuras enableControlplaneV2 como true, completa esta sección. De lo contrario, quita esta sección o déjala como comentario.

network.controlPlaneIPBlock.netmask

Obligatorio si enableControlplaneV2 = true
Inmutable
String

Ejemplo:

network:
  controlPlaneIPBlock:
    netmask: "255.255.255.0"

network.controlPlaneIPBlock.gateway

Obligatorio si enableControlplaneV2 = true
Inmutable
String

Ejemplo:

network:
  controlPlaneIPBlock:
    gateway: "172.16.21.1"

network.controlPlaneIPBlock.ips

Obligatorio si enableControlplaneV2 = true
Inmutable
Array de objetos, cada uno de los cuales tiene una dirección IP y un nombre de host opcional.

Para un clúster de usuario con alta disponibilidad (HA), el array tiene tres elementos. Para un clúster de usuario sin alta disponibilidad, el arreglo tiene un elemento.

Ejemplo:

network:
  controlPlaneIPBlock:
    ips:
    - ip: "172.16.21.6"
      hostname: "cp-vm-1"
    - ip: "172.16.21.7"
      hostname: "cp-vm-2"
    - ip: "172.16.21.8"
      hostname: "cp-vm-3"

loadBalancer

En esta sección, se conserva información sobre el balanceador de cargas para el clúster de usuarios.

loadBalancer.vips.controlPlaneVIP

Obligatorio
Inmutable
String

Es la dirección IP que elegiste configurar en el balanceador de cargas para el servidor de la API de Kubernetes del clúster de usuario.

Ejemplo:

loadBalancer:
  vips:
    controlplaneVIP: "203.0.113.3"

loadBalancer.vips.ingressVIP

Obligatorio
Inmutable
String

Es la dirección IP que elegiste configurar en el balanceador de cargas para el proxy de entrada.

Ejemplo:

loadBalancer:
  vips:
    ingressVIP: "203.0.113.4"

loadBalancer.kind

Obligatorio
Inmutable
String
Prepropagado: "MetalLB"

Configura esto como "ManualLB", "F5BigIP", "Seesaw" o "MetalLB".

Para habilitar las funciones nuevas y avanzadas, te recomendamos que uses "ManualLB" si tienes un balanceador de cargas de terceros (como BIG-IP de F5 o Citrix) o "MetalLB" para nuestra solución integrada.

Ejemplo:

loadBalancer:
  kind: "MetalLB"

loadBalancer.manualLB

Si configuras loadbalancer.kind como "manualLB", completa esta sección. De lo contrario, quita esta sección o déjala como comentario.

loadBalancer.manualLB.ingressHTTPNodePort

Obligatorio si loadBalancer.kind = ManualLB
Inmutable
Número entero
Prepropagado: 30243

El proxy de entrada en un clúster de usuario se expone mediante un servicio de Kubernetes de tipo LoadBalancer. El Service tiene un ServicePort para HTTP. Debes elegir un valor nodePort para los ServicePort de HTTP.

Establece este campo en el valor nodePort.

Ejemplo:

loadBalancer:
  manualLB:
    ingressHTTPNodePort: 32527

loadBalancer.manualLB.ingressHTTPSNodePort

Obligatorio si loadBalancer.kind = ManualLB
Inmutable
Número entero
Prepropagado: 30879

Un Service de tipo LoadBalancer expone el proxy de entrada en un clúster de usuario. El Servicio tiene un ServicePort para HTTPS. Debes elegir un valor nodePort para el ServicePort de HTTPS.

Establece este campo en el valor nodePort. Ejemplo:

loadBalancer:
  manualLB:
    ingressHTTPSNodePort: 30139

loadBalancer.manualLB.controlPlaneNodePort

Obligatorio si loadBalancer.kind = ManualLB y enableControlplaneV2 = false
Inmutable
Número entero
Prepropagado: 30562

El servidor de la API de Kubernetes de un clúster de usuario se ejecuta en el clúster de administrador y se expone mediante un Service de tipo LoadBalancer. Debes elegir un valor nodePort para el Service.

Establece este campo en el valor nodePort.

Ejemplo:

loadBalancer:
  manualLB:
    controlPlaneNodePort: 30968

loadBalancer.manualLB.konnectivityServerNodePort

Obligatorio si loadBalancer.kind = ManualLB y enableControlplaneV2 = false
Inmutable
Número entero
Prepropagado: 30,563

El servidor de la API de Kubernetes de un clúster de usuario que usa kubeception se ejecuta en el clúster de administrador y está expuesto por un Service de tipo LoadBalancer. El servidor de Konectivity vuelve a usar este servicio con un valor de nodePort diferente. Debes elegir un valor de nodePort para el servidor de Konnectivity.

Configura este campo con el valor nodePort para el servidor de Konnectivity.

Ejemplo:

loadBalancer:
  manualLB:
    konnectivityServerNodePort: 30969

loadBalancer.f5BigIP

Si configuras loadbalancer.kind como "f5BigIP", completa esta sección. De lo contrario, quita esta sección o déjala como comentario.

Si quieres habilitar funciones nuevas y avanzadas, te recomendamos que configures el balanceo de cargas manual para el balanceador de cargas BIG-IP de F5. Para habilitar el balanceo de cargas manual, establece loadbalancer.kind en "ManualLB" y completa la sección loadBalancer.manualLB. Para obtener más información, consulta Habilita el modo de balanceo de cargas manual.

loadBalancer.f5BigIP.address

Obligatorio si loadBalancer.kind = "f5BigIP"
String

Es la dirección del balanceador de cargas BIG-IP de F5.

Ejemplo:

loadBalancer:
  f5BigIP:
      address: "203.0.113.2"

loadBalancer.f5BigIP.credentials.fileRef.path

Obligatorio si loadBalancer.kind = "f5BigIP"
String

Es la ruta de acceso de un archivo de credenciales que contiene el nombre de usuario y la contraseña de una cuenta que Google Distributed Cloud puede usar para conectarse al balanceador de cargas BIG-IP de F5.

La cuenta de usuario debe tener una función de usuario que tenga permisos suficientes para configurar y administrar el balanceador de cargas. El rol de administrador o de administrador de recursos es suficiente.

Si deseas obtener información para actualizar las credenciales de BIG-IP de F5, consulta Actualiza las credenciales del clúster.

Ejemplo:

loadBalancer:
  f5BigIP:
    credentials:
      fileRef:
        path: ""my-config-folder/user-creds.yaml"

loadBalancer.f5BigIP.credentials.fileRef.entry

Obligatorio si loadBalancer.kind = "f5BigIP"
String

Es el nombre del bloque de credenciales del archivo de configuración de credenciales que contiene el nombre de usuario y la contraseña de la cuenta BIG-IP de F5.

Ejemplo:

loadBalancer:
  f5BigIP:
    credentials:
      fileRef:
        entry: "f5-creds"

loadBalancer.f5BigIP.partition

Obligatorio si loadBalancer.kind = "f5BigIP"
String

Es el nombre de una partición de BIG-IP que creaste para el clúster de usuario.

Ejemplo:

loadBalancer:
  f5BigIP:
    partition: "my-f5-user-partition"

loadBalancer.f5BigIP.snatPoolName

Obligatorio si loadBalancer.kind = "f5BigIP" y usas SNAT
String

El nombre de tu grupo de SNAT.

Ejemplo:

loadBalancer:
  f5BigIP:
    snatPoolName: "my-snat-pool"

loadBalancer.seesaw

Si configuras loadbalancer.kind como "Seesaw", completa esta sección. De lo contrario, quita esta sección o déjala como comentario.

Ten en cuenta las siguientes limitaciones con el balanceador de cargas de SeeSaw:

Para usar estas funciones, te recomendamos que configures el balanceador de cargas de MetalLB. Para habilitar el balanceador de cargas de MetalLB, establece loadbalancer.kind en "MetalLB" y completa la sección loadBalancer.metalLB. Para obtener más información, consulta Balanceo de cargas en paquetes con MetalLB.

Si actualmente usas el balanceador de cargas de SeeSaw, te recomendamos que migres a MetalLB.

loadBalancer.seesaw.ipBlockFilePath

Obligatorio si loadBalancer.kind = Seesaw
Inmutable
String

Es la ruta del archivo de bloque de IP para las VM de Seesaw.

Ejemplo:

loadBalancer:
  seesaw:
    ipBlockFilePath: "config-folder/user-seesaw-ipblock.yaml"

loadBalancer.seesaw.vrid

Obligatorio si loadBalancer.kind = Seesaw
Inmutable
Número entero
Valores posibles: 1 - 255
Se completó previamente: 0

Es el identificador del router virtual de la VM de Seesaw. Este identificador, que es un número entero que debes elegir, debe ser único en una VLAN.

Ejemplo:

loadBalancer:
  seesaw:
    vrid: 125

loadBalancer.seesaw.masterIP

Obligatorio si loadBalancer.kind = Seesaw
Inmutable
String

La dirección IP virtual configurada en la VM de Seesaw de la instancia principal.

Ejemplo:

loadBalancer:
  seesaw:
    masterIP: 172.16.20.21

loadBalancer.seesaw.cpus

Obligatorio si loadBalancer.kind = Seesaw
Mutable
Número entero
Se propaga previamente: 4

Es la cantidad de CPU para cada una de tus VM de Seesaw.

Ejemplo:

loadBalancer:
  seesaw:
    cpus: 8

loadBalancer.seesaw.memoryMB

Obligatorio si loadBalancer.kind = Seesaw
Mutable
Número entero
Se completa previamente: 3072

Es la cantidad de megabytes de memoria para cada una de tus VM de Seesaw.

Ejemplo:

loadBalancer:
  seesaw:
    memoryMB: 8192

Nota: Este campo especifica la cantidad de megabytes de memoria, no de megabytes. Un mebibyte es 2^20 y es igual a 1,048,576 bytes. Un megabyte es 10^6 y es igual a 1,000,000 bytes.

loadBalancer.seesaw.vCenter.networkName

Opcional
Inmutable
Cadena
Valor predeterminado: Igual que los nodos del clúster

Es el nombre de la red de vCenter que contiene las VM de Seesaw.

Ejemplo:

loadBalancer:
  seesaw:
    vCenter:
      networkName: "my-seesaw-network"

loadBalancer.seesaw.enableHA

Opcional
Inmutable
Relevante si loadBalancer.kind = Seesaw
Booleano
Prepropagado: false
Valor predeterminado: false

Si deseas crear un balanceador de cargas de Seesaw con alta disponibilidad (HA), configura esto como true. De lo contrario, configúralo como false. Un balanceador de cargas de Seesaw con alta disponibilidad usa un par(principal, de copia de seguridad) de VM.

Ejemplo:

loadBalancer:
  seesaw:
    enableHA: true

loadBalancer.seesaw.disableVRRPMAC

Opcional
Inmutable
Relevante si loadBalancer.kind = Seesaw
Booleano
Prepropagado: verdadero
Valor predeterminado: verdadero

Si estableces esto como true, el balanceador de cargas de Seesaw no usará el aprendizaje de MAC para la conmutación por error. En su lugar, usa un ARP injustificado. Si configuras esto como false, el balanceador de cargas de Seesaw usa el aprendizaje de MAC. Te recomendamos establecer esto en true. Si usas vSphere 7 o una versión posterior, y tienes un balanceador de cargas de Seesaw de alta disponibilidad, debes establecerlo en true.

Ejemplo:

loadBalancer:
  seesaw:
    disableVRRPMAC: true

loadBalancer.metalLB

Si configuras loadbalancer.kind como "MetalLB", completa esta sección. De lo contrario, quita esta sección o déjala como comentario.

Para obtener más información, consulta Balanceo de cargas en paquetes con MetalLB.

loadBalancer.metalLB.addressPools

Obligatorio si loadBalancer.kind = “MetalLB`
Mutable

Array de objetos, cada uno de los cuales contiene información sobre un grupo de direcciones que usará el balanceador de cargas de MetalLB.

loadBalancer.metalLB.addressPools[i].name

Obligatorio si loadBalancer.kind = MetalLB
Mutable
String

Un nombre de tu elección para el grupo de nodos.

Ejemplo:

loadBalancer:
  metalLB:
    addressPools:
    - name: "my-address-pool-1"
loadBalancer.metalLB.addressPools[i].addresses

Obligatorio si loadBalancer.kind = MetalLB
Mutable

Array de strings, cada uno de los cuales es un rango de direcciones. Cada rango debe estar en formato CIDR o con rango con guiones.

Ejemplo:

loadBalancer:
  metalLB:
    addressPools:
    - name: "my-address-pool-1"
      addresses:
      - "192.0.2.0/26"
      - "192.0.2.64-192.0.2.72"
loadBalancer.metalLB.addressPools[i].avoidBuggyIPs

Opcional
Relevante si loadBalancer.kind = MetalLB
Mutable
Booleano
Prepropagado: false
Valor predeterminado: false

Si configuras esto como true, el controlador de MetalLB no asignará direcciones IP que terminen en .0 o .255 a los Services. Esto evita el problema de los dispositivos consumidores con errores que descartan por error el tráfico enviado a esas direcciones IP especiales.

Ejemplo:

loadBalancer:
  metalLB:
    addressPools:
    - name: "my-address-pool-1"
      - "192.0.2.0/26"
      - "192.0.2.64-192.0.2.72"
      avoidBuggyIPs: true
loadBalancer.metalLB.addressPools[i].manualAssign

Opcional
Relevante si loadBalancer.kind = MetalLB
Mutable
Booleano
Prepropagado: false
Valor predeterminado: false

Si no quieres que el controlador MetalLB asigne de forma automática direcciones IP de este grupo a objetos Service, configura esto como true. Luego, un desarrollador puede crear un objeto Service de tipo LoadBalancer y especificar de forma manual una de las direcciones del grupo.

De lo contrario, establécelo en false.

Ejemplo:

loadBalancer:
  metalLB:
    addressPools:
    - name: "my-address-pool-1"
      manualAssign: true

enableDataplaneV2

Opcional
Inmutable
Booleano
Prepropagado: verdadero
Valor predeterminado: false

Si deseas habilitar Dataplane V2 o usar el plano de control V2, establece esto en true. De lo contrario, configúralo como false. Te recomendamos que habilites Dataplane V2.

Ejemplo:

enableDataplaneV2: true

Consulta Solución de problemas de Dataplant V2 para solucionar problemas.

dataplaneV2.forwardMode

Opcional
Inmutable
String
Valores posibles: "snat", "dsr"
Prepropagado: "snat"
Predeterminado: "snat"

El modo de reenvío para un clúster que tiene habilitado Dataplane V2.

Con el modo de traducción de direcciones de red (SNAT) de origen, un paquete se traduce con SNAT cuando se reenvía desde un nodo del balanceador de cargas a un Pod de backend. El Pod no puede ver la dirección IP de origen original, y el paquete de retorno debe pasar a través del nodo del balanceador de cargas.

Con el modo de retorno directo del servidor (DSR), un paquete conserva su dirección IP de origen original cuando se reenvía desde un nodo del balanceador de cargas a un Pod de backend. El Pod puede ver la dirección IP de origen original y el paquete de retorno se va directamente al cliente sin pasar por el nodo del balanceador de cargas.

Ejemplo:

dataplaneV2:
  forwardMode: "dsr"

multipleNetworkInterfaces

Opcional
Inmutable
Booleano
Prepropagado: false
Valor predeterminado: false

Si deseas habilitar interfaces de red múltiples para Pods, configura esto como true. De lo contrario, configúralo como false.

Si deseas obtener más información, consulta Configura interfaces de red múltiples para Pods.

Ejemplo:

multipleNetworkInterfaces: true

advancedNetworking

Opcional
Inmutable
Booleano
Prepropagado: false
Valor predeterminado: false

Si planeas crear una puerta de enlace NAT de salida, configura como true. De lo contrario, configúralo como false.

Si configuras esto como true, también debes establecer enableDataplaneV2 en true.

Ejemplo:

advancedNetworking: true

disableBundledIngress

Configúralo como true si deseas inhabilitar la entrada en paquetes para el clúster. De lo contrario, configúralo como false.

Opcional
Booleano
Mutable
Prepropagado: false
Valor predeterminado: false

Ejemplo:

disableBundledIngress: true

storage.vSphereCSIDisabled

Si quieres inhabilitar la implementación de los componentes de CSI de vSphere, configura esto como true. De lo contrario, configúralo como false.

Opcional
Mutable
Booleano
Prepropagado: false
Valor predeterminado: false

Ejemplo:

storage:
  vSphereCSIDisabled: false

masterNode

En esta sección, se incluye información sobre los nodos que funcionan como nodos del plano de control para este clúster de usuario.

masterNode.cpus

Opcional
Mutable
Número entero
Prepropagado: 4
Valor predeterminado: 4

La cantidad de CPU por cada nodo que funcione como plano de control para este clúster de usuario.

Ejemplo:

masterNode:
  cpus: 8

masterNode.memoryMB

Opcional
Mutable
Número entero
Prepropagado: 8192
Valor predeterminado: 8192

Los mebibytes de memoria de cada nodo que funciona como un plano de control para este clúster de usuario. Debe ser múltiplo de 4.

Ejemplo:

masterNode:
  memoryMB: 8192

Nota: Este campo especifica la cantidad de megabytes de memoria, no de megabytes. Un mebibyte es 2^20 y es igual a 1,048,576 bytes. Un megabyte es 10^6 y es igual a 1,000,000 bytes.

masterNode.replicas

Opcional
Inmutable
Número entero
Valores posibles: 1 o 3
Prepropagado: 1
Valor predeterminado: 1

Es la cantidad de nodos del plano de control para este clúster de usuario. Esta cantidad no se puede cambiar una vez que creaste el clúster. Si quieres actualizar la cantidad de réplicas más adelante, debes volver a crear el clúster de usuario.

Ejemplo:

masterNode:
  replicas: 3

masterNode.autoResize.enabled

Opcional
Mutable
Booleano
Prepropagado: false
Valor predeterminado: false

Configúralo como true para habilitar el cambio de tamaño automático de los nodos del plano de control del clúster de usuario. De lo contrario, establécelo en false.

Para obtener más información, consulta Habilita el cambio de tamaño de los nodos para los nodos del plano de control de un clúster de usuario.

Ejemplo:

masterNode:
  autoResize:
    enabled: true

masterNode.vsphere.datastore

Opcional
Inmutable
Cadena
Predeterminado: el valor de vCenter.datastore

El almacén de datos en el que se crearán los nodos de plano de control para este clúster de usuario.

Ejemplo:

masterNode:
  vSphere:
    datastore: "control-plane-datastore"

Si especificas un valor para este campo, no especifiques un valor para masterNode.vsphere.storagePolicyName.

masterNode.vsphere.storagePolicyName

Opcional
Inmutable
Cadena
Predeterminado: el valor de vCenter.storagePolicyName

Es el nombre de una política de almacenamiento de VM para los nodos del plano de control.

Para obtener más información, consulta Configura una política de almacenamiento.

Ejemplo:

masterNode:
  vSphere:
    storagePolicyName: "control-plane-storage-policy"

Si especificas un valor para este campo, no especifiques un valor para masterNode.vsphere.datastore.

nodePools

Obligatorio
Mutable
Array de objetos, cada uno de los cuales describe un grupo de nodos.

Para obtener más información, consulta Crea y administra grupos de nodos.

nodePools[i].name

Obligatorio
Inmutable
String

Un nombre de tu elección para el grupo de nodos. El nombre debe cumplir con los siguientes requisitos:

  • Contener 40 caracteres como máximo.
  • Contener solo caracteres alfanuméricos en minúscula o un guiones (-).
  • Comenzar con un carácter alfabético
  • Terminar con un carácter alfanumérico

Ejemplo:

nodePools:
- name: "my-node-pool-1"

nodePools[i].gkeOnPremVersion

Cuando actualizas un clúster de usuario, puedes especificar que los grupos de nodos seleccionados permanezcan en la versión anterior.

Si quieres que este grupo de nodos permanezca en la versión anterior, establece esto en la versión anterior. De lo contrario, quita este campo o configúralo como la string vacía. Para obtener más información, consulta Actualiza grupos de nodos.

Opcional
Mutable
Cadena
Valor predeterminado: El clúster gkeOnPremVersion

Ejemplo:

nodePools:
- name: "my-node-pool"
  gkeOnPremVersion: "1.13.0-gke.16"

nodePools[i].cpus

Obligatorio
Mutable
Número entero
Prepropagado: 4

Es la cantidad de CPU para cada nodo en el grupo.

Ejemplo:

nodePools"
- name: "my-node-pool"
  cpus: 8

nodePools[i].memoryMB

Obligatorio
Mutable
Número entero
Prepropagado: 8,192

Son los mebibytes de memoria para cada nodo en el grupo. Debe ser múltiplo de 4.

Ejemplo:

nodePools"
- name: "my-node-pool"
  memoryMB: 8192

Nota: Este campo especifica la cantidad de megabytes de memoria, no de megabytes. Un mebibyte es 2^20 y es igual a 1,048,576 bytes. Un megabyte es 10^6 y es igual a 1,000,000 bytes.

nodePools[i].replicas

Obligatorio
Mutable
Número entero
Prepropagado: 3
Valores posibles: La cantidad total de nodos sin datos en todos los grupos de nodos del clúster debe ser 3 como mínimo.

Es la cantidad de nodos del grupo.

Ejemplo:

nodePools:
- name: "my-node-pool"
  replicas: 5

nodePools[i].bootDiskSizeGB

Opcional
Mutable
Número entero
Prepropagado: 40
Valor predeterminado: 40

El tamaño del disco de arranque en gigabytes por cada nodo del grupo.

Ejemplo:

nodePools
- name: "my-node-pool"
  bootDiskSizeGB: 40

nodePools[i].osImageType

Opcional
Mutable
Cadena
Valores posibles: “ubuntu_containerd”, “cos”, “ubuntu_cgv2”, “cos_cgv2”, “windows”
Prepropagado: “ubuntu_cgv2”
Valor predeterminado: “ubuntu_containerd”

El tipo de imagen de SO que se ejecutará en las VM del grupo de nodos.

Si especificas ubuntu_cgv2 o cos_cgv2, debes ejecutar gkectl prepare --extra-os-image-types=cgroupv2 antes de crear o actualizar el clúster.

Ejemplo:

nodePools
- name: "my-node-pool"
  osImageType: "ubuntu_cgv2"

nodePools[i].osImage

Obligatorio si nodePools[i].osImageType = windows
Mutable
String

El nombre de una plantilla de VM de Windows. La plantilla debe basarse en una imagen ISO de Windows Server 2019 que tenga la etiqueta de idioma o región en-US.

Si deseas obtener más información, consulta la guía del usuario para grupos de nodos del SO de Windows Server.

nodePools[i].labels

Opcional
Mapas
mutables

Etiquetas para aplicar a cada objeto de nodo de Kubernetes en el grupo.

Ejemplo:

nodePools:
- name: "my-node-pool"
  labels:
    environment: "production"
    tier: "cache"

kubelet no puede aplicar etiquetas a sí mismo en ciertos espacios de nombres por motivos de seguridad.

Los espacios de nombres de las etiquetas de nodos reservados son kubernetes.io, k8s.io y googleapis.com.

nodePools[i].taints

Opcional
Mutable
Array de objetos, cada uno de los cuales describe un taint de Kubernetes que se aplica a cada nodo en el grupo. Los taints son pares clave-valor asociados con un effect. Los taints se usan con tolerancias para la programación de Pods. Especifica una de las siguientes opciones para effect: NoSchedule, PreferNoSchedule o NoExecute.

Ejemplo:

nodePools:
- name: "my-node-pool"
  taints:
  - key: "staging"
    value: "true"
    effect: "NoSchedule"

nodePools[i].vsphere.datastore

Opcional
Mutable
Cadena
Valor predeterminado: El valor de vCenter.datastore

El nombre del almacén de datos de vCenter en el que se crearán los nodos.

Ejemplo:

nodePools:
- name: "my-node-pool"
  vsphere:
    datastore: "my-datastore"

Si especificas un valor para este campo, no especifiques un valor para nodePools[i].vsphere.storagePolicyName.

nodePools[i].vsphere.storagePolicyName

Opcional
Mutable
Cadena
Valor predeterminado: El valor de vCenter.storagePolicyName

Es el nombre de una política de almacenamiento de VM para los nodos del grupo.

Para obtener más información, consulta Configura una política de almacenamiento.

Ejemplo:

nodePools:
- name: "my-node-pool"
  vsphere:
    storagePolicyName: "my-storage-policy"

Si especificas un valor para este campo, no especifiques un valor para nodePools[i].vsphere.datastore.

nodePools[i].vsphere.hostgroups

Completa esta sección si deseas configurar tu clúster para que use la afinidad de host de VM.

Opcional
Array de cadenas
mutable, cada una de las cuales es el nombre de un grupo de DRS host.

El array solo puede tener un elemento.

Ejemplo:

nodePools:
- name: "my-node-pool"
  vsphere:
    hostgroups:
    - "my-hostgroup"

nodePools[i].vsphere.tags

Opcional
Mutable
Array de objetos, cada uno de los cuales describe una etiqueta de vSphere para que se coloque en las VMs del grupo de nodos.

Cada etiqueta tiene una categoría y un nombre.

Ejemplo:

nodePools:
- name: "my-node-pool"
  vsphere:
    tags:
    - category: "purpose"
      name: "testing"

Si deseas adjuntar etiquetas a todas las VM en un grupo de nodos, tu cuenta de usuario de vCenter debe tener estos privilegios de etiquetado de vSphere:

  • vSphere Tagging.Assign o Unassign vSphere Tag
  • vSphere Tagging.Assign o Unassign vSphere Tag on Object (vSphere 7)

nodePools[i].autoscaling

Opcional
Mutable

Si deseas habilitar el ajuste de escala automático para el grupo de nodos, completa esta sección. De lo contrario, quita esta sección o déjala como comentario.

nodePools[i].autoscaling.minReplicas

Opcional
Mutable
Número entero
Valores posibles: Mayor o igual que 1
Prepropagado: 0

La cantidad mínima de nodos que el escalador automático puede configurar para el grupo.

Ejemplo:

nodePools:
- name: "my-node-pool"
  autoscaling:
    minReplicas: 5

nodePools[i].autoscaling.maxReplicas

Opcional
Mutable
Número entero
Prepropagado: 0

La cantidad máxima de nodos que el escalador automático puede configurar para el grupo.

Ejemplo:

nodePools:
- name: "my-node-pool"
  autoscaling:
    maxReplicas: 10

nodePools[i].enableLoadBalancer

Opcional
Relevante si loadBalancer.kind = "MetalLB"
Mutable
Booleano
Prepropagado: verdadero
Valor predeterminado: false

Configúralo como true si deseas permitir que la bocina de MetalLB se ejecute en los nodos del grupo. De lo contrario, configúralo como false.

Para obtener más información, consulta Balanceo de cargas en paquetes con MetalLB.

Ejemplo:

nodePools:
- name: "my-node-pool"
  enableLoadBalancer: true

nodePools[i].updateStrategy.rollingUpdate.maxSurge

Vista previa
Opcional
Mutable
Número entero
Valor predeterminado: 1

La cantidad máxima de máquinas en el grupo de nodos que se pueden actualizar de forma simultánea durante una actualización.

nodePools:
- name: "my-node-pool"
  updateStrategy:
    rollingUpdate:
      maxSurge: 3

antiAffinityGroups.enabled

Opcional
Mutable
Booleano
Prepropagado: verdadero

Configúralo como true para habilitar la creación de reglas de DRS. De lo contrario, configúralo como false.

Ejemplo:

antiAffinityGroups:
  enabled: true

Si este campo es true, Google Distributed Cloud crea reglas de antiafinidad de Distributed Resource Scheduler (DRS) de VMware para los nodos del clúster de usuario, lo que hace que se distribuyan en al menos tres hosts ESXi físicos de tu centro de datos.

Para esta función, se requiere que el entorno de vSphere cumpla con las siguientes condiciones:

  • DRS de VMware debe estar habilitado. Para DRS de VMware, se requiere la edición de licencia vSphere Enterprise Plus.

  • La cuenta de usuario de vSphere tiene el privilegio Host.Inventory.Modify cluster.

  • Hay al menos cuatro hosts ESXi disponibles.

Aunque la regla requiere que los nodos del clúster estén distribuidos en tres hosts ESXi, te recomendamos que tengas al menos cuatro hosts ESXi disponibles.

Recuerda que, si tienes una licencia de vSphere Standard, no puedes habilitar DRS de VMware.

Si no tienes DRS habilitado o no tienes al menos cuatro hosts en los que se puedan programar las VM de vSphere, configura antiAffinityGroups.enabled como false.

enableVMTracking

Vista previa
Opcional
Inmutable
Prepropagado: falso

Configúralo como true para habilitar el seguimiento de VM con etiquetas de vSphere. De lo contrario, configúralo como false.

Para obtener más información, consulta Habilita el seguimiento de VM.

Ejemplo:

enableVMTracking: true

nodePoolUpdatePolicy.maximumConcurrentNodePoolUpdate

Opcional
Número entero
Valores posibles: 0 o 1 Prepropagado: 0

La cantidad de grupos de nodos que se actualizarán a la vez. Un valor de 1 especifica que un grupo de nodos se puede actualizar a la vez. Un valor de 0 especifica que se puede actualizar una cantidad ilimitada de grupos de nodos a la vez.

Ejemplo:

nodePoolUpdatePolicy:
  maximumConcurrentNodePoolUpdate: 1

nodePoolUpdatePolicy.updateStrategy.rollingUpdate.maxSurge

Vista previa
Opcional
Mutable
Número entero
Valor predeterminado: 1

La cantidad máxima de máquinas en un grupo de nodos que se pueden actualizar de forma simultánea durante una actualización. Se aplica a cualquier grupo de nodos que no especifique su propia estrategia de actualización.

nodePools:
- name: "my-node-pool"
  updateStrategy:
    rollingUpdate:
      maxSurge: 3

authentication

En esta sección, se conserva la información sobre cómo se autentican y autorizan los usuarios del clúster.

authentication.oidc

No uses esta sección. En su lugar, después de la creación del clúster, edita el recurso personalizado ClientConfig como se describe en Configura clústeres para Anthos Identity Service con OIDC.

authentication.sni

Opcional

Si deseas proporcionar un certificado de entrega adicional para el servidor de la API de Kubernetes del clúster, completa esta sección. De lo contrario, quita esta sección o déjala como comentario.

authentication.sni.certPath

Opcional
string

Es la ruta a un certificado de entrega para el servidor de API de Kubernetes.

Ejemplo:

authentication:
  sni:
    certPath: "my-cert-folder/example.com.crt"

authentication.sni.keyPath

Opcional
String

Es la ruta de acceso del archivo de claves privadas del certificado.

Ejemplo:

authentication:
  sni:
    keyPath: "my-cert-folder/example.com.key"

gkeConnect

Obligatorio
Inmutable

En esta sección, se incluye información sobre el proyecto y la cuenta de servicio de Google Cloud que deseas usar para registrar tu clúster en una flota de Google Cloud.

gkeConnect.projectID

Obligatorio
Inmutable
String

El ID del proyecto host de tu flota. Para los clústeres nuevos, este ID del proyecto debe ser el mismo que el ID establecido en stackdriver.projectID y cloudAuditLogging.projectID. Si los ID de los proyectos no son los mismos, la creación del clúster fallará. Este requisito no se aplica a los clústeres existentes.

Ejemplo:

gkeConnect:
  projectID: "my-fleet-host-project"

gkeConnect.location

Opcional
Inmutable
Cadena
Predeterminado: global

El servicio de flota (gkehub.googleapis.com) y el servicio de Connect (gkeconnect.googleapis.com) administran la membresía de la flota de cada clúster. La ubicación de los servicios puede ser global o regional. En la versión 1.28 y en versiones posteriores, tienes la opción de especificar la región de Google Cloud en la que se ejecutan los servicios de la flota y Connect. Si no se especifica, se usan las instancias globales de los servicios. Ten en cuenta lo siguiente:

  • Los servicios globales Fleet y Connect administran los clústeres de usuario creados antes de la versión 1.28.

  • Los clústeres nuevos creados mediante los clientes de la API de GKE On-Prem (la consola de Google Cloud, Google Cloud CLI o Terraform) usan la misma región que especificas para la API de GKE On-Prem.

  • Para los clústeres nuevos, si incluyes este campo, la región que especifiques debe ser la misma que la región configurada en cloudAuditLogging.clusterLocation, stackdriver.clusterLocation y gkeOnPremAPI.location. Si las regiones no son iguales, la creación del clúster fallará.

Ejemplo:

gkeConnect:
  location: "us-central1"

gkeConnect.registerServiceAccountKeyPath

Obligatorio
Mutable
Cadena

Es la ruta del archivo de claves JSON para tu cuenta de servicio de registro de conexión.

Para actualizar el valor de este campo, usa gkectl update cluster.

Si deseas obtener información para cambiar la clave de tu cuenta de servicio del registro de conexión, consulta Rota las claves de cuenta de servicio.

Ejemplo:

gkeConnect:
  registerServiceAccountKeyPath: "my-key-folder/connect-register-key.json"

gkeConnect.registerServiceAccountKey.secretRef.version

Obligatorio si se usan credenciales preparadas
Mutable
String
Valores posibles: una string de número entero o “más reciente”
Valor predeterminado: “más reciente”

La versión de un Secreto preparado en el clúster de administrador que contiene una clave JSON para tu cuenta de servicio del registro de conexión.

Ejemplo:

gkeConnect:
  registerServiceAccountKey:
    secretRef:
      version: "1"

gkeOnPremAPI

Opcional

En 1.16 y versiones posteriores, si la API de GKE On-Prem está habilitada en tu proyecto de Google Cloud, todos los clústeres del proyecto se inscriben en la API de GKE On-Prem de forma automática en la región configurada en stackdriver.clusterLocation.

  • Si deseas inscribir todos los clústeres del proyecto en la API de GKE On-Prem, asegúrate de seguir los pasos que se indican en Antes de comenzar para activar y usar la API de GKE On-Prem en el proyecto.

  • Si no deseas inscribir el clúster en la API de GKE On-Prem, incluye esta sección y establece gkeOnPremAPI.enabled en false. Si no quieres inscribir ningún clúster en el proyecto, inhabilita gkeonprem.googleapis.com (el nombre del servicio para la API de GKE On-Prem) en el proyecto. Para obtener instrucciones, consulta Inhabilita servicios.

La inscripción del clúster de usuario en la API de GKE On-Prem te permite usar las herramientas estándar (la consola de Google Cloud, Google Cloud CLI y Terraform) para administrar el ciclo de vida del clúster. Además, la inscripción del clúster te permite usar la consola o gcloud CLI para ver los detalles del clúster. Por ejemplo, puedes ejecutar comandos de gcloud para obtener información sobre el clúster de usuario.

Después de agregar esta sección y de crear o actualizar el clúster, si luego quitas la sección y actualizas el clúster, la actualización fallará.

gkeOnPremAPI.enabled

Obligatorio si se incluye la sección gkeOnPremAPI.
Mutable
Booleano
Valor predeterminado: true

De forma predeterminada, el clúster está inscrito en la API de GKE On-Prem si esta está habilitada en tu proyecto. Configúralo en false si no deseas inscribir el clúster.

Después de inscribir el clúster en la API de GKE On-Prem, si necesitas dar de baja el clúster, realiza el siguiente cambio y, luego, actualízalo:

gkeOnPremAPI:
  enabled: false

gkeOnPremAPI.location

Obligatorio si se incluye la sección gkeOnPremAPI.
Inmutable
Cadena
Valor predeterminado: stackdriver.clusterLocation

La región de Google Cloud en la que la API de GKE On-Prem ejecuta y almacena los metadatos del clúster. Elige una de las regiones compatibles. Debes usar la misma región que está configurada en gkeConnect.location, stackdriver.clusterLocation y cloudAuditLogging.clusterLocation. Si gkeOnPremAPI.enabled es false, no incluyas este campo.

stackdriver

Obligatorio de forma predeterminada
Mutable

Si deseas habilitar Cloud Logging y Cloud Monitoring para tu clúster, completa esta sección. De lo contrario, quita esta sección o déjala como comentario.

Esta sección es obligatoria de forma predeterminada. Es decir, si no incluyes esta sección, deberás incluir la marca --skip-validation-stackdriver cuando ejecutes gkectl create cluster.

Esta sección es obligatoria en el clúster de usuario si deseas administrar el ciclo de vida de los clústeres de usuario en la consola de Google Cloud.

stackdriver.projectID

Necesario para Logging y Monitoring
String inmutable

El ID del proyecto host de tu flota. Para los clústeres nuevos, este ID del proyecto debe ser el mismo que el ID establecido en gkeConnect.projectID y cloudAuditLogging.projectID. Si los ID de los proyectos no son los mismos, la creación del clúster fallará. Este requisito no se aplica a los clústeres existentes.

Si es necesario, puedes configurar un enrutador de registros en este proyecto para enrutar los registros a buckets de registros en otro proyecto. Para obtener información sobre cómo configurar el router de registro, consulta Destinos compatibles.

Ejemplo:

stackdriver:
  projectID: "my-fleet-host-project"

stackdriver.clusterLocation

Necesario para Logging y Monitoring
Inmutable
String
Se completó previamente: “us-central1”

Es la región de Google Cloud en la que deseas almacenar los registros. Te recomendamos que elijas una región cercana a tu centro de datos local.

Para los clústeres nuevos, si incluyes las secciones gkeOnPremAPI y cloudAuditLogging en el archivo de configuración, la región que establezcas aquí debe ser la misma que configuraste en gkeConnect.location, gkeOnPremAPI.location y cloudAuditLogging.clusterLocation. Si las regiones no son iguales, la creación del clúster fallará.

Ejemplo:

stackdriver:
  clusterLocation: "us-central1"

stackdriver.enableVPC

Opcional
Inmutable
Booleano
Prepropagado: false

Si la red del clúster está controlada por una VPC, establece esto en true. Esto garantiza que toda la telemetría fluya a través de las direcciones IP restringidas de Google. De lo contrario, configúralo como false.

Ejemplo:

stackdriver:
  enableVPC: false

stackdriver.serviceAccountKeyPath

Necesario para Logging y Monitoring
Mutable
String

Es la ruta del archivo de claves JSON para la cuenta de servicio de supervisión y registro.

Para actualizar el valor de este campo, usa gkectl update cluster.

Si deseas obtener información para cambiar la clave de tu cuenta de servicio de supervisión de registros, consulta Rota claves de cuentas de servicio.

Ejemplo:

stackdriver:
  serviceAccountKeyPath: "my-key-folder/log-mon-key.json"

stackdriver.serviceAccountKey.secretRef.version

Obligatorio si se usan credenciales preparadas
Mutable
String
Valores posibles: una string de número entero o “más reciente”
Valor predeterminado: “más reciente”

Es la versión de un Secreto preparado en el clúster de administrador que contiene una clave JSON para tu cuenta de servicio de supervisión de registros.

Ejemplo:

stackdriver:
  serviceAccountKey:
    secretRef:
      version: "1"

stackdriver.disableVsphereResourceMetrics

Opcional
Mutable
Booleano
Prepropagado: false
Valor predeterminado: false

Configúralo como true para inhabilitar la recopilación de métricas de vSphere. De lo contrario, configúralo como false.

Ejemplo:

stackdriver:
  disableVsphereResourceMetrics: true

usageMetering

Vista previa
Inmutable
Opcional

Si deseas habilitar la medición de uso para tu clúster, completa esta sección. De lo contrario, quita esta sección o déjala como comentario.

usageMetering.bigQueryProjectID

Vista previa
Obligatorio para la medición de uso
Inmutable
String

Es el ID del proyecto de Google Cloud en el que deseas almacenar datos de medición de uso.

Ejemplo:

usageMetering:
  bigQueryProjectID: "my-bq-project"

usageMetering.bigQueryDatasetID

Vista previa
Obligatorio para la medición de uso
Inmutable
String

Es el ID del conjunto de datos de BigQuery en el que deseas almacenar los datos de medición de uso. Ejemplo:

usageMetering:
  bigQueryDatasetID: "my-bq-dataset"

usageMetering.bigQueryServiceAccountKeyPath

Vista previa
Obligatorio para la medición de uso
Cadena inmutable
.

Es la ruta del archivo de claves JSON para tu cuenta de servicio de BigQuery

Para actualizar el valor de este campo, usa gkectl update cluster.

Si deseas obtener información para cambiar la clave de tu cuenta de servicio de BigQuery, consulta Rota claves de cuenta de servicio.

Ejemplo:

usageMetering:
  bigQueryServiceAccountKeyPath: "my-key-folder/bq-key.json"

usageMetering.bigQueryServiceAccountKey.secretRef.version

Obligatorio si se usan credenciales preparadas
Mutable
String
Valores posibles: una string de número entero o “más reciente”
Valor predeterminado: “más reciente”

La versión de un Secreto preparado en el clúster de administrador que contiene una clave JSON para tu cuenta de servicio de BigQuery.

Ejemplo:

gkeConnect:
  bigQueryServiceAccountKey:
    secretRef:
      version: "1"

usageMetering.enableConsumptionMetering

Vista previa
Obligatorio para la medición de uso
Inmutable
Booleano
Se completó previamente: falso

Configúralo como true si deseas habilitar la medición basada en el consumo. De lo contrario, configúralo como falso.

Ejemplo:

usageMetering:
  enableConsumptionMetering: true

cloudAuditLogging

Si deseas integrar los registros de auditoría del servidor de la API de Kubernetes del clúster a los registros de auditoría de Cloud, completa esta sección. De lo contrario, quita esta sección o déjala como comentario.

cloudAuditLogging.projectID

Obligatorio para los registros de auditoría de Cloud
String inmutable

El ID del proyecto host de la flota. Para los clústeres nuevos, este ID del proyecto debe ser el mismo que el ID establecido en gkeConnect.projecID y stackdriver.projectID. Si los ID de los proyectos no son los mismos, la creación del clúster fallará. Este requisito no se aplica a los clústeres existentes.

Si es necesario, puedes configurar un enrutador de registros en este proyecto para enrutar los registros a buckets de registros en otro proyecto. Para obtener información sobre cómo configurar el router de registro, consulta Destinos compatibles.

Ejemplo:

cloudAuditLogging:
  projectID: "my-fleet-host-project"

cloudAuditLogging.clusterLocation

Obligatorio para los registros de auditoría de Cloud
String inmutable

Es la región de Google Cloud en la que deseas almacenar los registros de auditoría. Te recomendamos que elijas una región cercana a tu centro de datos local.

Para los clústeres nuevos, si incluyes las secciones gkeOnPremAPI y stackdriver en el archivo de configuración, la región que establezcas aquí debe ser la misma que configuraste en gkeConnect.location, gkeOnPremAPI.location y stackdriver.clusterLocation. Si las regiones no son iguales, la creación del clúster fallará.

Ejemplo:

cloudAuditLogging:
  clusterLocation: "us-central1"

cloudAuditLogging.serviceAccountKeyPath

Obligatorio para los registros de auditoría de Cloud
Mutable
String

Es la ruta de acceso del archivo de claves JSON para la cuenta de servicio de registro y auditoría.

Para actualizar el valor de este campo, usa gkectl update cluster.

Si deseas obtener información para cambiar la clave de tu cuenta de servicio de registro de auditoría, consulta Rota claves de cuentas de servicio.

Ejemplo:

cloudAuditLogging:
  serviceAccountKeyPath: "my-key-folder/audit-log-key.json"

cloudAuditLogging.serviceAccountKey.secretRef.version

Opcional
Mutable
String
Valores posibles: Una string de número entero o “latest”
Valor predeterminado: “latest”

Es la versión de un Secreto preparado en el clúster de administrador que contiene una clave JSON para tu cuenta de servicio de registro de auditoría.

Ejemplo:

cloudAuditLogging:
  serviceAccountKey:
    secretRef:
      version: "1"

autoRepair.enabled

Opcional
Mutable
Booleano
Prepropagado: verdadero

Configúralo como true para habilitar la reparación automática de nodos. De lo contrario, configúralo como false.

Ejemplo:

autoRepair:
  enabled: true

secretsEncryption

Si deseas encriptar Secretos sin la necesidad de tener un KMS externo (servicio de administración de claves) o cualquier otra dependencia, completa esta sección. De lo contrario, quita esta sección o déjala como comentario.

secretsEncryption.mode

Obligatorio para la encriptación de secretos
Inmutable
String
Valor posible: "GeneratedKey"
Se completó previamente: "GeneratedKey"

El modo de encriptación de Secret.

secretsEncryption:
  mode: "GeneratedKey"

secretsEncryption.generatedKey.keyVersion

Obligatorio para la encriptación de secretos
Mutable
Número entero
Prepropagado: 1

Un número entero que elijas para el número de versión de la clave. Te recomendamos que comiences con 1.

Si deseas obtener información para actualizar este campo para un clúster existente, consulta Encriptación de secretos siempre activados.

Ejemplo:

secretsEncryption:
  generatedKey:
    keyVersion: 1

secretsEncryption.generatedKey.disabled

Opcional para la encriptación de secretos
Mutable
Booleano
Prepropagado: falso

Configúralo como true para inhabilitar la encriptación de Secrets. De lo contrario, configúralo como false.

Si deseas obtener información para actualizar este campo para un clúster existente, consulta Encriptación de secretos siempre activados.

Ejemplo:

secretsEncryption:
  generatedKey:
    disabled: false