En este documento, se describen los campos del archivo de configuración del clúster de usuarios para las versiones 1.30 y posteriores 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
Campos obligatorios y valores predeterminados
Si un campo está marcado como Obligatorio, el archivo de configuración completado debe tener un valor para el campo.
Algunos campos son obligatorios de forma condicional. Por ejemplo, loadBalancer.metalLB.addressPools
es obligatorio si loadBalancer.kind
es igual a MetalLB
.
Si se proporciona un valor Predeterminado para un campo, el clúster usará ese valor si no ingresas nada para el campo. Para anular un valor predeterminado, debes ingresar un valor.
Si un campo no está marcado como obligatorio y no se proporciona un valor predeterminado, el campo es opcional. Puedes completarla si es relevante para ti, pero no es obligatorio.
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.
enableAdvancedCluster
1.31 y versiones posteriores
Vista previa
Opcional
Inmutable
Booleano
Prepropagado: falso
Predeterminado: falso
Establece enableAdvancedClusters
como verdadero para habilitar los clústeres avanzados. Cuando se habilita esta marca, el software subyacente de Google Distributed Cloud implementa controladores que permiten una arquitectura más extensible. Habilitar clústeres avanzados te brinda acceso a funciones y capacidades nuevas, como los dominios de topología.
1.30 y versiones anteriores
No disponible.
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.29.0-gke.1456"
preparedSecrets.namespace
Si infraConfigFilePath
está configurado en el archivo de configuración del clúster de administrador, quita este campo.
De lo contrario, si deseas usar credenciales preparadas, completa este campo.
Inmutable
Cadena
Valores posibles: Una cadena que comienza con “gke-onprem-secrets-”
Es el nombre de un espacio de nombres de Kubernetes en el clúster de administrador en el que se almacenan los Secrets preparados para este clúster de usuario.
Ejemplo:
preparedSecrets: namespace: "gke-onprem-secrets-alice"
enableControlplaneV2
1.30 y versiones más altas
Mutable (se permite de false
a true
)
Booleano
Prepropagado: verdadero
Predeterminado: verdadero
En la versión 1.30 y versiones posteriores, Controlplane V2 es obligatorio para los clústeres de usuarios
nuevos. Si incluyes este campo en tu archivo de configuración, debe establecerse como true
.
Para migrar un clúster existente a Controlplane V2, consulta Migra un clúster de usuario a las funciones recomendadas. Después de migrar a Controlplane V2, no se permite inhabilitar Controlplane V2.
Con Controlplane V2, el plano de control de un clúster de usuario se ejecuta en uno o más nodos en el clúster de usuario. Estos son algunos de los beneficios de Controlplane V2:
Coherencia arquitectónica entre los clústeres de administrador y de usuario
Aislamiento de fallas. Una falla del clúster de administrador no afecta a los clústeres de usuario.
Separación operativa. Una actualización de un clúster de administrador no genera tiempo de inactividad para los clústeres de usuario.
Separación de la implementación. 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 del clúster de administrador.
1.29 y versiones más bajas
Inmutable
Booleano
Prepropagado: verdadero
Predeterminado: verdadero
Para habilitar Controlplane V2, configura enableControlplaneV2
como true
o quita la configuración del archivo de configuración del clúster de usuario. De lo contrario, configúralo como false
.
Con Controlplane V2, el plano de control de un clúster de usuario se ejecuta en uno o más
nodos en el clúster de usuario. Cuando Controlplane V2 no está habilitado, el plano de control del clúster de usuario se ejecuta en el clúster de administrador.
Te recomendamos que habilites Controlplane V2.
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 infraConfigFilePath
está configurado en el archivo de configuración del clúster de administrador, quita toda esta sección.
Si incluiste la sección vCenter
en el archivo de configuración del clúster de administrador, haz lo siguiente:
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
Cadena
Inmutable
Predeterminado: Hereda del clúster de administrador
Es la dirección IP o el nombre de host de la instancia de vCenter Server que quieres 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 diferente 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 en la sección vCenter
.
Ejemplos:
vCenter: address: "203.0.113.101"
vCenter: address: "my-vcenter-server-2.my-domain.example"
vCenter.datacenter
Cadena
Inmutable
Predeterminado: Hereda del clúster de administrador
Es la ruta de acceso 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
ovCenter.storagePolicyName
vCenter.cluster
ovCenter.resourcePool
El valor que especifiques es relativo a la carpeta raíz llamada /
.
Si tu centro de datos está 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 de acceso 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
Cadena
Inmutable
Predeterminado: Hereda 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 VMs de tu clúster de usuario. Este clúster de vSphere representa un subconjunto de los hosts ESXi físicos en tu centro de datos de vCenter.
Si especificas un valor para este campo, también debes especificar lo siguiente:
vCenter.networkName
vCenter.datacenter
vCenter.datastore
ovCenter.storagePolicyName
El valor que especifiques es relativo a /.../DATA_CENTER/vm/
.
Si tu clúster de vSphere se encuentra 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
Cadena
Inmutable
Predeterminado: Hereda del clúster de administrador
Un grupo de recursos de vCenter para las VMs de tu clúster de usuario
Si deseas usar el grupo de recursos predeterminado, configúralo como VSPHERE_CLUSTER/Resources
.
Ejemplo:
vCenter: resourcePool: "my-uc-vsphere-cluster/Resources"
El valor que especifiques es 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-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
Predeterminado: Hereda del clúster de administrador
Es el nombre de un almacén de datos de vSphere para tu clúster de usuarios.
El valor que especifiques debe ser un nombre, no una ruta. No incluyas ninguna carpeta en el valor.
Ejemplo:
vCenter: datastore: "my-datastore"
Si especificas un valor para este campo, no especifiques un valor para
vCenter.storagePolicyName
. El campo vCenter.datastore
es inmutable, excepto cuando configuras el campo como una cadena vacía cuando migras un almacén de datos a la administración basada en políticas de almacenamiento (SPBM).
vCenter.storagePolicyName
Opcional
Cadena
Inmutable
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 específico. Sin embargo, la política especificada 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
Mutable
Cadena
Predeterminado: Hereda 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
Mutable
Cadena
Predeterminado: Hereda 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
Mutable
Cadena
Predeterminado: Hereda 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
Cadena
Valores posibles: Una cadena de número entero o “la más reciente”
Valor predeterminado: “la más reciente”
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 Secret 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 usuarios.
Ejemplo:
vCenter: credentials: secretRef: version: "1"
vCenter.folder
Cadena
Inmutable
Predeterminado: Hereda del clúster de administrador
La ruta de acceso relativa a una carpeta de vSphere que ya creaste Esta carpeta contendrá las VMs de tu clúster de usuario.
Si no especificas un valor, las VMs de tu clúster de usuarios se colocarán en /.../DATA_CENTER/vm/
.
Si especificas un valor, este 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
Mutable
Cadena
Predeterminado: Hereda 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
Mutable
Cadena
Valores posibles: Una cadena de número entero o “la más reciente”
Valor predeterminado: “la más reciente”
Es la versión de un Secret preparado en el clúster de administrador que contiene una clave JSON para tu cuenta de servicio de acceso a componentes.
Ejemplo:
componentAccessServiceAccountKey: secretRef: version: "1"
privateRegistry
Completa esta sección si tu clúster de administrador usa un registro de contenedores privado y deseas que tu clúster de usuario use un registro privado diferente o una configuración diferente. Si deseas usar una dirección de registro privado diferente, tu clúster debe tener habilitado Controlplane V2. La configuración nueva se recupera durante la creación y actualización del clúster.
Si deseas usar la misma configuración que el clúster de administrador, quita esta sección o déjala comentada.
privateRegistry.address
Cadena
Inmutable
Predeterminado: Hereda 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
Mutable
Cadena
Predeterminado: Hereda del clúster de administrador
Si planeas usar un Secret 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 privado de Docker.
Ejemplo:
privateRegistry: credentials: fileRef: path: "my-config-folder/admin-creds.yaml"
privateRegistry.credentials.fileRef.entry
Mutable
Cadena
Predeterminado: Hereda 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
Cadena
Valores posibles: Una cadena de número entero o “la más reciente”
Valor predeterminado: “la más reciente”
Si proporcionas un valor para preparedSecrets.namespace y deseas usar el Secret preparado para un registro privado, completa este campo. De lo contrario, quita este campo o déjalo como comentario.
Es la versión de un Secret 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 usuarios.
Ejemplo:
privateRegistry: credentials: secretRef: version: "1"
privateRegistry.caCertPath
Mutable
Cadena
Predeterminado: Hereda 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 la red de clústeres de usuarios.
network.hostConfig
1.30 y versiones más altas
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 infraConfigFilePath
está configurado en el archivo de configuración del clúster de administrador (disponible en la versión 1.31 y versiones posteriores), quita toda esta sección. De lo contrario, esta sección es obligatoria si se cumple una o más de las siguientes condiciones:
network.ipMode.type
se configura comostatic
.enableControlplaneV2
se establece entrue
o se permite que se establezca de forma predeterminada entrue
. Ten en cuenta que Controlplane V2 es obligatorio para los clústeres de usuarios nuevos.
1.29 y versiones más bajas
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 comostatic
.enableControlplaneV2
se establece entrue
o se permite que se establezca de forma predeterminada entrue
. El balanceador de cargas de Seesaw no es compatible con los clústeres que tienen habilitado Controlplane V2.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
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
Inmutable
Cadena
Prepropagado: “estático”
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
Este campo es obligatorio si network.ipMode.type
= static
o si infraConfigFilePath
está configurado en el archivo de configuración del clúster de administrador.
Cadena
Inmutable
Es la ruta de acceso absoluta o relativa del archivo de bloque de IP de tu clúster.
Ejemplo:
network: ipMode: ipBlockFilePath: "/my-config-folder/user-cluster-ipblock.yaml"
network.serviceCIDR
Inmutable
Cadena
Prepropagado: “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
Inmutable
Cadena
Prepropagado: “192.168.0.0/16”
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
Recomendamos que los rangos de Service y Pod 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
Si infraConfigFilePath
está configurado en el archivo de configuración del clúster de administrador, quita este campo.
De lo contrario, este campo 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
Cadena
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
Cadena
Ejemplo:
network: additionalNodeInterfaces: - name: "my-node-interface-1" type: "static"
network.additionalNodeInterfaces[i].ipBlockFilePath
Obligatorio si network.additionalNodeInterfaces[i].type
= static
Inmutable
Cadena
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 infraConfigFilePath
está configurado en el archivo de configuración del clúster de administrador, quita toda esta sección.
De lo contrario, si incluyes esta sección depende del valor que establezcas en enableControlplaneV2
:
- Si
enableControlplaneV2
estrue
, completa esta sección. - Si
enableControlplaneV2
esfalse
, quita esta sección.
network.controlPlaneIPBlock.netmask
Obligatorio si enableControlplaneV2
= true
Inmutable
Cadena
Ejemplo:
network: controlPlaneIPBlock: netmask: "255.255.255.0"
network.controlPlaneIPBlock.gateway
Obligatorio si enableControlplaneV2
= true
Inmutable
Cadena
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.
En el caso de un clúster de usuario con alta disponibilidad (HA), el array tiene tres elementos. En un clúster de usuario sin alta disponibilidad, el array 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 incluye información sobre el balanceador de cargas para el clúster de usuarios.
loadBalancer.vips.controlPlaneVIP
Obligatorio
Cadena
Inmutable
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
Cadena
Inmutable
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
1.30 y versiones más altas
Obligatorio
Inmutable
Cadena
Prepropagado: “MetalLB”
Si infraConfigFilePath
está configurado en el archivo de configuración del clúster de administrador (disponible en la versión 1.31 y versiones posteriores), configúralo como "ManualLB"
. De lo contrario, configúralo como "ManualLB"
o
"MetalLB"
.
Usa "ManualLB"
si tienes un balanceador de cargas de terceros (como BIG-IP de F5 o Citrix) o "MetalLB"
para nuestra solución en paquete.
Aunque puedes actualizar un clúster que tiene kind
configurado en "F5BigIP"
o "Seesaw"
, no puedes usar Dataplane V2 ni Controlplane V2 en clústeres existentes con ninguna de estas configuraciones de balanceador de cargas. Para obtener información sobre la migración de configuraciones de balanceo de cargas, consulta los siguientes vínculos:
- Migra la configuración de BIG-IP de F5 integrado
- Migra del balanceador de cargas de Seesaw a MetalLB
Ejemplo:
loadBalancer:
kind: "MetalLB"
1.29 y versiones anteriores
Obligatorio
Inmutable
Cadena
Prepropagado: “MetalLB”
Configura esto como "ManualLB"
, "F5BigIP"
, "Seesaw"
o "MetalLB"
.
Para habilitar Dataplane V2 y Controlplane V2, 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 en paquete.
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
(consulta la nota de la versión)
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 servicio tiene un ServicePort para HTTP. Elige un valor nodePort
para el ServicePort de HTTP y establece este campo en el valor nodePort
.
Nota de versión: En la versión 1.30 y versiones posteriores, los puertos de nodo de entrada son opcionales para los clústeres que usan Controlplane V2.
Ejemplo:
loadBalancer: manualLB: ingressHTTPNodePort: 32527
loadBalancer.manualLB.ingressHTTPSNodePort
Obligatorio si loadBalancer.kind
= ManualLB (see Version note)
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. Elige un valor nodePort
para el ServicePort de HTTPS y establece este campo en el valor nodePort
.
Nota de la versión: En la versión 1.30 y versiones posteriores, los puertos de nodo de entrada son opcionales para los clústeres que usan Controlplane V2.
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: 30563
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 se expone mediante un Service de tipo LoadBalancer
. El servidor de Konnectivity vuelve a usar este servicio con un valor nodePort
diferente. Debes elegir un valor 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
1.30 y versiones más altas
En la versión 1.30 y versiones posteriores, no se permite el valor "F5BigIP"
para loadbalancer.kind
en los clústeres de usuarios nuevos. Si la sección loadBalancer.f5BigIP
está en tu archivo de configuración, quítala o coméntala.
Aún puedes usar tu balanceador de cargas BIG-IP de F5 con clústeres de usuario nuevos, pero la configuración es diferente. Para obtener detalles sobre la configuración, consulta Habilita el modo de balanceo de cargas manual.
1.29 y versiones más bajas
Si configuras loadbalancer.kind
como "f5BigIP"
, completa esta sección. De lo contrario, quita esta sección o déjala como comentario.
Para habilitar funciones nuevas y avanzadas, te recomendamos que configures el balanceo de cargas manual para tu balanceador de cargas de BIG-IP de F5. Para habilitar el balanceo de cargas manual, configura loadbalancer.kind
como "ManualLB"
y completa la sección loadBalancer.manualLB
. Para obtener más información, consulta cómo Habilitar el balanceo de cargas manual.
Si tienes un balanceador de cargas de F5-BIG-IP existente y la configuración del clúster usa esta sección, después de actualizar a la versión 1.29 o posterior, te recomendamos que migres al balanceo de cargas manual.
loadBalancer.f5BigIP.address
1.30 y versiones más altas
No se permite para clústeres nuevos
Obligatorio si loadBalancer.kind
= "f5BigIP"
Cadena
Es la dirección del balanceador de cargas BIG-IP de F5.
Ejemplo:
loadBalancer:
f5BigIP:
address: "203.0.113.2"
1.29 y versiones más bajas
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
1.30 y versiones más altas
No se permite para clústeres nuevos
Obligatorio si loadBalancer.kind
= "f5BigIP"
Cadena
Es la ruta 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 a tu 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"
1.29 y versiones más bajas
Obligatorio si loadBalancer.kind
= "f5BigIP"
String
Es la ruta 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 a tu 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
1.30 y versiones más altas
No se permite para clústeres nuevos
Obligatorio si loadBalancer.kind
= "f5BigIP"
Cadena
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"
1.29 y versiones más bajas
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
1.30 y versiones más altas
No se permite para clústeres nuevos
Obligatorio si loadBalancer.kind
= "f5BigIP"
Cadena
Es el nombre de una partición de BIG-IP que creaste para el clúster de administrador.
Ejemplo:
loadBalancer:
f5BigIP:
partition: "my-f5-user-partition"
1.29 y versiones más bajas
Obligatorio si loadBalancer.kind
= "f5BigIP"
String
Es el nombre de una partición de BIG-IP que creaste para el clúster de administrador.
Ejemplo:
loadBalancer:
f5BigIP:
partition: "my-f5-user-partition"
loadBalancer.f5BigIP.snatPoolName
1.30 y versiones más altas
No se permite para clústeres nuevos
Obligatorio si loadBalancer.kind
= "f5BigIP"
y usas SNAT
Cadena
El nombre de tu grupo de SNAT.
Ejemplo:
loadBalancer:
f5BigIP:
snatPoolName: "my-snat-pool"
1.29 y versiones más bajas
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
1.30 y versiones más altas
En la versión 1.30 y versiones posteriores, no se permite el valor "Seesaw"
para loadbalancer.kind
en los clústeres de usuarios nuevos porque este balanceador de cargas no es compatible con funciones nuevas y avanzadas. Si la sección loadBalancer.seesaw
está en tu archivo de configuración, quítala o coméntala.
En su lugar, puedes configurar el balanceador de cargas MetalLB incluido. Para habilitar el balanceador de cargas MetalLB, configura loadbalancer.kind
como "MetalLB"
y completa la sección loadBalancer.metalLB
. Para obtener más información, consulta Balanceo de cargas en paquetes con MetalLB.
1.29 y versiones más bajas
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 del balanceador de cargas Seesaw:
- Si un clúster de administrador de alta disponibilidad administra este clúster de usuario, este no puede usar el balanceador de cargas de Seesaw.
- Los clústeres de usuario con Controlplane V2 habilitado no pueden usar el balanceador de cargas de Seesaw.
Para usar estas funciones, te recomendamos que configures el balanceador de cargas MetalLB. Para habilitar el balanceador de cargas de MetalLB, configura loadbalancer.kind
como "MetalLB"
y completa la sección loadBalancer.metalLB
. Para obtener más información, consulta Balanceo de cargas en paquetes con MetalLB.
loadBalancer.seesaw.ipBlockFilePath
1.30 y versiones más altas
No se permite para clústeres nuevos
Obligatorio si loadBalancer.kind
= Seesaw
Inmutable
Cadena
Es la ruta del archivo de bloque de IP para las VM de Seesaw.
Ejemplo:
loadBalancer:
seesaw:
ipBlockFilePath: "config-folder/user-seesaw-ipblock.yaml"
1.29 y versiones más bajas
Obligatorio si loadBalancer.kind
= Seesaw
Inmutable
Cadena
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
1.30 y versiones más altas
No se permite para clústeres nuevos
Obligatorio si loadBalancer.kind
= Seesaw
Inmutable
Número entero
Valores posibles: 1 - 255
Prepropagado: 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
1.29 y versiones más bajas
Obligatorio si loadBalancer.kind
= Seesaw
Inmutable
Valor entero
Valores posibles: 1 - 255
Prepropagado: 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
1.30 y versiones más altas
No se permite para clústeres nuevos
Obligatorio si loadBalancer.kind
= Seesaw
Inmutable
Cadena
La dirección IP virtual configurada en la VM de Seesaw de la instancia principal.
Ejemplo:
loadBalancer:
seesaw:
masterIP: 172.16.20.21
1.29 y versiones más bajas
Obligatorio si loadBalancer.kind
= Seesaw
Inmutable
Cadena
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
1.30 y versiones más altas
No se permite para clústeres nuevos
Obligatorio si loadBalancer.kind
= Seesaw
Mutable
Número entero
Prepropagado: 4
Es la cantidad de CPU para cada una de tus VM de Seesaw.
Ejemplo:
loadBalancer:
seesaw:
cpus: 8
1.29 y versiones más bajas
Obligatorio si loadBalancer.kind
= Seesaw
Mutable
Número entero
Prepropagado: 4
Es la cantidad de CPU para cada una de tus VM de Seesaw.
Ejemplo:
loadBalancer:
seesaw:
cpus: 8
loadBalancer.seesaw.memoryMB
1.30 y versiones más altas
No se permite para clústeres nuevos
Obligatorio si loadBalancer.kind
= Seesaw
Número entero
mutable
Prepropagado: 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 220 = 1,048,576 bytes. Un megabyte es 106 = 1,000,000 de bytes.
1.29 y versiones más bajas
Obligatorio si loadBalancer.kind
= Seesaw
Mutable
Número entero
Prepropagado: 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 220 = 1,048,576 bytes. Un megabyte es 106 = 1,000,000 de bytes.
loadBalancer.seesaw.vCenter.networkName
1.30 y versiones más altas
No se permite para clústeres nuevos
Inmutable
Cadena
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"
1.29 y versiones más bajas
Inmutable
Cadena
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
1.30 y versiones más altas
No se permite para clústeres nuevos
Inmutable
Es relevante si loadBalancer.kind
= Seesaw
Booleano
Prepropagado: falso
Predeterminado: falso
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, copia de seguridad) de las VM.
Ejemplo:
loadBalancer:
seesaw:
enableHA: true
1.29 y versiones más bajas
Inmutable
Es relevante si loadBalancer.kind
= Seesaw
Booleano
Prepropagado: falso
Predeterminado: falso
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, copia de seguridad) de las VM.
Ejemplo:
loadBalancer:
seesaw:
enableHA: true
loadBalancer.seesaw.disableVRRPMAC
1.30 y versiones más altas
No se permite para clústeres nuevos
Inmutable
Es relevante si loadBalancer.kind
= Seesaw
Booleano
Prepropagado: verdadero
Predeterminado: verdadero
Si se establece en true
(recomendado), el balanceador de cargas de Seesaw no usa el aprendizaje de MAC para la conmutación por error. En su lugar, usa un ARP injustificado.
Si este campo se establece en false
, el balanceador de cargas de Seesaw usa el aprendizaje de MAC. Si usas vSphere 7 o una versión posterior, y tienes un balanceador de cargas de Seesaw de alta disponibilidad, este campo debe establecerse en true
.
Ejemplo:
loadBalancer:
seesaw:
disableVRRPMAC: true
1.29 y versiones más bajas
Inmutable
Importante si loadBalancer.kind
= Seesaw
Booleano
Prepropagado: verdadero
Predeterminado: verdadero
Si estableces esto como true
(recomendado), 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. 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 (consulta la excepción)
Array de objetos, cada uno de los cuales contiene información sobre un grupo de direcciones que usará el balanceador de cargas de MetalLB.
Si crearás el clúster con enableAdvancedCluster
establecido en true
, el array no será mutable. Puedes agregar grupos de direcciones, pero no se admite quitar un grupo de direcciones de un array de grupos de direcciones existente.
loadBalancer.metalLB.addressPools[i].name
Obligatorio si loadBalancer.kind
= MetalLB
Cadena mutable (consulta la excepción)
Un nombre de tu elección para el grupo de nodos.
Si crearás el clúster con enableAdvancedCluster
establecido en true
, el nombre no será mutable. No se admite cambiar el nombre después de crear el clúster.
Ejemplo:
loadBalancer: metalLB: addressPools: - name: "my-address-pool-1"
loadBalancer.metalLB.addressPools[i].addresses
Obligatorio si loadBalancer.kind
= MetalLB
Mutable (consulta la excepción)
Array de cadenas, cada uno de los cuales es un rango de direcciones. Cada rango debe estar en formato CIDR o con rango con guiones.
Si crearás el clúster con enableAdvancedCluster
establecido en true
, el array no será mutable. No se admite quitar una o varias direcciones de un grupo de direcciones existente, pero puedes agregar direcciones nuevas.
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
Es relevante si loadBalancer.kind
= MetalLB
Mutable
Booleano
Prepropagado: falso
Predeterminado: falso
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
Es relevante si loadBalancer.kind
= MetalLB
Mutable
Booleano
Prepropagado: falso
Predeterminado: falso
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
1.30 y versiones más altas
Mutable (se permite de false
a true
)
Booleano
Prepropagado: verdadero
Predeterminado: falso
Este campo controla la interfaz de red de contenedor (CNI) que usa el clúster. Para usar Controlplane V2, debes habilitar Dataplane V2. Puedes cambiar el campo de false
a true
para habilitar Dataplane V2, pero no se permite inhabilitarlo.
En la versión 1.30 y versiones posteriores, Dataplane V2 es obligatorio para los clústeres de usuarios nuevos y se debe establecer en
true
. Para migrar un clúster 1.30 existente a Dataplane V2, consulta Migra un clúster de usuario a las funciones recomendadas.En la versión 1.31, se requiere Dataplane V2 para todos los clústeres. Antes de actualizar a la versión 1.31, sigue los pasos que se indican en Habilita Dataplane V2.
Los beneficios de Dataplane V2 incluyen lo siguiente:
Dataplane V2 te proporciona una interfaz de red de contenedor (CNI) más avanzada y capaz en comparación con la opción de CNI anterior, Calico. Calico está en modo de mantenimiento, lo que significa que solo recibe correcciones de errores críticas y actualizaciones de seguridad, pero no se desarrolla ninguna función nueva. Por el contrario, Dataplane V2 se desarrolla y mejora de forma activa, lo que garantiza que tengas acceso a las innovaciones y capacidades de redes más recientes.
Dataplane V2 es el CNI preferido para GKE y otros productos de Google Distributed Cloud.
1.29 y versiones más bajas
Inmutable
Booleano
Prepropagado: verdadero
Predeterminado: falso
Si deseas habilitar Dataplane V2 o usar Controlplane V2, configúralo como true
. De lo contrario, configúralo como false
.
Te recomendamos que habilites Dataplane V2.
Ejemplo:
enableDataplaneV2: true
Consulta Solución de problemas de NFS y DataPlane v2 de Google Distributed Cloud para obtener pasos para solucionar problemas.
dataplaneV2.forwardMode
Mutable
Cadena
Valores posibles: “snat” o “dsr”
Prepropagado: “snat”
Configuración predeterminada: “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 de origen (SNAT), un paquete se traduce con SNAT cuando se reenvía de un nodo de balanceador de cargas a un Pod de backend. El Pod no puede ver la dirección IP de origen original, y el paquete de devolución debe pasar por el nodo del balanceador de cargas.
Con el modo de devolución directa del servidor (DSR), un paquete retiene su dirección IP de origen original cuando se reenvía de un nodo de balanceador de cargas a un Pod de backend. El Pod puede ver la dirección IP de origen original, y el paquete de devolución va directamente al cliente sin pasar por el nodo del balanceador de cargas.
Ejemplo:
dataplaneV2: forwardMode: "dsr"
multipleNetworkInterfaces
Inmutable
Booleano
Prepropagado: falso
Predeterminado: falso
Si infraConfigFilePath
está configurado en el archivo de configuración del clúster de administrador, este campo debe ser false
.
Si deseas habilitar interfaces de red múltiples para Pods, configura esto como true
.
Si deseas obtener más información, consulta Configura interfaces de red múltiples para Pods.
Ejemplo:
multipleNetworkInterfaces: true
advancedNetworking
Inmutable
Booleano
Prepropagado: falso
Predeterminado: falso
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 el acceso agrupado
del clúster. De lo contrario, configúralo como false
.
Booleano
Mutable
Prepropagado: falso
Predeterminado: falso
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
.
Si infraConfigFilePath
está configurado en el archivo de configuración del clúster de administrador, este campo debe ser true
.
Mutable
Booleano
Prepropagado: falso
Predeterminado: falso
Ejemplo:
storage: vSphereCSIDisabled: false
masterNode
Esta sección contiene información sobre los nodos que funcionan como nodos del plano de control en tu clúster de usuario.
masterNode.cpus
Mutable
Número entero
Prepropagado: 4
Predeterminado: 4
Es la cantidad de CPU para cada nodo que funciona como plano de control de este clúster de usuario.
Ejemplo:
masterNode: cpus: 8
masterNode.memoryMB
Mutable
Número entero
Prepropagado: 8192
Predeterminado: 8192
Los mebibytes de memoria para 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
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.
Si está configurado infraConfigFilePath
, debes establecer este campo en 3. Solo se admiten clústeres de usuarios de alta disponibilidad con dominios de topología.
Ejemplo:
masterNode: replicas: 3
masterNode.autoResize.enabled
Mutable
Booleano
Prepropagado: falso
Predeterminado: falso
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
Si infraConfigFilePath
está configurado en el archivo de configuración del clúster de administrador, quita toda esta sección.
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.
El valor que especifiques debe ser un nombre, no una ruta. No incluyas ninguna carpeta en el valor.
Ejemplo:
masterNode: vSphere: datastore: "control-plane-datastore"
Si especificas un valor para este campo, no especifiques un valor para
masterNode.vsphere.storagePolicyName
. El campo masterNode.vsphere.datastore
es inmutable, excepto cuando estableces el campo en una cadena vacía cuando migras un almacén de datos a la administración basada en políticas de almacenamiento (SPBM).
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
.
masterNode.topologyDomains
1.31 y versiones posteriores
Si infraConfigFilePath
está configurado en el archivo de configuración del clúster de administrador (lo que habilita los dominios de topología), incluye este campo de forma opcional.
Array de cadenas | Sin embargo, solo se admite un elemento
Inmutable
Valor predeterminado: vSphereInfraConfig.defaultTopologyDomain
si se especifica en el
archivo de configuración de la infraestructura de vSphere
Los nodos del plano de control del clúster de usuarios se distribuyen entre los dominios de topología especificados en este campo.
1.30 y versiones anteriores
No disponible.
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
Cadena
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 deseas que este grupo de nodos permanezca en la versión anterior, configúralo en la versión anterior. De lo contrario, quita este campo o configúralo como una cadena vacía. Para obtener más información, consulta Actualiza un clúster de usuario.
Mutable
Cadena
Opción predeterminada: 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: 8192
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 taints en todos los grupos de nodos del clúster debe ser al menos 3.
Es la cantidad de nodos del grupo.
Ejemplo:
nodePools: - name: "my-node-pool" replicas: 5
nodePools[i].bootDiskSizeGB
Mutable
Número entero
Prepropagado: 40
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
Cadena
mutable
Valores posibles: “ubuntu_containerd”, “cos”, “ubuntu_cgv2”, “cos_cgv2” y “windows”
Prepropagado: “ubuntu_cgv2”
Configuración predeterminada: “ubuntu_containerd”
El tipo de imagen de SO que se ejecutará en las VM del grupo de nodos.
Si vas a crear el clúster con enableAdvancedCluster
configurado en true
(lo que es necesario para configurar dominios de topología), solo se admiten ubuntu-cgroupv2
y ubuntu_containerd
.
Ejemplo:
nodePools - name: "my-node-pool" osImageType: "ubuntu_cgv2"
nodePools[i].osImage
Obligatorio si nodePools[i].osImageType
= windows
Mutable
Cadena
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
Asignación
mutable
Etiquetas para aplicar a cada objeto de nodo de Kubernetes en el grupo.
Ejemplo:
nodePools: - name: "my-node-pool" labels: environment: "production" tier: "cache"
Por motivos de seguridad, kubelet no puede aplicarse etiquetas en ciertos espacios de nombres.
Los espacios de nombres de etiquetas de nodos reservados son kubernetes.io
, k8s.io
y googleapis.com
.
nodePools[i].taints
Mutable
Array de objetos, cada uno de los cuales describe un taint de Kubernetes que se aplica a cada nodo del 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
, NoExecute
.
Ejemplo:
nodePools: - name: "my-node-pool" taints: - key: "staging" value: "true" effect: "NoSchedule"
nodePools[i].vsphere
Si infraConfigFilePath
está configurado en el archivo de configuración del clúster de administrador, quita todos los campos de la sección nodePools[i].vsphere
, excepto nodePools[i].vsphere.tags
.
nodePools[i].vsphere.datastore
Mutable
Cadena
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
Mutable
Cadena
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 VM-host.
Array mutable de cadenas, cada una de las cuales es el nombre de un
grupo de DRS de host.
El array puede tener solo un elemento.
Ejemplo:
nodePools: - name: "my-node-pool" vsphere: hostgroups: - "my-hostgroup"
nodePools[i].vsphere.tags
Mutable
Array de objetos, cada uno de los cuales describe una
etiqueta de vSphere
para colocar en las VMs en el 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
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
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
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
Es relevante si loadBalancer.kind
= "MetalLB"
Mutable
Booleano
Prepropagado: verdadero
Predeterminado: falso
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
.
Si crearás el clúster con enableAdvancedCluster
configurado como true
, este campo no tendrá efecto porque el interlocutor de MetalLB siempre se ejecutará en los nodos del plano de control del clúster de usuarios.
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
Mutable
Número entero
Predeterminado: 1
Es la cantidad máxima de máquinas del grupo de nodos que se pueden actualizar de forma simultánea durante una actualización.
nodePools: - name: "my-node-pool" updateStrategy: rollingUpdate: maxSurge: 3
nodePools[i].topologyDomains
1.31 y versiones posteriores
Si infraConfigFilePath
está configurado en el archivo de configuración del clúster de administrador (lo que habilita los dominios de topología), incluye este campo de forma opcional.
Array de cadenas | Sin embargo, solo se admite un elemento
Inmutable
Valor predeterminado: vSphereInfraConfig.defaultTopologyDomain
si se especifica en el
archivo de configuración de la infraestructura de vSphere
Los nodos de este grupo de nodos se colocarán en el dominio de topología que especifica este campo. Para cada grupo de nodos, solo se permite un dominio de topología. Todos los nodos de un grupo de nodos se colocarán en un solo dominio de topología.
1.30 y versiones anteriores
No disponible.
antiAffinityGroups.enabled
Mutable
Booleano
Prepropagado: verdadero
Predeterminado: verdadero
Si enableAdvancedCluster
está configurado como true
(lo que es obligatorio para los dominios de topología), establece antiAffinityGroups.enabled
en false
.
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 en 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 debe tener el privilegio
Host.Inventory.Modify cluster
.Debe haber 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.
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 tres hosts en los que se puedan programar las VM de vSphere, configura antiAffinityGroups.enabled
como false
.
Ejemplo:
antiAffinityGroups: enabled: false
enableVMTracking
Vista previa
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
Mutable
Número entero
Valores posibles: 0 o 1
Prepropagado: 0
Valor predeterminado: TODO: REVISORES: ¿TIENE UN VALOR PREDETERMINADO?
Es la cantidad de grupos de nodos que se actualizarán a la vez. Un valor de 1
especifica que se puede actualizar un grupo de nodos 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
Mutable
Número entero
Predeterminado: 1
Es 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
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
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
Cadena
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 Google Cloud flota.
gkeConnect.projectID
Obligatorio
Cadena
Inmutable
El ID del proyecto host de tu flota.
En el caso de los clústeres nuevos, este ID de proyecto debe ser el mismo que el ID establecido en stackdriver.projectID
y cloudAuditLogging.projectID
. Si los IDs de proyecto 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
Inmutable
Cadena
Predeterminado: global
El servicio de la 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 versiones posteriores, puedes especificar de forma opcional la región de Google Clouden la que se ejecutan los servicios de la flota y de Connect. Si no se especifica, se usan las instancias globales de los servicios. Ten en cuenta lo siguiente:
Los clústeres de usuario creados antes de la versión 1.28 son administrados por los servicios globales de la flota y de Connect.
Los clústeres nuevos creados con 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.
En el caso de 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
ygkeOnPremAPI.location
. Si las regiones no son las mismas, la creación del clúster fallará.
Ejemplo:
gkeConnect: location: "us-central1"
gkeConnect.registerServiceAccountKeyPath
Obligatorio
Cadena
Mutable
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
Mutable
Cadena
Valores posibles: Una cadena de número entero o “la más reciente”
Valor predeterminado: “la más reciente”
Es la versión de un Secret preparado en el clúster de administrador que contiene una clave JSON para tu cuenta de servicio de registro de conexión.
Ejemplo:
gkeConnect: registerServiceAccountKey: secretRef: version: "1"
gkeOnPremAPI
En la versión 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 automáticamente 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 configura
gkeOnPremAPI.enabled
comofalse
. Si no deseas inscribir ningún clúster en el proyecto, inhabilitagkeonprem.googleapis.com
(el nombre del servicio para la API de GKE On-Prem) en el proyecto. Para obtener instrucciones, consulta Inhabilita servicios.
Inscribir tu 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, inscribir el clúster te permite
usar la consola o gcloud CLI para ver
los detalles del clúster. Por ejemplo, puedes ejecutar
comandos gcloud
para
obtener información sobre el clúster de usuario.
Después de agregar esta sección y crear o actualizar el clúster, si posteriormente quitas la sección y actualizas el clúster, la actualización fallará.
gkeOnPremAPI.enabled
Mutable
Booleano
Predeterminado: true
De forma predeterminada, el clúster se inscribe en la API de GKE On-Prem si esta API está habilitada en tu proyecto. Establece false
si no deseas inscribir el clúster.
Después de que el clúster se inscriba 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
Inmutable
Cadena
Predeterminado: stackdriver.clusterLocation
La región de Google Cloud en la que se ejecuta la API de GKE On-Prem y se almacenan los metadatos del clúster. Elige una de las regiones admitidas.
Debes usar la misma región que se configuró 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, debes incluir la marca --skip-validation-stackdriver
cuando ejecutes gkectl create cluster
.
Esta sección es obligatoria si deseas administrar el ciclo de vida del clúster de usuario con clientes de la API de GKE On-Prem.
stackdriver.projectID
Obligatorio para Logging y Monitoring
Cadena
Inmutable
El ID del proyecto host de tu flota.
En el caso de los clústeres nuevos, este ID de proyecto debe ser el mismo que el ID establecido en gkeConnect.projectID
y cloudAuditLogging.projectID
. Si los IDs de proyecto 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 router 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 registros, consulta Destinos compatibles.
Ejemplo:
stackdriver: projectID: "my-fleet-host-project"
stackdriver.clusterLocation
Obligatorio para Logging y Monitoring
Inmutable
Cadena
Prepropagado: “us-central1”
La Google Cloud región en la que deseas enrutar y almacenar las métricas de Cloud Monitoring. Te recomendamos que elijas una región cercana a tu centro de datos local.
Especificas la ubicación de almacenamiento y enrutamiento de los registros de Cloud Logging en la configuración del router de registros. Para obtener más información sobre el enrutamiento de registros, consulta 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 tus registros y 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 establezcas aquí debe ser la misma que establezcas en gkeConnect.location
, gkeOnPremAPI.location
y cloudAuditLogging.clusterLocation
. Si las regiones no son las mismas, la creación del clúster fallará.
Ejemplo:
stackdriver: clusterLocation: "us-central1"
stackdriver.enableVPC
Inmutable
Booleano
Prepropagado: falso
Si la red del clúster está controlada por una VPC, establece este campo 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
Obligatorio para Logging y Monitoring
Mutable
Cadena
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
Mutable
Cadena
Valores posibles: Una cadena de número entero o “la más reciente”
Valor predeterminado: “la más reciente”
Es la versión de un Secret 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
Mutable
Booleano
Prepropagado: falso
Predeterminado: falso
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
1.30 y versiones más altas
Esta función de vista previa dejó de estar disponible y no debes usarla para clústeres nuevos. En su lugar, te recomendamos que uses el panel predefinido, Anthos Cluster Utilization Metering, para comprender el uso de recursos en diferentes niveles.
Aunque los clústeres existentes que usan esta función seguirán funcionando, también puedes usar el servicio de medición de utilización de clústeres de Anthos.
1.29 y versiones más bajas
Vista previa
Inmutable
Esta función de vista previa dejó de estar disponible en la versión 1.30 y te recomendamos que no la uses para clústeres nuevos. En su lugar, te recomendamos que uses el panel predefinido, Anthos Cluster Utilization Metering, para comprender el uso de recursos en diferentes niveles.
Aunque los clústeres existentes que usan esta función seguirán funcionando, también puedes usar el servicio de medición de utilización de clústeres de Anthos.
usageMetering.bigQueryProjectID
Vista previa
Obligatorio para la medición de uso
Inmutable
Cadena
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
Cadena
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
Inmutable
Cadena.
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
Mutable
Cadena
Valores posibles: Una cadena de número entero o “la más reciente”
Valor predeterminado: “la más reciente”
Es la versión de un Secret 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
Prepropagado: 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
Inmutable
Cadena
El ID del proyecto host de tu flota.
En el caso de los clústeres nuevos, este ID de proyecto debe ser el mismo que el ID establecido en gkeConnect.projecID
y stackdriver.projectID
. Si los IDs de proyecto 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 router 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 registros, consulta Destinos compatibles.
Ejemplo:
cloudAuditLogging: projectID: "my-fleet-host-project"
cloudAuditLogging.clusterLocation
Obligatorio para los registros de auditoría de Cloud
Cadena
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.
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 establezcas aquí debe ser la misma que establezcas en gkeConnect.location
, gkeOnPremAPI.location
y stackdriver.clusterLocation
. Si las regiones no son las mismas, la creación del clúster fallará.
Ejemplo:
cloudAuditLogging: clusterLocation: "us-central1"
cloudAuditLogging.serviceAccountKeyPath
Obligatorio para los registros de auditoría de Cloud
Mutable
Cadena
Es la ruta de acceso del archivo de claves JSON para la cuenta de servicio de registro y auditoría.
Si crearás el clúster con enableAdvancedCluster
establecido en true
(lo que es necesario para configurar dominios de topología), establece cloudAuditLogging.serviceAccountKeyPath
en la misma ruta que stackdriver.serviceAccountKeyPath
.
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
Mutable
Cadena
Valores posibles: Una cadena de número entero o “la más reciente”
Valor predeterminado: “la más reciente”
Es la versión de un Secret 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.
Si vas a crear el clúster con enableAdvancedCluster
configurado en true
(lo que es necesario para configurar dominios de topología), quita esta sección. Esta función no es compatible con los clústeres avanzados.
secretsEncryption.mode
Obligatorio para la encriptación de Secrets
Cadena
Mutable
Valor posible: “GeneratedKey”
Prepropagado: “GeneratedKey”
El modo de encriptación de Secret.
secretsEncryption: mode: "GeneratedKey"
secretsEncryption.generatedKey.keyVersion
Obligatorio para la encriptación de Secrets
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
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