En este documento se describen los campos del archivo de configuración del clúster de administrador de Google Distributed Cloud para las versiones 1.30 y posteriores.
Generar una plantilla para el archivo de configuración
Si has usado gkeadm
para crear tu estación de trabajo de administrador, gkeadm
habrá generado una plantilla para el archivo de configuración de tu clúster de administrador. Además, gkeadm
ha rellenado algunos campos por ti.
Si no has usado gkeadm
para crear tu estación de trabajo de administrador, puedes usar gkectl
para generar una plantilla para el archivo de configuración de tu clúster de administrador.
Para generar una plantilla para el archivo de configuración de tu clúster de administrador, sigue estos pasos:
gkectl create-config admin --config=OUTPUT_FILENAME --gke-on-prem-version=VERSION
Haz los cambios siguientes:
OUTPUT_FILENAME
: la ruta que quieras para la plantilla generada. Si omite esta marca,gkectl
asigna el nombreadmin-cluster.yaml
al archivo y lo coloca en el directorio actual.VERSION
: el número de versión de Google Distributed Cloud. Por ejemplo:gkectl create-config admin --gke-on-prem-version=1.33.100-gke.89
. Esta versión debe ser igual o inferior a la versióngkectl
. Si omite esta marca, la plantilla de configuración generada se rellenará con valores basados en el último parche de la versión 1.33.
Plantilla
Campos obligatorios y valores predeterminados
Si un campo está marcado como Obligatorio, el archivo de configuración completado debe tener un valor en ese campo.
Si se asigna un valor Predeterminado a un campo, el clúster usará ese valor si no introduces nada en el campo. Puedes anular un valor predeterminado introduciendo un valor.
Si un campo no está marcado como obligatorio, es opcional. Puedes rellenarlo si te resulta útil, pero no es obligatorio.
Rellenar el archivo de configuración
En el archivo de configuración, introduce los valores de los campos tal como se describe en las secciones siguientes.
enableAdvancedCluster
1.33 y versiones posteriores
Todos los clústeres nuevos se crean como clústeres avanzados. Si incluye este campo en el archivo de configuración al crear un clúster, debe asignarle el valor true
. Si asigna el valor false
a este campo, se bloqueará la creación del clúster.
1.32
Opcional
Mutable (se permite de false
a true
)
Booleano
Valor predefinido: true
Valor predeterminado: true
Asigna el valor false
a enableAdvancedCluster
si no quieres habilitar el clúster avanzado al crear un clúster. Cuando esta marca se define como true
(clúster avanzado habilitado), el software de Google Distributed Cloud despliega controladores que permiten una arquitectura más extensible. Si habilitas el clúster avanzado, tendrás acceso a nuevas funciones y prestaciones, como los dominios de topología.
Este campo es obligatorio si se configura infraConfigFilePath
.
Consulta las diferencias al ejecutar clústeres avanzados antes de habilitar esta opción.
Para actualizar un clúster a un clúster avanzado, consulta Actualizar un clúster a un clúster avanzado. Después de actualizar a un clúster avanzado, no se puede inhabilitar.
1.31
Solo está disponible para los clústeres nuevos
Vista previa
Opcional
Inmutable
Booleano
Valor predefinido: false
Valor predeterminado: false
Define enableAdvancedClusters
como true
para habilitar el clúster avanzado al crear un clúster. Cuando se habilita esta marca, el software subyacente de Google Distributed Cloud despliega controladores que permiten una arquitectura más extensible. Si habilitas el clúster avanzado, tendrás acceso a nuevas funciones y capacidades, como los dominios de topología.
Este campo es obligatorio si se configura infraConfigFilePath
.
1.30 y versiones anteriores
No está disponible.
name
Opcional
String
Valor predeterminado: un nombre aleatorio que empieza por el prefijo "gke-admin-"
El nombre que elijas para el clúster.
Ejemplo:
name: "my-admin-cluster"
bundlePath
Obligatorio
Mutable
String
Ruta del archivo de paquete de Google Distributed Cloud.
El archivo del paquete completo de Google Distributed Cloud contiene todos los componentes de una versión concreta de Google Distributed Cloud. Cuando creas una estación de trabajo de administrador, incluye un paquete completo en la siguiente ubicación:
/var/lib/gke/bundles/gke-onprem-vsphere-VERSION-full.tgz
Ejemplo:
bundlePath: "/var/lib/gke/bundles/gke-onprem-vsphere-1.10.0-gke.8.full.tgz"
preparedSecrets.enabled
Si infraConfigFilePath
está configurado, quita este campo.
Vista previa
Opcional
Inmutable
Booleano
Valor predefinido: false
Valor predeterminado: false
Asigna el valor true
si quieres usar credenciales preparadas en el clúster de administrador. De lo contrario, asigna el valor false
o no incluyas el campo.
Ejemplo:
preparedSecrets: enabled: true
vCenter
En esta sección se incluye información sobre tu entorno de vSphere y tu conexión con vCenter Server.
Si infraConfigFilePath
está configurado,
elimina toda esta sección. De lo contrario, esta sección es obligatoria e inmutable.
vCenter.address
Obligatorio
Inmutable
Cadena
La dirección IP o el nombre de host de tu servidor de vCenter.
Para obtener más información, consulta Buscar la dirección del servidor vCenter.
Ejemplos:
vCenter: address: "203.0.113.100"
vCenter: address: "my-vcenter-server.my-domain.example"
vCenter.datacenter
Obligatorio
Inmutable
Cadena
Ruta relativa de un centro de datos de vSphere.
El valor que especifiques será relativo a la carpeta raíz llamada /
.
Si su centro de datos está en la carpeta raíz, el valor es el nombre del centro de datos.
Ejemplo:
vCenter: datacenter: "my-data-center"
De lo contrario, el valor es una ruta relativa que incluye una o varias carpetas junto con el nombre del centro de datos.
Ejemplo:
vCenter: datacenter: "data-centers/data-center-1"
vCenter.cluster
Obligatorio
Inmutable
Cadena
La ruta relativa de un clúster de vSphere que representa los hosts ESXi en los que se ejecutarán las VMs de tu clúster de administrador. Este clúster de vSphere representa un subconjunto de los hosts ESXi físicos de tu centro de datos de vCenter.
El valor que especifiques será relativo a /.../DATA_CENTER/vm/
.
Si tu 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-vsphere-cluster"
De lo contrario, el valor es una ruta relativa que incluye una o varias carpetas junto con el nombre del clúster de vSphere.
Ejemplo:
vCenter: cluster: "clusters/vsphere-cluster-1"
vCenter.resourcePool
Obligatorio
Inmutable
Cadena
Un grupo de recursos de vCenter para las VMs de tu clúster de administrador.
Si quieres usar el grupo de recursos predeterminado, asigna el valor VSPHERE_CLUSTER/Resources
a este campo.
Ejemplo:
vCenter: resourcePool: "my-vsphere-cluster/Resources"
Si quieres usar un grupo de recursos que ya has creado, asigna a este campo la ruta relativa del grupo de recursos.
El valor que especifiques será relativo a /.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/
.
Si tu 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-resource-pool"
De lo contrario, el valor es una ruta relativa que tiene dos o más grupos de recursos.
Ejemplo:
vCenter: resourcePool: "resource-pool-1/resource-pool-2"
vCenter.datastore
Obligatorio si no se especifica vCenter.storagePolicyName
Inmutable
Cadena
Nombre de un almacén de datos de vSphere de tu clúster de administración.
El valor que especifique debe ser un nombre, no una ruta. No incluyas ninguna carpeta en el valor.
Ejemplo:
vCenter: datastore: "my-datastore"
Debe especificar un valor para vCenter.datastore
o vCenter.storagePolicyName
, pero no para ambos. Si especifica un valor para este campo, no especifique ningún valor para vCenter.storagePolicyName
. El campo vCenter.datastore
es inmutable, excepto cuando se le asigna una cadena vacía al migrar un almacén de datos a la gestión basada en políticas de almacenamiento (SPBM).
vCenter.storagePolicyName
Obligatorio si no se especifica vCenter.datastore
Inmutable
Cadena
Nombre de una política de almacenamiento de VM para los nodos del clúster.
El clúster de administrador debe tener alta disponibilidad para funcionar con la política de almacenamiento.
Para obtener más información, consulta Configurar una política de almacenamiento.
Debe especificar un valor para vCenter.datastore
o vCenter.storagePolicyName
, pero no para ambos. Si especifica un valor para este campo, no especifique ningún valor para vCenter.datastore
.
vCenter.caCertPath
Obligatorio
Mutable
String
Ruta del certificado de la AC de tu servidor vCenter.
Para obtener más información, consulta Obtener el certificado de CA de vCenter.
Para obtener información sobre cómo actualizar este campo en un clúster, consulta Actualizar las referencias de certificados de vCenter.
Ejemplo:
vCenter: caCertPath: "/usr/local/google/home/me/certs/vcenter-ca-cert.pem"
vCenter.credentials.fileRef.path
Obligatorio
String
Ruta 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 Administrador o privilegios equivalentes. Consulta los requisitos de vSphere.
Puedes usar gkectl update
para actualizar este campo en un clúster.
Para obtener información sobre cómo actualizar las credenciales de vCenter, consulta Actualizar las credenciales del clúster.
Ejemplo:
vCenter: credentials: fileRef: path: "my-config-folder/admin-creds.yaml"
vCenter.credentials.fileRef.entry
Obligatorio
String
El nombre del bloque de credenciales en tu archivo de configuración de credenciales, que contiene el nombre de usuario y la contraseña de tu cuenta de usuario de vCenter.
Puedes usar gkectl update
para actualizar este campo en un clúster.
Para obtener información sobre cómo actualizar las credenciales de vCenter, consulta Actualizar las credenciales del clúster.
Ejemplo:
vCenter: credentials: fileRef: entry: "vcenter-creds"
vCenter.folder
Opcional
Inmutable
Cadena
Valor predeterminado: la carpeta de todo el centro de datos
Ruta relativa de una carpeta de vSphere que ya has creado. Esta carpeta contendrá las VMs de tu clúster de administrador.
Si no especifica ningún valor, las VMs de su clúster de administrador se colocarán en
/.../DATA_CENTER/vm/
.
Si especificas un valor, será relativo a /.../DATA_CENTER/vm/
.
El valor puede ser el nombre de una carpeta.
Ejemplo:
vCenter: folder: "my-folder"
También puede ser una ruta relativa que incluya más de una carpeta.
Ejemplo:
vCenter: folder: "folders/folder-1"
vCenter.dataDisk
No proporcione ningún valor en este campo. Elimina el campo o déjalo comentado.
network
Obligatorio
Inmutable
Esta sección contiene información sobre la red de tu clúster de administrador.
network.hostConfig
Esta sección contiene información sobre los servidores NTP, los servidores DNS y los dominios de búsqueda de DNS que usan las VMs que son los nodos de tu clúster.
Si infraConfigFilePath
está configurado,
elimina toda esta sección. De lo contrario, esta sección es obligatoria e inmutable.
network.hostConfig.dnsServers
Es obligatorio si se rellena la sección network.hostConfig
.
Inmutable
Array de cadenas.
El número máximo de elementos de la matriz es tres.
Las direcciones de los servidores DNS de las máquinas virtuales.
Ejemplo:
network: hostConfig: dnsServers: - "172.16.255.1" - "172.16.255.2"
network.hostConfig.ntpServers
Es obligatorio si se rellena la sección network.hostConfig
.
Inmutable
Array de cadenas
Las direcciones de los servidores de tiempo que deben usar las VMs.
Ejemplo:
network: hostConfig: ntpServers: - "216.239.35.0"
network.hostConfig.searchDomainsForDNS
Opcional
Inmutable
Array de cadenas
Dominios de búsqueda de DNS que usarán las VMs. Estos dominios se usan como parte de una lista de búsqueda de dominios.
Ejemplo:
network: hostConfig: searchDomainsForDNS: - "my.local.com"
network.ipMode.type
Inmutable
String
Prepopulated: "static"
Default: "dhcp"
Si quieres que los nodos del clúster obtengan su dirección IP de un servidor DHCP, define este valor como "dhcp"
. Si quieres que los nodos de tu clúster tengan direcciones IP estáticas elegidas de una lista que proporciones, define este valor como "static"
.
En la mayoría de los casos, debe especificar static
porque siempre tiene que proporcionar direcciones IP para los nodos del plano de control del clúster de administrador. El protocolo DHCP solo se usa para proporcionar direcciones IP en los siguientes casos:
Si
enableControlplaneV2
no está habilitado en los clústeres de usuario, puedes usar DHCP para los nodos del plano de control de los clústeres de usuario, que están en el clúster de administrador.En la versión 1.16 y anteriores, los nodos complementarios de los clústeres de administrador que no sean de alta disponibilidad pueden obtener sus direcciones IP de DHCP. En la versión 1.28 y posteriores, los clústeres de administrador deben tener alta disponibilidad y no tienen nodos complementarios.
Ejemplo:
network: ipMode: type: "static"
network.ipMode.ipBlockFilePath
Ruta absoluta o relativa del archivo de bloque de IPs de tu clúster.
Si se configura infraConfigFilePath
, este campo es obligatorio.
Este campo también es obligatorio en los siguientes casos:
Clúster de administración no de alta disponibilidad 1.16 y versiones anteriores: enumera las direcciones IP del nodo del plano de control y de los nodos de complementos en un archivo de bloque de IPs.
Clúster de administración de alta disponibilidad 1.16 y versiones anteriores: enumera las direcciones IP de los nodos de complementos en un archivo de bloque de IP.
Clústeres de usuarios de kubeception con la versión 1.29 o inferior: enumera las direcciones IP de los nodos del plano de control del clúster de usuarios en el archivo de bloque de IP del clúster de administradores.
Inmutable
String
Ejemplo:
network: ipMode: ipBlockFilePath: "/my-config-folder/admin-cluster-ipblock.yaml"
network.serviceCIDR
Obligatorio
Inmutable
Cadena
Intervalo más pequeño posible: /24
Intervalo más grande posible: /12
Valor predefinido: "10.96.232.0/24"
Intervalo de direcciones IP, en formato CIDR, que se usará para los servicios de tu clúster.
Ejemplo:
network: serviceCIDR: "10.96.232.0/24"
network.podCIDR
Obligatorio
Inmutable
Cadena
Intervalo más pequeño posible: /18
Intervalo más grande posible: /8
Valor predefinido: "192.168.0.0/16"
Intervalo de direcciones IP, en formato CIDR, que se usará para los pods de tu clúster.
Ejemplo:
network: podCIDR: "192.168.0.0/16"
El intervalo de servicios no debe solaparse con el de pods.
Los intervalos de servicios y pods no deben solaparse con ninguna dirección fuera del clúster a la que quieras acceder desde dentro del clúster.
Por ejemplo, supongamos que tu intervalo de servicio es 10.96.232.0/24 y tu intervalo de pods es 192.168.0.0/16. El tráfico enviado desde un pod a una dirección de cualquiera de esos intervalos se tratará como tráfico dentro del clúster y no llegará a ningún destino fuera del clúster.
En concreto, los intervalos de servicios y pods no deben solaparse con lo siguiente:
Direcciones IP de los nodos de cualquier clúster
Direcciones IP que utilizan las máquinas del balanceador de carga
IPs virtuales usadas por los nodos del plano de control y los balanceadores de carga
Dirección IP de los servidores de vCenter, los servidores DNS y los servidores NTP
Te recomendamos que los intervalos de servicio y de pods se encuentren en el espacio de direcciones RFC 1918.
Este es uno de los motivos por los que se recomienda usar direcciones RFC 1918. Supongamos que el intervalo de tu pod o servicio contiene direcciones IP externas. El tráfico enviado desde un pod a una de esas direcciones externas se tratará como tráfico dentro del clúster y no llegará al destino externo.
network.vCenter.networkName
El nombre de la red de vSphere de los nodos del clúster.
Si infraConfigFilePath
está configurado, elimina este campo. De lo contrario, este campo es obligatorio e inmutable.
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 inclinada (/ ) |
%2f |
Barra inversa (\ ) |
%5c |
Símbolo de porcentaje (% ) |
%25 |
Si el nombre de la red no es único en su centro de datos, puede especificar una ruta completa.
Ejemplo:
network: vCenter: networkName: "/data-centers/data-center-1/network/my-network"
network.controlPlaneIPBlock
Información de red de los nodos del plano de control del clúster de administrador.
Si infraConfigFilePath
está configurado,
elimina toda esta sección. De lo contrario, esta sección es obligatoria e inmutable.
network.controlPlaneIPBlock.netmask
Obligatorio
Inmutable
Cadena
La máscara de red de la red que tiene los nodos del plano de control.
Ejemplo:
network: controlPlaneIPBlock: netmask: "255.255.255.0"
network.controlPlaneIPBlock.gateway
Obligatorio
Inmutable
Cadena
La dirección IP de la pasarela predeterminada de los nodos del plano de control.
Ejemplo:
network: controlPlaneIPBlock: gateway: "172.16.22.1"
network.controlPlaneIPBlock.ips
Obligatorio
Inmutable
Matriz de tres objetos, cada uno de los cuales tiene una dirección IP y un nombre de host opcional.
Estas son las direcciones IP que se asignarán a los nodos del plano de control.
Ejemplo:
network: controlPlaneIPBlock: ips: - ip: "172.16.22.6" hostname: "admin-cp-vm-1" - ip: "172.16.22.7" hostname: "admin-cp-vm-2" - ip: "172.16.22.8" hostname: "admin-cp-vm-3"
infraConfigFilePath
1.31
Si especificas una ruta en este campo, se habilitarán los dominios de topología.
Vista previa
Opcional
Cadena
Mutable
Especifica la ruta completa del archivo de configuración de la infraestructura de vSphere.
Ejemplo:
infraConfigFilePath: "/my-config-folder/vsphere-infrastructure.yaml"
Además de añadir la ruta, copia el archivo de configuración de la infraestructura de vSphere en el directorio correspondiente.
Si añades una ruta a infraConfigFilePath
, debes hacer los siguientes cambios en los archivos de configuración de los clústeres de administrador y de usuario.
Cambios en el archivo de configuración del clúster de administrador
Elimina lo siguiente del archivo de configuración del clúster de administrador. Esta información se configura en el archivo de configuración de la infraestructura de vSphere por dominio de topología.
vCenter
: elimina toda la secciónvCenter
.network.hostConfig
: elimina toda la secciónnetwork.hostConfig
.network.vCenter.networkName
: quita este campo.
Haz los siguientes cambios en el archivo de configuración del clúster de administrador:
network.controlPlaneIPBlock
: elimina toda la sección. En su lugar, especifica las direcciones IP de los nodos del plano de control del clúster de administrador en un archivo de bloque de IPs.preparedSecrets
: quita este campo. Las credenciales preparadas no se admiten cuando los dominios de topología están habilitados. Elimina este campo.
Los siguientes campos son obligatorios:
enableAdvancedCluster
: elija el valortrue
.network.ipMode.ipBlockFilePath
: se define como la ruta completa o relativa del archivo de bloque de IPs del clúster de administrador.loadBalancer.kind
: elija el valor"ManualLB"
."ManualLB"
es la única opción de balanceo de carga de varias subredes (capa 3) que ofrece Google Distributed Cloud.
Cambios en el archivo de configuración del clúster de usuarios
Elimina lo siguiente del archivo de configuración de tu clúster de usuarios. Esta información se configura en el archivo de configuración de la infraestructura de vSphere por dominio de topología.
vCenter
: elimina toda la secciónvCenter
.network.hostConfig
: elimina toda la secciónnetwork.hostConfig
.network.vCenter.networkName
: quita este campo.masterNode.vsphere
: elimina toda la sección.nodePools[i].vsphere.datastore
ynodePools[i].vsphere.storagePolicyName
: elimina estos campos.
Haz los siguientes cambios en el archivo de configuración del clúster de usuarios:
network.controlPlaneIPBlock
: elimina toda la sección. En su lugar, especifica las direcciones IP de los nodos del plano de control del clúster de administrador en un archivo de bloque de IPs.preparedSecrets
: quita este campo. Las credenciales preparadas no se admiten cuando los dominios de topología están habilitados.nodePools[i].vsphere.hostgroups
: quita este campo. No se admite la afinidad entre VM y host cuando los dominios de topología están habilitados.multipleNetworkInterfaces
: asigna el valorfalse
a este campo. No se admiten varias interfaces de red para pods cuando los dominios de topología están habilitados.storage.vSphereCSIDisabled
: asigna el valortrue
a este campo para inhabilitar la implementación de componentes de CSI de vSphere.
Los siguientes campos son obligatorios:
enableAdvancedCluster
: se asigna el valortrue
en el archivo de configuración del clúster de usuarios.network.ipMode.ipBlockFilePath
: se define como la ruta completa o relativa del archivo de bloque de IPs del clúster de usuario.loadBalancer.kind
: asigne el valor"ManualLB"
."ManualLB"
es la única opción de balanceo de carga de varias subredes (capa 3) que ofrece Google Distributed Cloud.
1.30 y versiones anteriores
No está disponible.
loadBalancer
Esta sección contiene información sobre el balanceador de carga de tu clúster de administrador.
loadBalancer.vips.controlPlaneVIP
Obligatorio
Inmutable
Cadena
La dirección IP que has elegido para configurar en el balanceador de carga del servidor de la API de Kubernetes del clúster de administrador.
Ejemplo:
loadBalancer: vips: controlplaneVIP: "203.0.113.3"
loadBalancer.kind
Especifica el tipo de balanceador de carga que quieras usar.
1.32 y versiones posteriores
Obligatorio
Inmutable
Cadena
Valor predefinido: "MetalLB"
El tipo de balanceador de carga que puedes usar depende de si vas a configurar el clúster para que use dominios de topología. Se presupone que el clúster usa dominios de topología si se configura el campo infraConfigFilePath
.
Con dominios de topología: define este valor como
"ManualLB"
. Si quieres usar dominios de topología, debes configurar un balanceador de carga de terceros (como F5 BIG-IP o Citrix).Sin dominios de topología: asigna el valor
"ManualLB"
o"MetalLB"
. Usa"ManualLB"
si tienes un balanceador de carga de terceros o"MetalLB"
para nuestra solución combinada.
Si enableAdvancedCluster
se define como true
(clúster avanzado habilitado), el tipo de balanceador de carga de los nodos del plano de control se determina mediante adminMaster.controlPlaneLoadBalancer
.
Ejemplo:
loadBalancer:
kind: "MetalLB"
1.31
Obligatorio
Inmutable
Cadena
Valor predefinido: "MetalLB"
El tipo de balanceador de carga que puedes usar depende de si vas a configurar el clúster para que use dominios de topología. Se presupone que el clúster usa dominios de topología si se configura el campo infraConfigFilePath
.
Con dominios de topología: define este valor como
"ManualLB"
. Si quieres usar dominios de topología, debes configurar un balanceador de carga de terceros (como F5 BIG-IP o Citrix).Sin dominios de topología: asigna el valor
"ManualLB"
o"MetalLB"
. Usa"ManualLB"
si tienes un balanceador de carga de terceros o"MetalLB"
para nuestra solución combinada.
Ejemplo:
loadBalancer:
kind: "MetalLB"
1.30
Obligatorio
Inmutable
Cadena
Valor predefinido: "MetalLB"
Asigna el valor "ManualLB"
o "MetalLB"
. Usa "ManualLB"
si tienes un balanceador de carga de terceros (como F5 BIG-IP o Citrix) o "MetalLB"
para nuestra solución integrada.
Tenga en cuenta las siguientes diferencias con respecto a las versiones anteriores:
En la versión 1.30 y posteriores, no se permite el valor
"F5BigIP"
para los nuevos clústeres de administrador.En la versión 1.28 y posteriores, no se permite el valor
"Seesaw"
para los nuevos clústeres de administrador.
Si tienes un clúster que usa estos balanceadores de carga, consulta Planificar la migración de un clúster a las funciones recomendadas.
Ejemplo:
loadBalancer:
kind: "MetalLB"
1.29 y 1.28
Obligatorio
Inmutable
Cadena
Predefinido: "MetalLB"
Asigna el valor "ManualLB"
, "F5BigIP"
o "MetalLB"
.
Para habilitar funciones nuevas y avanzadas, te recomendamos que uses "ManualLB"
si tienes un balanceador de carga de terceros (como F5 BIG-IP o Citrix) o
"MetalLB"
nuestra solución agrupada.
En la versión 1.28 y posteriores, no se permite el valor "Seesaw"
para los nuevos clústeres de administrador.
Si tienes un clúster que usa el balanceador de carga de Seesaw, consulta Migrar del balanceador de carga de Seesaw a MetalLB.
Ejemplo:
loadBalancer:
kind: "MetalLB"
1.16 y versiones anteriores
Obligatorio
Inmutable
Cadena
Predefinido: "MetalLB"
Cadena. Asigna el valor "ManualLB"
, "F5BigIP"
, "Seesaw"
o "MetalLB"
.
Si asignas el valor 3
a adminMaster.replicas
, no podrás usar el balanceador de carga de Seesaw.
Ejemplo:
loadBalancer:
kind: "MetalLB"
Cuando creas clústeres de usuarios con la consola Google Cloud , la CLI de gcloud o Terraform, el tipo de balanceador de carga del clúster de administrador y sus clústeres de usuarios debe ser el mismo. La única excepción es si el clúster de administrador usa Seesaw, en cuyo caso los clústeres de usuario pueden usar MetalLB. Si quieres que tus clústeres de administrador y de usuario usen diferentes tipos de balanceadores de carga, debes crear clústeres de usuario con la herramienta de línea de comandos gkectl
.
loadBalancer.manualLB
Si has definido loadbalancer.kind
como "ManualLB"
, rellena esta sección. De lo contrario,
elimina esta sección.
Inmutable
loadBalancer.manualLB.ingressHTTPNodePort
Quita este campo del archivo de configuración. No se usa en un clúster de administrador.
loadBalancer.manualLB.ingressHTTPSNodePort
Quita este campo del archivo de configuración. No se usa en un clúster de administrador.
loadBalancer.manualLB.konnectivityServerNodePort
Quita este campo del archivo de configuración. No se usa en un clúster de administrador.
loadBalancer.f5BigIP
1.30 y versiones posteriores
En la versión 1.30 y posteriores, no se permite el valor "F5BigIP"
para loadbalancer.kind
en los clústeres de administrador nuevos. Si la sección loadBalancer.f5BigIP
se encuentra en el archivo de configuración, elimínela o coméntela.
Puedes seguir usando tu balanceador de carga F5 BIG-IP con los nuevos clústeres de administrador, pero la configuración es diferente. Para obtener información sobre la configuración, consulta Habilitar el modo manual del balanceo de carga.
Si un clúster tiene configurada esta sección, no se podrá actualizar a la versión 1.32. Debes migrar tus clústeres a las funciones recomendadas antes de actualizar a la versión 1.32.
1,29
Si has definido loadbalancer.kind
como "F5BigIP"
, rellena esta sección.
De lo contrario, elimina esta sección.
Para habilitar funciones nuevas y avanzadas, le recomendamos que configure el balanceo de carga manual en su balanceador de carga F5 BIG-IP. Para habilitar el balanceo de carga manual, asigna el valor loadbalancer.kind
a "ManualLB"
y rellena la sección loadBalancer.manualLB
. Para obtener más información, consulta el artículo sobre cómo habilitar el modo manual del balanceo de carga.
Si tienes un balanceador de carga F5 BIG-IP y la configuración del clúster usa esta sección, te recomendamos que migres al balanceo de carga manual después de actualizar a la versión 1.29 o a una posterior.
1.28 y versiones anteriores
Si has definido loadbalancer.kind
como "F5BigIP"
, rellena esta sección.
De lo contrario, elimina esta sección.
Para habilitar funciones nuevas y avanzadas, le recomendamos que configure el balanceo de carga manual en su balanceador de carga F5 BIG-IP. Para habilitar el balanceo de carga manual, asigna el valor loadbalancer.kind
a "ManualLB"
y rellena la sección loadBalancer.manualLB
. Para obtener más información, consulta el artículo sobre cómo habilitar el modo manual del balanceo de carga.
loadBalancer.f5BigIP.address
1.30 y versiones posteriores
No se permite en clústeres nuevos
Obligatorio si loadBalancer.kind
= "F5BigIp"
Inmutable
Cadena
La dirección de tu balanceador de carga F5 BIG-IP. Por ejemplo:
loadBalancer:
f5BigIP:
address: "203.0.113.2"
1.29 y versiones anteriores
Obligatorio si loadBalancer.kind
= "F5BigIp"
Inmutable
Cadena
La dirección de tu balanceador de carga F5 BIG-IP. Por ejemplo:
loadBalancer:
f5BigIP:
address: "203.0.113.2"
loadBalancer.f5BigIP.credentials.fileRef.path
1.30 y versiones posteriores
No se permite en clústeres nuevos
Obligatorio si loadBalancer.kind
= "F5BigIp"
Mutable
String
Ruta 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 conectarse a tu balanceador de carga F5 BIG-IP.
La cuenta de usuario debe tener un rol de usuario con los permisos suficientes para configurar y gestionar el balanceador de carga. Es suficiente con el rol de administrador o el de administrador de recursos.
Puedes usar gkectl update
para actualizar este campo en un clúster.
Para obtener información sobre cómo actualizar tus credenciales de F5 BIG-IP, consulta Actualizar las credenciales del clúster.
Ejemplo:
loadBalancer:
f5BigIP:
credentials:
fileRef:
path: "my-config-folder/admin-creds.yaml"
1.29 y versiones anteriores
Obligatorio si loadBalancer.kind
= "F5BigIp"
Mutable
String
Ruta 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 conectarse a tu balanceador de carga F5 BIG-IP.
La cuenta de usuario debe tener un rol de usuario con los permisos suficientes para configurar y gestionar el balanceador de carga. Es suficiente con el rol de administrador o el de administrador de recursos.
Puedes usar gkectl update
para actualizar este campo en un clúster.
Para obtener información sobre cómo actualizar tus credenciales de F5 BIG-IP, consulta Actualizar las credenciales del clúster.
Ejemplo:
loadBalancer:
f5BigIP:
credentials:
fileRef:
path: "my-config-folder/admin-creds.yaml"
loadBalancer.f5BigIP.credentialsfileRef.entry
1.30 y versiones posteriores
No se permite en clústeres nuevos
Obligatorio si loadBalancer.kind
= "F5BigIp"
Mutable
String
El nombre del bloque de credenciales en tu archivo de configuración de credenciales, que contiene el nombre de usuario y la contraseña de tu cuenta de F5 BIG-IP.
Puedes usar gkectl update
para actualizar este campo en un clúster.
Para obtener información sobre cómo actualizar tus credenciales de F5 BIG-IP, consulta Actualizar las credenciales del clúster.
Ejemplo:
loadBalancer:
f5BigIP:
credentials:
fileRef:
entry: "f5-creds"
1.29 y versiones anteriores
Obligatorio si loadBalancer.kind
= "F5BigIp"
Mutable
String
El nombre del bloque de credenciales en tu archivo de configuración de credenciales, que contiene el nombre de usuario y la contraseña de tu cuenta de F5 BIG-IP.
Puedes usar gkectl update
para actualizar este campo en un clúster.
Para obtener información sobre cómo actualizar tus credenciales de F5 BIG-IP, consulta Actualizar las credenciales del clúster.
Ejemplo:
loadBalancer:
f5BigIP:
credentials:
fileRef:
entry: "f5-creds"
loadBalancer.f5BigIP.partition
1.30 y versiones posteriores
No se permite en clústeres nuevos
Obligatorio si loadBalancer.kind
= "F5BigIp"
Inmutable
Cadena
El nombre de una partición de BIG-IP que has creado para tu clúster de administrador.
Ejemplo:
loadBalancer:
f5BigIP:
partition: "my-f5-admin-partition"
1.29 y versiones anteriores
Obligatorio si loadBalancer.kind
= "F5BigIp"
Inmutable
Cadena
El nombre de una partición de BIG-IP que has creado para tu clúster de administrador.
Ejemplo:
loadBalancer:
f5BigIP:
partition: "my-f5-admin-partition"
loadBalancer.f5BigIP.snatPoolName
1.30 y versiones posteriores
No se permite en clústeres nuevos
Opcional
Relevante si loadBalancer.kind
= "F5BigIp"
Inmutable
Cadena
Si usas SNAT, el nombre de tu grupo de SNAT. Si no usas SNAT, elimina este campo.
Ejemplo:
loadBalancer:
f5BigIP:
snatPoolName: "my-snat-pool"
1.29 y versiones anteriores
Opcional
Relevante si loadBalancer.kind
= "F5BigIp"
Inmutable
Cadena
Si usas SNAT, el nombre de tu grupo de SNAT. Si no usas SNAT, elimina este campo.
Ejemplo:
loadBalancer:
f5BigIP:
snatPoolName: "my-snat-pool"
loadBalancer.seesaw
No uses esta sección. El balanceador de carga Seesaw no es compatible con los clústeres de administrador nuevos en la versión 1.28 y posteriores. En su lugar, te recomendamos que configures el balanceador de carga MetalLB para los nuevos clústeres de administrador. Para obtener más información sobre cómo configurar MetalLB, consulta Balanceo de carga agrupado con MetalLB.
Aunque seguimos admitiendo Seesaw en clústeres de administrador que no son de alta disponibilidad y que se han actualizado, te recomendamos que migres a MetalLB.
antiAffinityGroups.enabled
Opcional
Mutable
Booleano
Prepoblado: true
Selecciona true
para habilitar la creación de reglas de DRS. De lo contrario, asigna el valor false
.
Si este campo es true
, Google Distributed Cloud crea reglas de antiafinidad de Distributed Resource Scheduler (DRS) de VMware para los nodos de tu clúster de administrador, lo que hace que se distribuyan en al menos tres hosts ESXi físicos de tu centro de datos.
Para usar esta función, tu entorno de vSphere debe cumplir las siguientes condiciones:
VMware DRS está habilitado. VMware DRS requiere la edición de licencia de vSphere Enterprise Plus.
Tu 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 se distribuyan en tres hosts ESXi, te recomendamos que tengas al menos cuatro hosts ESXi disponibles. De esta forma, no perderás el plano de control del clúster de administrador. Por ejemplo, supongamos que solo tienes tres hosts ESXi y que el nodo del plano de control de tu clúster de administrador está en un host ESXi que falla. La regla de DRS evitará que el nodo del plano de control se coloque en uno de los dos hosts ESXi restantes.
Recuerda que, si tienes una licencia de vSphere Standard, no puedes habilitar VMware DRS.
Si no tienes habilitado DRS o no tienes al menos cuatro hosts en los que se puedan programar máquinas virtuales de vSphere, asigna el valor false
a antiAffinityGroups.enabled
.
Ten en cuenta la siguiente limitación de los clústeres avanzados:
Versión 1.31: si el campo
enableAdvancedCluster
estrue
, las reglas de antiafinidad no se admiten en los clústeres avanzados y debes definirantiAffinityGroups.enabled
comofalse
.Versión 1.32: las reglas de antiafinidad se admiten en clústeres avanzados.
Ejemplo:
antiAffinityGroups: enabled: true
adminMaster
Inmutable
Ajustes de configuración de los nodos del plano de control en el clúster de administrador.
adminMaster.controlPlaneLoadBalancer
1.32 y versiones posteriores
Opcionalmente, incluya esta sección para especificar el tipo de balanceador de carga que se va a usar para el tráfico del plano de control en el clúster de administrador. Incluye adminMaster.controlPlaneLoadBalancer.mode
en tu archivo de configuración
si quieres definir explícitamente el tipo de balanceador de carga que quieres usar en lugar de
utilizar el valor predeterminado. Además, debes definir loadBalancer.kind
en el archivo de configuración, aunque el campo no tenga ninguna función en la versión 1.32 y posteriores.
adminMaster.controlPlaneLoadBalancer.mode
Opcional
Inmutable
Cadena
Valor predeterminado: depende de si el clúster usa dominios de topología
El tipo de balanceador de carga que puedes usar depende de si vas a configurar el clúster para que use dominios de topología. Se presupone que el clúster usa dominios de topología si se configura el campo infraConfigFilePath
.
Con dominios de topología: especifica
"manual"
, que es el valor predeterminado. Si quieres usar dominios de topología, debes configurar un balanceador de carga de terceros (como F5 BIG-IP o Citrix).Sin dominios de topología: especifica
"manual"
o"bundled"
. Utilice"manual"
si tiene un balanceador de carga de terceros o"bundled"
para nuestra solución empaquetada, que usa keepalived + haproxy en los tres nodos del plano de control del clúster de administrador. El valor predeterminado es "bundled"
.
Ejemplo:
adminMaster:
controlPlaneLoadBalancer:
mode: "manual"
1.31 y versiones anteriores
Esta sección no está disponible. En su lugar, use loadBalancer.kind
para especificar el tipo de balanceador de carga que debe usar el clúster de administrador.
adminMaster.cpus
Vista previa
Opcional
Inmutable
Número entero
Valor predefinido: 4
Valor predeterminado: 4
Número de vCPUs de cada nodo del plano de control del clúster de administrador.
Ejemplo:
adminMaster: cpus: 4
adminMaster.memoryMB
Vista previa
Opcional
Inmutable
Entero
Relleno automático: 16384
Valor predeterminado: 16384
Número de mebibytes de memoria de cada nodo del plano de control del clúster de administración.
Ejemplo:
adminMaster: memoryMB: 16384
adminMaster.replicas
1.28 y versiones posteriores
Obligatorio para los clústeres nuevos
Inmutable
Número entero
Valores posibles: 3
Número de nodos del plano de control del clúster de administrador. En la versión 1.28 y posteriores, los nuevos clústeres de administrador deben tener alta disponibilidad. Asigna el valor 3
a este campo para crear un clúster de administrador de alta disponibilidad con 3 nodos del plano de control.
Ejemplo:
adminMaster:
replicas: 3
1.16 y versiones anteriores
Opcional
Inmutable
Número entero
Valores posibles: 1 o 3
Valor predefinido: 1
Valor predeterminado: 1
Número de nodos del plano de control del clúster de administrador. Asigna el valor 3
si quieres crear un clúster de administradores de alta disponibilidad. De lo contrario, asigna el valor 1
.
Si le asignas el valor 3
, también debes rellenar las secciones network.controlPlaneIPBlock
y network.hostConfig
.
Si lo define como 3
, no podrá usar el balanceador de carga de Seesaw.
Ejemplo:
adminMaster:
replicas: 3
adminMaster.topologyDomains
1.32 y versiones posteriores
Vista previa
Opcional
Matriz de cadenas | Permite uno o tres elementos diferentes
Inmutable
Valor predeterminado: vSphereInfraConfig.defaultTopologyDomain
si se especifica en el
archivo de configuración de la infraestructura de vSphere
Una matriz de dominios de topología. Si se configura infraConfigFilePath
(lo que indica que el clúster usará dominios de topología), incluye este campo de forma opcional. El número de dominios de topología de la matriz determina cómo se implementan los nodos del plano de control del clúster de administrador, de la siguiente manera:
- Un elemento: los tres nodos del plano de control del clúster de administrador se implementarán en el dominio de topología especificado.
- Tres elementos: cada nodo del plano de control del clúster de administrador se desplegará en un dominio de topología diferente (es decir, un nodo por dominio de topología).
1.31 y versiones posteriores
Solo disponible para clústeres nuevos
Vista previa
Matriz de cadenas | Solo permite un elemento
Opcional
Inmutable
Valor predeterminado: vSphereInfraConfig.defaultTopologyDomain
si se especifica en el
archivo de configuración de la infraestructura de vSphere
Una matriz de dominios de topología. Si se configura infraConfigFilePath
(lo que indica que el clúster usará dominios de topología), incluye este campo de forma opcional. Los nodos del plano de control del clúster de administrador se desplegarán en el dominio de topología especificado.
1.30 y versiones anteriores
No está disponible.
addonNode.autoResize.enabled
1.28 y versiones posteriores
No incluyas este ajuste en el archivo de configuración al crear un clúster. Los clústeres de administrador creados en la versión 1.28 y posteriores deben tener alta disponibilidad (HA) con tres nodos de plano de control. En la versión 1.28 y posteriores, los clústeres de administración de alta disponibilidad no tienen nodos de complementos.
1.16 y versiones anteriores
Opcional
Mutable
Boolean
Prepopulated: false
Default: false
Defínelo como true
para habilitar el cambio de tamaño automático de los nodos del complemento en el clúster de administrador. De lo contrario, asigna el valor false
.
Para actualizar el valor de este campo, usa gkectl update admin
.
Ejemplo:
addonNode:
autoResize:
enabled: true
proxy
Si tu red está detrás de un servidor proxy, rellena esta sección. De lo contrario,
elimina esta sección o déjala comentada. El servidor proxy que especifiques aquí lo usarán los clústeres de usuarios que gestione este clúster de administrador.
Inmutable
proxy.url
Es obligatorio si se rellena la sección proxy
.
Inmutable
Cadena
La dirección HTTP de tu servidor proxy. Incluye el número de puerto aunque sea el mismo que el puerto predeterminado del esquema.
Ejemplo:
proxy: url: "http://my-proxy.example.local:80"
El servidor proxy que especifiques aquí lo usarán tus clústeres de Google Distributed Cloud. Además, tu estación de trabajo de administrador se configura automáticamente para usar el mismo servidor proxy, a menos que definas la variable de entorno HTTPS_PROXY
en tu estación de trabajo de administrador.
Si especifica proxy.url
, también debe especificar proxy.noProxy
.
Una vez que se ha definido la configuración del proxy del clúster de administrador, no se puede modificar ni eliminar, a menos que se vuelva a compilar el clúster.
proxy.noProxy
Opcional
Inmutable
Cadena
Lista separada por comas de direcciones IP, intervalos de direcciones IP, nombres de host y nombres de dominio que no deben pasar por el servidor proxy. Cuando Google Distributed Cloud envía una solicitud a una de estas direcciones, hosts o dominios, la solicitud se envía directamente.
Ejemplo:
proxy: noProxy: "10.151.222.0/24,my-host.example.local,10.151.2.1"
privateRegistry
Un registro de contenedores privado
es un registro en el que solo pueden acceder a las imágenes de contenedor los usuarios autenticados. Rellena esta sección si tus clústeres de usuarios necesitan acceder a imágenes de cargas de trabajo. Cuando configures la sección privateRegistry
, todos los clústeres de usuario gestionados por este clúster de administrador extraerán imágenes de cargas de trabajo del registro privado que configures aquí.
Si configuras la sección privateRegistry
, cuando ejecutes gkectl prepare
antes de crear o actualizar el clúster, gkectl
enviará las imágenes del sistema de Google Distributed Cloud al registro privado. Durante la creación o la actualización del clúster, las imágenes del sistema se extraen del registro privado. Si no configuras la sección privateRegistry
, las imágenes del sistema se extraerán de gcr.io/gke-on-prem-release
mediante la cuenta de servicio de acceso a componentes.
Puede configurar la sección privateRegistry
para que los clústeres extraigan imágenes del sistema del registro privado en lugar de gcr.io/gke-on-prem-release
en los siguientes casos:
- Necesitas minimizar las conexiones a Google Cloud por motivos de seguridad o por requisitos normativos.
- Tu organización requiere que el tráfico saliente pase por un servidor proxy y la velocidad de la red para conectarse a Google Cloud es lenta.
Si quieres usar Artifact Registry de Google como registro privado, consulta los pasos de configuración en Usar Artifact Registry como registro privado para imágenes de cargas de trabajo.
privateRegistry.address
Obligatorio para el registro privado.
Inmutable
Cadena
La dirección IP o el nombre de dominio completo (FQDN) del equipo que ejecuta tu registro privado.
Ejemplos:
privateRegistry: address: "203.0.113.10"
privateRegistry: address: "fqdn.example.com"
privateRegistry.credentials.fileRef.path
Obligatorio para el registro privado
Mutable
String
Ruta 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 privado.
Ejemplo:
privateRegistry: credentials: fileRef: path: "my-config-folder/admin-creds.yaml"
privateRegistry.credentials.fileRef.entry
Obligatorio para el registro privado
Mutable
String
El nombre del bloque de credenciales en tu archivo de configuración de credenciales, que contiene el nombre de usuario y la contraseña de tu cuenta de registro privado.
privateRegistry: credentials: fileRef: entry: "private-registry-creds"
privateRegistry.caCertPath
Obligatorio para el registro privado
Mutable
String
Cuando el tiempo de ejecución del contenedor extrae una imagen de tu registro privado, el registro debe demostrar su identidad presentando un certificado. El certificado del registro está firmado por una autoridad de certificación (CA). El tiempo de ejecución del contenedor usa el certificado de la AC para validar el certificado del registro.
Asigna a este campo la ruta del certificado de la CA.
Ejemplo:
privateRegistry: caCertPath: "my-cert-folder/registry-ca.crt"
componentAccessServiceAccountKeyPath
Obligatorio
Mutable
String
Ruta del archivo de clave JSON de tu cuenta de servicio de acceso a componentes.
Ejemplo:
componentAccessServiceAccountKeyPath: "my-key-folder/access-key.json"
gkeConnect
Obligatorio
Mutable
Cuando rellenas la sección gkeConnect
, el clúster de administrador se registra automáticamente en una flota después de crearse. En esta sección se incluye información sobre el Google Cloud proyecto y la cuenta de servicio
necesarios para registrar el clúster.
Durante la creación o actualización del clúster, se configuran varias políticas de RBAC en el clúster de administrador. Estas políticas de control de acceso basado en roles son necesarias para que puedas crear clústeres de usuarios en la consola de Google Cloud .
gkeConnect.projectID
Obligatorio
Inmutable
Cadena
El ID de tu proyecto host de la flota.
En el caso de los clústeres nuevos, este ID de proyecto debe ser el mismo que el ID definido en stackdriver.projectID
y cloudAuditLogging.projectID
. Si los IDs de proyecto no son los mismos, no se podrá crear el clúster. Este requisito no se aplica a los clústeres que ya existen.
Ejemplo:
gkeConnect: projectID: "my-fleet-host-project"
gkeConnect.location
Opcional
Inmutable
Cadena
Valor predeterminado: global
La pertenencia a la flota de cada clúster se gestiona mediante el servicio de flota (gkehub.googleapis.com
) y el servicio Connect (gkeconnect.googleapis.com
). La ubicación de los servicios puede ser global o regional. En la versión 1.28 y posteriores, puedes especificar de forma opcional la Google Cloud
región en la que se ejecutan los servicios Fleet y Connect. Si no se especifica, se usan las instancias globales de los servicios. Ten en cuenta lo siguiente:
Los clústeres de administrador creados antes de la versión 1.28 se gestionan mediante los servicios globales de flota y de conexión.
En el caso de los clústeres nuevos, si incluyes este campo, la región que especifiques debe ser la misma que la configurada en
cloudAuditLogging.clusterLocation
,stackdriver.clusterLocation
ygkeOnPremAPI.location
. Si las regiones no son las mismas, no se podrá crear el clúster.
Ejemplo:
gkeConnect: location: "us-central1"
gkeConnect.registerServiceAccountKeyPath
Obligatorio
Mutable
String
La ruta del archivo de clave JSON de tu cuenta de servicio connect-register.
Ejemplo:
gkeConnect: registerServiceAccountKeyPath: "my-key-folder/connect-register-key.json"
gkeOnPremAPI
Opcional
En la versión 1.16 y posteriores, si la API GKE On-Prem está habilitada en tu
Google Cloud proyecto, todos los clústeres del proyecto se
registran en la API GKE On-Prem
automáticamente en la región configurada en stackdriver.clusterLocation
.
Si quieres registrar todos los clústeres del proyecto en la API de GKE On-Prem, sigue los pasos que se indican en la sección Antes de empezar para activar y usar la API de GKE On-Prem en el proyecto.
Si no quieres registrar el clúster en la API GKE On-Prem, incluye esta sección y asigna el valor
false
agkeOnPremAPI.enabled
. Si no quieres registrar ningún clúster en el proyecto, inhabilitagkeonprem.googleapis.com
(el nombre del servicio de la API de GKE On-Prem) en el proyecto. Para obtener instrucciones, consulta Inhabilitar servicios.
Al registrar tu clúster de administrador en la API de GKE On-Prem, puedes usar herramientas estándar (la consola, la CLI de Google Cloud o Terraform) para actualizar los clústeres de usuario que gestiona el clúster de administrador. Google Cloud Al registrar tu clúster, también puedes ejecutar comandos de gcloud
para obtener información sobre tus clústeres.
Después de añadir esta sección y crear o actualizar el clúster de administrador, si posteriormente quitas la sección y actualizas el clúster, la actualización fallará.
gkeOnPremAPI.enabled
Obligatorio si se incluye la sección gkeOnPremAPI
.
Mutable
Boolean
Predeterminado: true
De forma predeterminada, el clúster se registra en la API de GKE On-Prem si esta API está habilitada en tu proyecto. Introduzca false
si no quiere registrar el clúster.
Una vez que el clúster se haya registrado en la API GKE On-Prem, si necesitas darlo de baja, haz el siguiente cambio y, a continuación, actualiza el clúster:
gkeOnPremAPI: enabled: false
gkeOnPremAPI.location
Inmutable
Cadena
Valor predeterminado:stackdriver.clusterLocation
La Google Cloud región en la que se ejecuta la API de GKE On-Prem y almacena los metadatos del clúster. Elige una de las regiones admitidas.
Debes usar la misma región que se haya configurado en cloudAuditLogging.clusterLocation
, gkeConnect.location
y stackdriver.clusterLocation
. Si gkeOnPremAPI.enabled
es false
, no incluyas este campo.
stackdriver
Obligatorio de forma predeterminada
Mutable
Si quieres habilitar Cloud Logging y Cloud Monitoring en tu clúster, rellena esta sección. De lo contrario, elimina esta sección.
Esta sección es obligatoria de forma predeterminada. Es decir, si no incluye esta sección, debe incluir la marca --skip-validation-stackdriver
al ejecutar gkectl create admin
.
Esta sección es obligatoria en el clúster de administrador si quieres gestionar el ciclo de vida de los clústeres de usuario con clientes de la API GKE On-Prem.
stackdriver.projectID
Obligatorio para Logging y Monitoring
Inmutable
Cadena
El ID de tu proyecto host de la flota.
En el caso de los clústeres nuevos, este ID de proyecto debe ser el mismo que el ID definido en gkeConnect.projectID
y cloudAuditLogging.projectID
. Si los IDs de proyecto no son los mismos, no se podrá crear el clúster. Este requisito no se aplica a los clústeres que ya existen.
Si es necesario, puedes configurar un enrutador de registros en este proyecto para enrutar registros a segmentos de registros de otro proyecto. Para obtener información sobre cómo configurar el logrouter, consulta Destinos admitidos.
Ejemplo:
stackdriver: projectID: "my-fleet-host-project"
stackdriver.clusterLocation
Obligatorio para Logging y Monitoring
Inmutable
Cadena
Valor predefinido: "us-central1"
La Google Cloud región en la que quiere enrutar y almacenar las métricas de Cloud Monitoring. Te recomendamos que elijas una región que esté cerca de tu centro de datos local.
Puede especificar la ubicación de almacenamiento y enrutamiento de los registros de Cloud Logging en la configuración del enrutador de registros. Para obtener más información sobre el enrutamiento de registros, consulta la descripción general del enrutamiento y el almacenamiento.
El operador de Stackdriver (stackdriver-operator
) adjunta el valor de este campo a cada entrada de registro y métrica antes de que se enruten a Google Cloud. Estas etiquetas adjuntas pueden ser útiles para filtrar los registros y las métricas en el explorador de registros y el explorador de métricas, respectivamente.
En el caso de los clústeres nuevos, si incluyes las secciones gkeOnPremAPI
y cloudAuditLogging
en el archivo de configuración, la región que definas aquí debe ser la misma que definas en cloudAuditLogging.clusterLocation
, gkeConnect.location
y gkeOnPremAPI.location
. Si las regiones no son las mismas, no se podrá crear el clúster.
Ejemplo:
stackdriver: clusterLocation: "us-central1"
stackdriver.enableVPC
Opcional
Inmutable
Booleano
Valor predeterminado: false
Si la red de tu clúster está controlada por una VPC, asigna el valor true
.
De esta forma, se asegura de que toda la telemetría fluya a través de las direcciones IP restringidas de Google.
De lo contrario, asigna el valor false
.
Ejemplo:
stackdriver: enableVPC: false
stackdriver.serviceAccountKeyPath
Obligatorio para Logging y Monitoring.
Mutable
String
Ruta del archivo de clave JSON de tu cuenta de servicio de registro y monitorización.
Si vas a crear el clúster con enableAdvancedCluster
definido como true
(que es obligatorio para configurar dominios de topología), stackdriver.serviceAccountKeyPath
debe ser igual a cloudAuditLogging.serviceAccountKeyPath
.
Para obtener información sobre cómo actualizar este campo en un clúster, consulta Rotar claves de cuentas de servicio.
Ejemplo:
stackdriver: serviceAccountKeyPath: "my-key-folder/log-mon-key.json"
stackdriver.disableVsphereResourceMetrics
Opcional
Mutable
Relevante para el registro y la monitorización
Booleano
Valor predefinido: false
Valor predeterminado: false
Asigna el valor true
para inhabilitar la recogida de métricas de vSphere.
De lo contrario, asigna el valor false
.
Esta sección es obligatoria en el clúster de administrador si quieres gestionar el ciclo de vida de los clústeres de usuario en la consola de Google Cloud .
Ejemplo:
stackdriver: disableVsphereResourceMetrics: true
cloudAuditLogging
Si quieres integrar los registros de auditoría del servidor de la API de Kubernetes de tu clúster con los registros de auditoría de Cloud, rellena esta sección. De lo contrario, elimina esta sección o déjala comentada.
Mutable
Esta sección es obligatoria en el clúster de administrador si quieres gestionar el ciclo de vida de los clústeres de usuario con clientes de la API GKE On-Prem.
cloudAuditLogging.projectID
Obligatorio para los registros de auditoría de Cloud
Inmutable
Cadena
El ID de tu proyecto host de la flota.
En el caso de los clústeres nuevos, este ID de proyecto debe ser el mismo que el ID definido en gkeConnect.projecID
y stackdriver.projectID
. Si los IDs de proyecto no son los mismos, no se podrá crear el clúster. Este requisito no se aplica a los clústeres que ya existen.
Si es necesario, puedes configurar un enrutador de registros en este proyecto para enrutar registros a segmentos de registros de otro proyecto. Para obtener información sobre cómo configurar el logrouter, consulta Destinos admitidos.
Ejemplo:
cloudAuditLogging: projectID: "my-fleet-host-project"
cloudAuditLogging.clusterLocation
Obligatorio para los registros de auditoría de Cloud
Inmutable
Cadena
La Google Cloud región en la que quieres almacenar los registros de auditoría. Es recomendable elegir una región que esté cerca de tu centro de datos local.
En el caso de los clústeres nuevos, si incluyes las secciones gkeOnPremAPI
y stackdriver
en el archivo de configuración, la región que definas aquí debe ser la misma que definas en gkeConnect.location
, gkeOnPremAPI.location
y stackdriver.clusterLocation
. Si las regiones no son las mismas, no se podrá crear el clúster.
Ejemplo:
cloudAuditLogging: clusterLocation: "us-central1"
cloudAuditLogging.serviceAccountKeyPath
Obligatorio para los registros de auditoría de Cloud.
Mutable
String
Ruta del archivo de clave JSON de tu cuenta de servicio de registro de auditoría.
Si vas a crear el clúster con enableAdvancedCluster
definido como true
(que es obligatorio para configurar dominios de topología), cloudAuditLogging.serviceAccountKeyPath
debe ser igual a stackdriver.serviceAccountKeyPath
.
Para obtener información sobre cómo actualizar este campo en un clúster, consulta Rotar claves de cuentas de servicio.
Ejemplo:
cloudAuditLogging: serviceAccountKeyPath: "my-key-folder/audit-log-key.json"
clusterBackup.datastore
Opcional
Mutable
String
De forma predeterminada, los archivos tar de copia de seguridad del clúster se guardan en el directorio gkectl-workspace/backups
de tu estación de trabajo de administrador. Si quieres almacenar archivos de copia de seguridad del clúster en vSphere, define este campo en el almacén de datos de vSphere en el que quieras guardar las copias de seguridad.
Ejemplo:
clusterBackup:
datastore: "my-datastore"
Tenga en cuenta las siguientes diferencias en cuanto a la compatibilidad de este campo:
En el caso de los clústeres avanzados:
Versión 1.31: quita
clusterBackup.datastore
de tu archivo de configuración. No se admite la creación de copias de seguridad de clústeres en un almacén de datos de vSphere.Versión 1.32:
clusterBackup.datastore
está en vista previaVersión 1.33 y posteriores:
clusterBackup.datastore
está disponible para todos los usuarios.
En el caso de los clústeres que no sean avanzados,
clusterBackup.datastore
seguirá en versión preliminar.
Para obtener más información, consulta lo siguiente:
Clústeres no avanzados: Crear y restaurar una copia de seguridad de un clúster de administrador con gkectl
Clústeres avanzados: crear y restaurar copias de seguridad de clústeres avanzados con gkectl
autoRepair.enabled
Opcional
Mutable
Booleano
Prepoblado: true
Defínelo en true
para habilitar la reparación automática de nodos.
De lo contrario, asigna el valor false
.
Para actualizar el valor de este campo, usa gkectl update admin
.
Ejemplo:
autoRepair: enabled: true
secretsEncryption
Si quieres cifrar secretos sin necesidad de un KMS (servicio de gestión de claves) externo ni de ninguna otra dependencia, rellena esta sección.
De lo contrario, elimina esta sección o déjala comentada.
Inmutable
Si vas a crear el clúster con enableAdvancedCluster
definido como true
(lo que se requiere para configurar dominios de topología), elimina esta sección. Esta función no es compatible con los clústeres avanzados.
secretsEncryption.mode
Obligatorio para el cifrado de secretos
Inmutable
Cadena
Valor posible: "GeneratedKey"
Valor predefinido: "GeneratedKey"
El modo de cifrado de secretos.
secretsEncryption: mode: "GeneratedKey"
secretsEncryption.generatedKey.keyVersion
Obligatorio para el cifrado de secretos
Mutable
Integer
Prepopulated: 1
Un número entero que elijas para el número de versión de la clave. Te recomendamos que empieces con 1
.
Ejemplo:
secretsEncryption: generatedKey: keyVersion: 1
secretsEncryption.generatedKey.disabled
Opcional para el cifrado de secretos
Mutable
Booleano
Valor predeterminado: false
Asigna el valor true
para inhabilitar el cifrado de secretos. De lo contrario, asigna el valor false
.
Ejemplo:
secretsEncryption: generatedKey: disabled: false
osImageType
Opcional
Mutable
String
Valores posibles: "ubuntu_containerd", "cos", "ubuntu_cgv2", "cos_cgv2"
Valor predefinido: "ubuntu_cgv2"
Valor predeterminado: "ubuntu_containerd"
Tipo de imagen de SO que se ejecutará en los nodos del clúster de administrador.
Ten en cuenta la siguiente limitación de los clústeres avanzados:
Versión 1.31: si el campo
enableAdvancedCluster
estrue
, solo se admitenubuntu-cgroupv2
yubuntu_containerd
en los clústeres avanzados.Versión 1.32: todos los tipos de imágenes de SO se admiten en clústeres avanzados.
Ejemplo:
osImageType: "cos"