Archivo de configuración del clúster de administrador

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 como 3.

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"