En esta página, se describen los campos del archivo de configuración del clúster de administrador para GKE en VMware.
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 del clúster de administrador. Además, gkeadm
completó algunos de los campos por ti.
Si no usaste gkeadm
a fin de crear tu estación de trabajo de administrador, puedes usar gkectl
a fin de generar una plantilla para tu archivo de configuración del clúster de administrador.
Si deseas generar una plantilla para el archivo de configuración del clúster de administrador, haz lo siguiente:
gkectl create-config admin --config=OUTPUT_FILENAME --gke-on-prem-version=VERSION
Reemplaza OUTPUT_FILENAME
por la ruta de acceso que elijas para la plantilla generada. Si omites esta marca, gkectl
asigna un nombre al archivo admin-cluster.yaml
y lo coloca en el directorio actual.
Reemplaza VERSION
por el número de versión deseado, que debe ser igual o menor que tu versión de gkectl
. Por ejemplo: gkectl create-config admin --gke-on-prem-version=1.6.2-gke.0
. Si omites esta marca, la plantilla de configuración generada se propaga con valores basados en la versión más reciente del clúster.
Plantilla
Completa el archivo de configuración
En el archivo de configuración, ingresa los valores de los campos como se describe en las siguientes secciones.
name
Opcional
String
Predeterminado: Un nombre aleatorio con prefijo “gke-admin-”
El nombre que elijas para el clúster.
Ejemplo:
name: "my-admin-cluster"
bundlePath
Obligatorio
Mutable
Cadena
Es la ruta de acceso del archivo de paquete de GKE en VMware.
El archivo de paquete completo de GKE on VMware contiene todos los componentes de una versión específica de GKE on VMware. Cuando creas una estación de trabajo de administrador, se 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"
vCenter
Obligatorio
Inmutable
En esta sección, se incluye información sobre el entorno de vSphere y la conexión a vCenter Server.
vCenter.address
Obligatorio
Inmutable
String
Es la dirección IP o el nombre de host de vCenter Server.
Para obtener más información, consulta Busca la dirección de tu servidor de vCenter.
Ejemplos:
vCenter: address: "203.0.113.100"
vCenter: address: "my-vcenter-server.my-domain.example"
vCenter.datacenter
Obligatorio
Inmutable
String
La ruta relativa de un centro de datos de vSphere.
El valor que especificas está relacionado con la carpeta raíz llamada /
.
Si tu centro de datos se encuentra en la carpeta raíz, el valor es el nombre del centro de datos.
Ejemplo:
vCenter: datacenter: "my-data-center"
De lo contrario, el valor es una ruta relativa que incluye una o más carpetas junto con el nombre del centro de datos.
Ejemplo:
vCenter: datacenter: "data-centers/data-center-1"
vCenter.cluster
Obligatorio
Inmutable
String
Es la ruta de acceso relativa de un clúster de vSphere que representa los hosts ESXi en los que se ejecutarán las VM del clúster de administrador. Este clúster de vSphere representa un subconjunto de los hosts ESXi físicos en el centro de datos de vCenter.
El valor que especificas está relacionado con /.../DATA_CENTER/vm/
.
Si el clúster de vSphere está en la carpeta /.../DATA_CENTER/vm/
, el valor es el nombre del clúster de vSphere.
Ejemplo:
vCenter: cluster: "my-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-1"
vCenter.resourcePool
Obligatorio
Inmutable
String
Un grupo de recursos de vCenter para las VM del clúster de administrador.
Si deseas usar el grupo de recursos predeterminado, establece esto como VSPHERE_CLUSTER/Resources
.
Ejemplo:
vCenter: resourcePool: "my-vsphere-cluster/Resources"
Si deseas usar un grupo de recursos que ya creaste, establece esto en la ruta de acceso relativa de tu grupo de recursos.
El valor que especificas está relacionado con /.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/
Si el grupo de recursos es un elemento secundario directo de /.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/
, el valor es el nombre del grupo de recursos.
Ejemplo:
vCenter: resourcePool: "my-resource-pool"
Si tu grupo de recursos está anidado en otro, establece esta opción como la ruta de acceso completa a tu grupo de recursos.
Ejemplo:
vCenter: resourcePool: "my-vsphere-cluster/Resources/parent-resource-pool/child-resource-pool"
vCenter.datastore
Obligatorio
Inmutable
String
Es el nombre de un almacén de datos de vSphere para el clúster de administrador.
El valor que especifiques debe ser un nombre, no una ruta de acceso. No incluyas ninguna carpeta en el valor.
Ejemplo:
vCenter: datastore: "my-datastore"
vCenter.caCertPath
Obligatorio
Mutable
Cadena
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.
Si deseas obtener información para actualizar este campo en un clúster existente, consulta Actualiza 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
Es la ruta de acceso de un archivo de configuración de credenciales que contiene el nombre de usuario y la contraseña de la cuenta de usuario de vCenter. La cuenta de usuario debe tener la función de administrador o privilegios equivalentes. Consulta los requisitos de vSphere.
Puedes usar gkectl update
para actualizar este campo en un clúster existente.
Si deseas obtener información para actualizar tus credenciales de vCenter, consulta Actualiza las credenciales del clúster.
Ejemplo:
vCenter: credentials: fileRef: path: "my-config-folder/admin-creds.yaml"
vCenter.credentials.fileRef.entry
Obligatorio
String
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.
Puedes usar gkectl update
para actualizar este campo en un clúster existente.
Si deseas obtener información para actualizar tus credenciales de vCenter, consulta Actualiza las credenciales del clúster.
Ejemplo:
vCenter: credentials: fileRef: entry: "vcenter-creds"
vCenter.folder
Opcional
Inmutable
Cadena
Predeterminado: la carpeta de todo el centro de datos
La ruta de acceso relativa de una carpeta de vSphere que ya creaste. Esta carpeta contendrá las VMs del clúster de administrador.
Si no especificas un valor, las VMs del clúster de administrador se ubicarán en
/.../DATA_CENTER/vm/
.
Si especificas un valor, es relativo a /.../DATA_CENTER/vm/
.
El valor puede ser el nombre de una carpeta.
Ejemplo:
vCenter: folder: "my-folder"
Si la carpeta de VM está anidada en otra carpeta de VM, establece esto como la ruta de acceso completa a la carpeta de VM.
Ejemplo:
vCenter: folder: "/my-datacenter/vm/vm-folder/nested-vm-folder"
Ten en cuenta que debes incluir la primera “/” en la ruta completa de tu carpeta de VM.
vCenter.dataDisk
Obligatorio
Inmutable
String
GKE en VMware crea un disco de máquina virtual (VMDK) para contener los datos del objeto de Kubernetes. El instalador crea el VMDK por ti, pero debes proporcionar una ruta relativa para él en el campo vCenter.dataDisk
.
El valor que especificas está relacionado con /.../DATA_CENTER/datastore/
.
Si deseas que el VMDK esté en la carpeta /.../DATA_CENTER/datastore/
, el valor es el nombre del VMDK.
Si configuras adminMaster.replicas
como 3
, NO debes configurar este campo. En el caso del clúster de administrador de HA, las rutas de disco de datos para las 3 máquinas del plano de control de administrador se generarán de forma automática en /anthos/ADMIN_CLUSTER/default/
.
Ejemplo:
vCenter: dataDisk: "my-disk.vmdk"
De lo contrario, el valor es una ruta de acceso relativa que incluye una o más carpetas junto con el nombre del VMDK.
Ejemplo:
vCenter: dataDisk: "data-disks/data-disk-1.vmdk"
Si usas un datastore de vSAN, el VMDK debe estar en una carpeta que ya hayas creado.
Puedes usar govc
para crear una carpeta:
govc datastore.mkdir -namespace=true data-disks
network
Obligatorio
Inmutable
En esta sección, se incluye información sobre la red de clústeres de administrador.
network.hostConfig
Inmutable
Esta sección es obligatoria si se cumple una o más de las siguientes condiciones:
network.ipMode.type
se configura como"static"
.loadBalancer.kind
se configura como"Seesaw"
.adminMaster.replicas
se configura como3
.
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.
network.hostConfig.dnsServers
Es obligatorio si se completa la sección network.hostConfig
.
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
Es obligatorio si se completa la sección network.hostConfig
.
Inmutable
Array de cadenas
Son las direcciones de los servidores de tiempo para las VM.
Ejemplo:
network: hostConfig: ntpServers: - "216.239.35.0"
network.hostConfig.searchDomainsForDNS
Opcional
Inmutable
Array de cadenas
Son dominios de búsqueda de DNS para que usen las VM. Estos dominios se usan como parte de una lista de búsqueda de dominios.
Ejemplo:
network: hostConfig: searchDomainsForDNS: - "my.local.com"
network.ipMode.type
Obligatorio
Inmutable
Cadena
Se completó previamente: "dhcp"
Valor predeterminado: "dhcp"
Si deseas que los nodos del clúster obtengan la dirección IP de un servidor DHCP, configura esto como "dhcp"
. Si quieres que los nodos del clúster tengan direcciones IP estáticas seleccionadas de una lista que proporciones, configura esto como "static"
.
Ejemplo:
network: ipMode: type: "static"
network.ipMode.ipBlockFilePath
Obligatorio si network.ipMode.type
= static
Inmutable
String
La ruta de acceso del archivo de bloque de IP de tu clúster.
Ejemplo:
network: ipMode: ipBlockFilePath: "/my-config-folder/admin-cluster-ipblock.yaml"
network.serviceCIDR
Obligatorio
Inmutable
Cadena
El menor rango posible: /24
El mayor rango posible: /12
Se completó previamente: "10.96.232.0/24"
Valor predeterminado: "10.96.232.0/24"
Un rango de direcciones IP, en formato CIDR, que se usarán para los servicios en tu clúster.
Ejemplo:
network: serviceCIDR: "10.96.232.0/24"
network.podCIDR
Obligatorio
Inmutable
Cadena
El menor rango posible: /18
El mayor rango posible: /8
Se completó previamente: "192.168.0.0/16"
Valor predeterminado: "192.168.0.0/16"
Un rango de direcciones IP, en formato CIDR, que se usará para los Pods en tu clúster.
Ejemplo:
network: podCIDR: "192.168.0.0/16"
El rango de Service no debe superponerse con el rango de Pod.
Los rangos de Service y Pod no deben superponerse con ninguna dirección fuera del clúster a la que deseas llegar desde dentro del clúster.
Por ejemplo, supongamos que el rango de Service es 10.96.232.0/24 y el rango de Pod es 192.168.0.0/16. El tráfico enviado desde un Pod a una dirección en cualquiera de esos rangos se tratará como tráfico en el clúster y no llegará a ningún destino fuera del clúster.
En particular, los rangos de Service y Pod no deben superponerse con lo siguiente:
Direcciones IP de nodos en cualquier clúster
Direcciones IP que usan las máquinas del balanceador de cargas
VIP que usan los balanceadores de cargas y los nodos del plano de control
Dirección IP de los servidores de vCenter, DNS y NTP
Te recomendamos que los rangos de Service y Pods estén en el espacio de direcciones RFC 1918.
Esta es una razón para que la recomendación use direcciones RFC 1918. Supongamos que tu rango de Pod o Service contiene direcciones IP externas. Cualquier tráfico enviado desde un Pod a una de esas direcciones externas se tratará como tráfico en el clúster y no llegará al destino externo.
network.vCenter.networkName
Obligatorio
Inmutable
String
Es el nombre de la red de vSphere para los nodos del clúster.
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: "/data-centers/data-center-1/network/my-network"
network.controlPlaneIPBlock
Vista previa
Si quieres crear un clúster de administrador de alta disponibilidad, completa esta sección. De lo contrario, quita esta sección o déjala como comentario.
Un clúster de administrador de alta disponibilidad tiene tres nodos que ejecutan componentes del plano de control.
Si completas esta sección, también debes configurar adminMaster.replicas
como 3
.
network.controlPlaneIPBlock.netmask
Vista previa
Obligatorio para un plano de control de alta disponibilidad
Inmutable
String
Es 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
Vista previa
Obligatorio para un plano de control de alta disponibilidad
Inmutable
String
Es la dirección IP de la puerta de enlace predeterminada para los nodos del plano de control.
Ejemplo:
network: controlPlaneIPBlock: gateway: "172.16.22.1"
network.controlPlaneIPBlock.ips
Vista previa
Obligatorio para un plano de control de alta disponibilidad
Inmutable
Array 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"
loadBalancer
En esta sección, se incluye información sobre el balanceador de cargas para el clúster de administrador.
loadBalancer.vips.controlPlaneVIP
Obligatorio
Inmutable
String
Es la dirección IP que decidiste configurar en el balanceador de cargas para el servidor de la API de Kubernetes del clúster de administrador.
Ejemplo:
loadBalancer: vips: controlplaneVIP: "203.0.113.3"
loadBalancer.vips.addonsVIP
Opcional
Inmutable
String
La dirección IP que elegiste configurar en el balanceador de cargas para los complementos de Prometheus y Grafana Los clústeres de usuario usan esta VIP para la comunicación de métricas con el clúster de administrador.
Ejemplo:
loadBalancer: vips: addonsVIP: "203.0.113.4"
loadBalancer.kind
Obligatorio
Inmutable
String
Prepropagado: "MetalLB"
String. Configura esto como "ManualLB"
, "F5BigIP"
, "Seesaw"
o "MetalLB"
Si configuras adminMaster.replicas
como 3
, no podrás usar el balanceador de cargas de Seesaw.
Ejemplo:
loadBalancer: kind: "MetalLB"
loadBalancer.manualLB
Si configuras loadbalancer.kind
como "ManualLB"
, completa esta sección. De lo contrario, quita 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.manualLB.controlPlaneNodePort
Obligatorio si loadBalancer.kind
= "ManualLB"
y adminMaster.replicas
= 1
Inmutable
Número entero
Prepropagado: 30968
Un servicio de Kubernetes expone el servidor de la API de Kubernetes en el clúster de administrador. Debes elegir un valor nodePort
para el Service.
Establece este campo en el valor nodePort
.
Por ejemplo:
loadBalancer: manualLB: controlPlaneNodePort: 30968
loadBalancer.manualLB.addonsNodePort
Obligatorio si loadBalancer.kind
= "ManualLB"
Inmutable
Número entero
Prepropagado: 31,405
El Service de Kubernetes expone el servidor de complementos en el clúster de administrador.
Debes elegir un valor nodePort
para el Service.
Establece este campo en el valor nodePort
.
Ejemplo:
loadBalancer: manualLB: addonsNodePort: 31405
loadBalancer.f5BigIP
Si configuras loadbalancer.kind
como "f5BigIP"
, completa esta sección. De lo contrario, quita esta sección.
loadBalancer.f5BigIP.address
Obligatorio si loadBalancer.kind
= "f5BigIp"
Inmutable
String
Es la dirección del balanceador de cargas BIG-IP de F5. Por ejemplo:
loadBalancer: f5BigIP: address: "203.0.113.2"
loadBalancer.f5BigIP.credentials.fileRef.path
Obligatorio si loadBalancer.kind
= "f5BigIp"
Mutable
String
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 GKE on VMware puede usar para conectarse al balanceador de cargas BIG-IP de F5.
La cuenta de usuario debe tener una función de usuario que tenga permisos suficientes para configurar y administrar el balanceador de cargas. El rol de administrador o de administrador de recursos es suficiente.
Puedes usar gkectl update
para actualizar este campo en un clúster existente.
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/admin-creds.yaml"
loadBalancer.f5BigIP.credentialsfileRef.entry
Obligatorio si loadBalancer.kind
= "f5BigIp"
Mutable
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.
Puedes usar gkectl update
para actualizar este campo en un clúster existente.
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: entry: "f5-creds"
loadBalancer.f5BigIP.partition
Obligatorio si loadBalancer.kind
= "f5BigIp"
Inmutable
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-admin-partition"
loadBalancer.f5BigIP.snatPoolName
Opcional
Relevante si loadBalancer.kind
= "f5BigIp"
Inmutable
String
Si usas SNAT, es el nombre del grupo de SNAT. Si no usas SNAT, quita este campo.
Ejemplo:
loadBalancer: f5BigIP: snatPoolName: "my-snat-pool"
loadBalancer.seesaw
Si configuras loadbalancer.kind
como "Seesaw"
, completa esta sección. De lo contrario, quita esta sección.
Inmutable
Para obtener información sobre cómo configurar el balanceador de cargas de Seesaw, consulta Balanceo de cargas en paquetes con Seesaw.
loadBalancer.seesaw.ipBlockFilePath
Obligatorio si loadBalancer.kind
= "Seesaw"
Inmutable
String
Es la ruta del archivo de bloque de IP para las VM de Seesaw.
Ejemplo:
loadBalancer: seesaw: ipBlockFilePath: "config-folder/admin-seesaw-ipblock.yaml"
loadBalancer.seesaw.vrid
Obligatorio si loadBalancer.kind
= "Seesaw"
Inmutable
Número entero
Valores posibles: de 1 a 255
Es el identificador del router virtual de la VM de Seesaw. Este identificador, que es un número entero que debes elegir, debe ser único en una VLAN.
Ejemplo:
loadBalancer: seesaw: vrid: 125
loadBalancer.seesaw.masterIP
Obligatorio si loadBalancer.kind
= "Seesaw"
Inmutable
Número entero
String. La dirección IP virtual configurada en la VM de Seesaw de la instancia principal.
Ejemplo:
loadBalancer: seesaw: masterIP: 172.16.20.21
loadBalancer.seesaw.cpus
Obligatorio si loadBalancer.kind
= "Seesaw"
Mutable
Número entero
Prepropagado: 2
Valor predeterminado:
Es la cantidad de CPU para cada una de tus VM de Seesaw.
Ejemplo:
loadBalancer: seesaw: cpus: 8
loadBalancer.seesaw.memoryMB
Obligatorio si loadBalancer.kind
= "Seesaw"
Mutable
Número entero
Prepropagado: 3,072
Valor predeterminado: 1024
Es la cantidad de megabytes de memoria para cada una de tu VM de Seesaw.
Ejemplo:
loadBalancer: seesaw: memoryMB: 8192
loadBalancer.seesaw.vCenter.networkName
Opcional
Relevante si loadBalancer.kind
= "Seesaw"
Inmutable
String
Es el nombre de la red de vCenter que contiene las VM de Seesaw.
Ejemplo:
loadBalancer: seesaw: vCenter: networkName: "my-seesaw-network"
loadBalancer.seesaw.enableHA
Opcional
Relevante si loadBalancer.kind
= "Seesaw"
Inmutable
Booleano
Prepropagado: false
Valor predeterminado: false
Si deseas crear un balanceador de cargas de Seesaw con alta disponibilidad (HA), configura esto como true
. De lo contrario, configúralo como false
. Un balanceador de cargas de Seesaw con alta disponibilidad usa un par(principal, de copia de seguridad) de VM.
Ejemplo:
loadBalancer: seesaw: enableHA: true
loadBalancer.seesaw.disableVRRPMAC
Opcional
Relevante si loadBalancer.kind
= "Seesaw"
Inmutable
Booleano
Prepropagado: false
Valor predeterminado: false
Si estableces esto como true
, el balanceador de cargas de Seesaw no usará el aprendizaje de MAC para la conmutación por error. En su lugar, usa un ARP injustificado.
Si configuras esto como false
, el balanceador de cargas de Seesaw usa el aprendizaje de MAC. Te recomendamos establecer esto en true
. Si usas vSphere 7 o una versión posterior, y tienes un balanceador de cargas de Seesaw de alta disponibilidad, debes establecerlo en true
.
Ejemplo:
loadBalancer: seesaw: disableVRRPMAC: true
antiAffinityGroups.enabled
Opcional
Mutable
Booleano
Prepropagado: verdadero
Configúralo como true
para habilitar la creación de reglas de DRS. De lo contrario, configúralo como false
.
Ejemplo:
antiAffinityGroups: enabled: true
Si este campo es true
, GKE en VMware crea reglas de antiafinidad de Distributed Resource Scheduler (DRS) de VMware para los nodos del clúster de administrador, lo que hace que se distribuyan en al menos tres hosts ESXi físicos del centro de datos.
Para esta función, se requiere que el entorno de vSphere cumpla con las siguientes condiciones:
DRS de VMware debe estar habilitado. Para DRS de VMware, se requiere la edición de licencia vSphere Enterprise Plus.
La cuenta de usuario de vSphere tiene el privilegio
Host.Inventory.Modify cluster
.Hay al menos cuatro hosts ESXi disponibles.
Aunque la regla requiere que los nodos del clúster estén distribuidos en tres hosts ESXi, te recomendamos que tengas al menos cuatro hosts ESXi disponibles. Esto evita que pierdas el plano de control del clúster de administrador. Por ejemplo, supongamos que solo tienes tres hosts ESXi y el nodo del plano de control del clúster de administrador se encuentra 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 DRS de VMware.
Si no tienes DRS habilitado o no tienes al menos cuatro hosts en los que se puedan programar las VM de vSphere, configura antiAffinityGroups.enabled
como false
.
adminMaster
Vista previa
Opcional
Inmutable
Completa esta sección si quieres realizar alguna de las siguientes acciones:
- Especifica las CPU para los nodos del plano de control del clúster de administrador
- Especifica la memoria para los nodos del plano de control del clúster de administrador
- Vista previa: Crea un clúster de administrador de alta disponibilidad
De lo contrario, quita esta sección o déjala como comentario.
adminMaster.cpus
Vista previa
Opcional
Inmutable
Número entero
Prepropagado: 4
Valor predeterminado: 4
Es la cantidad de CPU virtuales para cada nodo del plano de control en el clúster de administrador.
Ejemplo:
adminMaster: cpus: 4
adminMaster.memoryMB
Vista previa
Opcional
Inmutable
Número entero
Prepropagado: 16,384
Predeterminado: 16384
Es la cantidad de mebibytes de memoria de cada nodo del plano de control en el clúster de administrador.
Ejemplo:
adminMaster: memoryMB: 16384
adminMaster.replicas
Vista previa
Opcional
Inmutable
Número entero
Valores posibles: 1 o 3
Prepropagado: 1
Valor predeterminado: 1
Es la cantidad de nodos del plano de control del clúster de administrador. Configúralo como 3
si deseas crear un clúster de administrador de alta disponibilidad. De lo contrario, configúralo como 1
.
Si configuras esto como 3
, también debes completar las secciones network.controlPlaneIPBlock
y network.hostConfig
.
Si estableces esto como 3
, no puedes usar el balanceador de cargas de Seesaw.
Ejemplo:
adminMaster: replicas: 3
addonNode.autoResize.enabled
Opcional
Mutable
Booleano
Prepropagado: false
Valor predeterminado: false
Configúralo como true
para habilitar el cambio de tamaño automático de los nodos del complemento en el clúster de administrador. Otra configúralo como false
.
Para actualizar el valor de este campo, usa gkectl update admin
.
Ejemplo:
addonNode: autoResize: enabled: true
proxy
Si la red está detrás de un servidor proxy, completa esta sección. De lo contrario, quita esta sección o déjala como comentario.
Inmutable
proxy.url
Es obligatorio si se completa la sección proxy
.
Cadena
inmutable
La dirección HTTP del servidor proxy. Debes incluir el número de puerto incluso si es el mismo que el puerto predeterminado del esquema.
Ejemplo:
proxy: url: "http://my-proxy.example.local:80"
Los clústeres de GKE en VMware usan el servidor proxy que especificas aquí. Además, la estación de trabajo de administrador está configurada de forma automática para usar este mismo servidor proxy, a menos que establezcas la variable de entorno HTTPS_PROXY
en la estación de trabajo de administrador.
Si especificas proxy.url
, también debes especificar proxy.noProxy
.
Una vez definida la configuración del proxy para el clúster de administrador, no se podrá modificar ni borrar, a menos que se vuelva a compilar el clúster.
proxy.noProxy
Opcional
Inmutable
String
Es una lista separada por comas de direcciones IP, rangos de direcciones IP, nombres de host y nombres de dominio que no deben pasar por el servidor proxy. Cuando GKE en VMware 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
Si tienes un registro de contenedores privado, completa esta sección. De lo contrario, quita esta sección o déjala como comentario.
privateRegistry.address
Obligatorio para el registro privado
Inmutable
String
La dirección IP o el FQDN (nombre de dominio completamente calificado) de la máquina 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
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 GKE on VMware puede usar para acceder al registro privado.
Ejemplo:
privateRegistry: credentials: fileRef: path: "my-config-folder/admin-creds.yaml"
privateRegistry.credentials.fileRef.entry
Obligatorio para el registro privado
Mutable
String
Es 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 entorno de ejecución del contenedor extrae una imagen de tu registro privado, el registro debe demostrar su identidad mediante la presentación de un certificado. El certificado del registro está firmado por una autoridad certificadora (AC). El entorno de ejecución del contenedor usa el certificado de la AC 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"
componentAccessServiceAccountKeyPath
Obligatorio
Mutable
Cadena
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/access-key.json"
gkeConnect
Obligatorio
Mutable
Cuando completas la sección gkeConnect
, el clúster de administrador se registra de forma automática en una flota después de crearlo. En esta sección, se incluye información sobre el proyecto y la cuenta de servicio de Google Cloud 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 RBAC son necesarias para que puedas crear clústeres de usuarios en la consola de Google Cloud.
gkeConnect.projectID
Obligatorio
Inmutable
String
El ID del proyecto host de tu flota.
Ejemplo:
gkeConnect: projectID: "my-fleet-host-project"
gkeConnect.registerServiceAccountKeyPath
Obligatorio
Mutable
Cadena
Es la ruta del archivo de claves JSON para tu cuenta de servicio de registro de conexión.
Ejemplo:
gkeConnect: registerServiceAccountKeyPath: "my-key-folder/connect-register-key.json"
gkeOnPremAPI
Opcional
Disponible en 1.15.3 o versiones posteriores.
Incluye esta sección si deseas inscribir el clúster de administrador en la API de GKE On-Prem.
La inscripción del clúster de administrador en la API de GKE On-Prem te permite usar herramientas estándar, como la consola de Google Cloud, Google Cloud CLI o Terraform, para actualizar los clústeres de usuario que administra el clúster de administrador. La inscripción del clúster también te permite ejecutar comandos de gcloud
para obtener información sobre los clústeres.
La API de GKE On-Prem almacena los metadatos del estado del clúster en Google Cloud. Estos metadatos permiten que la API administre el ciclo de vida de los clústeres de usuario. Las herramientas estándar usan la API de GKE On-Prem y, en conjunto, se denominan los clientes de la API de GKE On-Prem. Si deseas obtener información sobre el uso de herramientas estándar para crear clústeres de usuario, consulta Crea un clúster de usuario con los clientes de la API de GKE On-Prem. Cuando creas clústeres de usuario con un cliente de la API de GKE On-Prem, los clústeres se inscriben de forma automática en la API de GKE On-Prem.
Si configuras gkeOnPremAPI.enabled
como true
, antes de crear o actualizar el clúster mediante gkectl
, asegúrate de realizar los pasos que se indican en Antes de comenzar para habilitar y, luego, inicializar la API de GKE On-Prem.
Después de agregar esta sección y de 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
Booleano Prepropagado: verdadero
Configúralo en true
si deseas inscribir el clúster en la API de GKE On-Prem.
Después de inscribir el clúster en la API de GKE On-Prem, si necesitas dar de baja el clúster, realiza el siguiente cambio y, luego, actualízalo:
gkeOnPremAPI: enabled: false
gkeOnPremAPI.location
Inmutable
Cadena
Se completó previamente: “us-central1”
La región de Google Cloud en la que la API de GKE On-Prem ejecuta y almacena los metadatos del clúster. Elige una de las regiones compatibles.
Te recomendamos que uses la misma región que está configurada en stackdriver.clusterLocation
. Si gkeOnPremAPI.enabled
es true
, debe ser una string que no esté vacía. 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.
Esta sección es obligatoria de forma predeterminada. Es decir, si no incluyes esta sección, deberás incluir la marca --skip-validation-stackdriver
cuando ejecutes gkectl create admin
.
Esta sección es obligatoria en el clúster de administrador si deseas administrar el ciclo de vida de los clústeres de usuario en la consola de Google Cloud.
stackdriver.projectID
Necesario para Logging y Monitoring
String inmutable
El ID del proyecto host de tu flota.
Ejemplo:
stackdriver: projectID: "my-fleet-host-project"
stackdriver.clusterLocation
Necesario para Logging y Monitoring
Inmutable
String
Se completó previamente: “us-central1”
Es la región de Google Cloud en la que deseas almacenar los registros. Te recomendamos que elijas una región cercana a tu centro de datos local.
Ejemplo:
stackdriver: clusterLocation: "us-central1"
stackdriver.enableVPC
Opcional
Inmutable
Booleano
Prepropagado: false
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
Necesario para Logging y Monitoring
Mutable
String
Es la ruta del archivo de claves JSON para la cuenta de servicio de supervisión y registro.
Si deseas obtener información para actualizar este campo en un clúster existente, consulta Rota claves de cuenta de servicio.
Ejemplo:
stackdriver: serviceAccountKeyPath: "my-key-folder/log-mon-key.json"
stackdriver.disableVsphereResourceMetrics
Opcional
Mutable
Relevante para Logging y Monitoring
Booleano
Prepropagado: false
Valor predeterminado: false
Configúralo como true
para inhabilitar la recopilación de métricas de vSphere.
De lo contrario, configúralo como false
.
Esta sección es obligatoria en el clúster de administrador si deseas administrar el ciclo de vida de los clústeres de usuario en la consola de Google Cloud.
Ejemplo:
stackdriver: disableVsphereResourceMetrics: 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.
Mutable
Esta sección es obligatoria en el clúster de administrador si deseas administrar el ciclo de vida de los clústeres de usuario en la consola de Google Cloud.
cloudAuditLogging.projectID
Obligatorio para los registros de auditoría de Cloud
String inmutable
El ID del proyecto host de la flota.
Ejemplo:
cloudAuditLogging: projectID: "my-fleet-host-project"
cloudAuditLogging.clusterLocation
Obligatorio para los registros de auditoría de Cloud
String inmutable
Es la región de Google Cloud en la que deseas almacenar los registros de auditoría. Te recomendamos que elijas una región cercana a tu centro de datos local.
Ejemplo:
cloudAuditLogging: clusterLocation: "us-central1"
cloudAuditLogging.serviceAccountKeyPath
Obligatorio para los registros de auditoría de Cloud
Mutable
String
Es la ruta de acceso del archivo de claves JSON para la cuenta de servicio de registro y auditoría.
Si deseas obtener información para actualizar este campo en un clúster existente, consulta Rota claves de cuenta de servicio.
Ejemplo:
cloudAuditLogging: serviceAccountKeyPath: "my-key-folder/audit-log-key.json"
clusterBackup.datastore
Vista previa
Opcional
Mutable
String
Si deseas habilitar la copia de seguridad del clúster de administrador, configura esto en el almacén de datos de vSphere en el que deseas guardar las copias de seguridad del clúster.
Si configuras adminMaster.replicas
como 3
, no podrás habilitar esta función.
Por lo tanto, no debes establecer un valor para este campo.
Ejemplo:
clusterBackup: datastore: "my-datastore"
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
.
Para actualizar el valor de este campo, usa gkectl update admin
.
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.
Inmutable
secretsEncryption.mode
Obligatorio para la encriptación de secretos
Inmutable
String
Valor posible: "GeneratedKey"
Se completó previamente: "GeneratedKey"
El modo de encriptación de Secret.
secretsEncryption: mode: "GeneratedKey"
secretsEncryption.generatedKey.keyVersion
Obligatorio para la encriptación de secretos
Mutable
Número entero
Prepropagado: 1
Un número entero que elijas para el número de versión de la clave. Te recomendamos que comiences con 1
.
Ejemplo:
secretsEncryption: generatedKey: keyVersion: 1
secretsEncryption.generatedKey.disabled
Opcional para la encriptación de secretos
Mutable
Booleano
Prepropagado: falso
Configúralo como true
para inhabilitar la encriptación de Secrets. De lo contrario, configúralo como false
.
Ejemplo:
secretsEncryption: generatedKey: disabled: false
osImageType
Opcional
Cadena
Valores posibles: “ubuntu_containerd” o “cos”
Prepropagado: “ubuntu_containerd”
Valor predeterminado: “ubuntu_containerd”
El tipo de imagen de SO que se ejecutará en los nodos del clúster de administrador.
Ejemplo:
osImageType: "cos"