Archivo de configuración de clúster de administrador 1.28

En este documento se describen los campos del archivo de configuración del clúster de administrador de la versión 1.28 de Google Distributed Cloud.

Generar una plantilla para el archivo de configuración

Si has usado gkeadm para crear tu estación de trabajo de administrador, gkeadm habrá generado una plantilla para el archivo de configuración de tu clúster de administrador. Además, gkeadm ha rellenado algunos campos por ti.

Si no has usado gkeadm para crear tu estación de trabajo de administrador, puedes usar gkectl para generar una plantilla para el archivo de configuración de tu clúster de administrador.

Para generar una plantilla para el archivo de configuración de tu clúster de administrador, sigue estos pasos:

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

Sustituye OUTPUT_FILENAME por la ruta que quieras para la plantilla generada. Si omite esta marca, gkectl asigna el nombre admin-cluster.yaml al archivo y lo coloca en el directorio actual.

Sustituye VERSION por la versión completa de un parche 1.28. Por ejemplo: gkectl create-config admin --gke-on-prem-version=1.28.1200-gke.83. Esta versión debe ser igual o inferior a la versión gkectl. Si omite esta marca, la plantilla de configuración generada se rellenará con valores basados en el último parche de la versión 1.28.

Plantilla

Rellenar el archivo de configuración

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

name

Opcional
String
Valor predeterminado: un nombre aleatorio que empieza por el prefijo "gke-admin-"

El nombre que elijas para el clúster.

Ejemplo:

name: "my-admin-cluster"

bundlePath

Obligatorio
Mutable
String

Ruta del archivo de paquete de Google Distributed Cloud.

El archivo del paquete completo de Google Distributed Cloud contiene todos los componentes de una versión concreta de Google Distributed Cloud. Cuando creas una estación de trabajo de administrador, incluye un paquete completo en la siguiente ubicación:

/var/lib/gke/bundles/gke-onprem-vsphere-VERSION-full.tgz

Ejemplo:

bundlePath: "/var/lib/gke/bundles/gke-onprem-vsphere-1.10.0-gke.8.full.tgz"

preparedSecrets.enabled

Vista previa
Opcional
Inmutable
Booleano
Valor predefinido: false
Valor predeterminado: false

Asigna el valor true si quieres usar credenciales preparadas en el clúster de administrador. De lo contrario, asigna el valor false.

Ejemplo:

preparedSecrets:
  enabled: true

vCenter

Obligatorio
Inmutable

En esta sección se incluye información sobre tu entorno de vSphere y tu conexión con vCenter Server.

vCenter.address

Obligatorio
Inmutable
Cadena

La dirección IP o el nombre de host de tu servidor de vCenter.

Para obtener más información, consulta Buscar la dirección del servidor vCenter.

Ejemplos:

vCenter:
  address: "203.0.113.100"
vCenter:
  address: "my-vcenter-server.my-domain.example"

vCenter.datacenter

Obligatorio
Inmutable
Cadena

Ruta relativa de un centro de datos de vSphere.

El valor que especifiques será relativo a la carpeta raíz llamada /.

Si su centro de datos está en la carpeta raíz, el valor es el nombre del centro de datos.

Ejemplo:

vCenter:
  datacenter: "my-data-center"

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

Ejemplo:

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

vCenter.cluster

Obligatorio
Inmutable
Cadena

La ruta relativa de un clúster de vSphere que representa los hosts ESXi en los que se ejecutarán las VMs de tu clúster de administrador. Este clúster de vSphere representa un subconjunto de los hosts ESXi físicos de tu centro de datos de vCenter.

El valor que especifiques será relativo a /.../DATA_CENTER/vm/.

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

Ejemplo:

vCenter:
  cluster: "my-vsphere-cluster"

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

Ejemplo:

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

vCenter.resourcePool

Obligatorio
Inmutable
Cadena

Un grupo de recursos de vCenter para las VMs de tu clúster de administrador.

Si quieres usar el grupo de recursos predeterminado, asigna el valor VSPHERE_CLUSTER/Resources a este campo.

Ejemplo:

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

Si quieres usar un grupo de recursos que ya has creado, asigna a este campo la ruta relativa del grupo de recursos.

El valor que especifiques será relativo a /.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/.

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

Ejemplo:

vCenter:
  resourcePool: "my-resource-pool"

Si tu grupo de recursos está anidado en otro grupo de recursos, indica la ruta completa a tu grupo de recursos.

Ejemplo:

vCenter:
  resourcePool: "my-vsphere-cluster/Resources/parent-resource-pool/child-resource-pool"

vCenter.datastore

Obligatorio si no se especifica vCenter.storagePolicyName
Inmutable
Cadena

Nombre de un almacén de datos de vSphere de tu clúster de administrador.

El valor que especifique debe ser un nombre, no una ruta. No incluya ninguna carpeta en el valor.

Ejemplo:

vCenter:
  datastore: "my-datastore"

Debe especificar un valor para vCenter.datastore o vCenter.storagePolicyName, pero no para ambos. Si especifica un valor para este campo, no especifique ningún valor para vCenter.storagePolicyName. El campo vCenter.datastore es inmutable, excepto cuando se le asigna una cadena vacía al migrar un almacén de datos a la gestión basada en políticas de almacenamiento (SPBM).

vCenter.storagePolicyName

Obligatorio si no se especifica vCenter.datastore
Inmutable
Cadena

Nombre de una política de almacenamiento de VM para los nodos del clúster.

El clúster de administrador debe tener alta disponibilidad para funcionar con la política de almacenamiento.

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

Debe especificar un valor para vCenter.datastore o vCenter.storagePolicyName, pero no para ambos. Si especifica un valor para este campo, no especifique ningún valor para vCenter.datastore.

vCenter.caCertPath

Obligatorio
Mutable
String

Ruta del certificado de la AC de tu servidor vCenter.

Para obtener más información, consulta Obtener el certificado de CA de vCenter.

Para obtener información sobre cómo actualizar este campo en un clúster, consulta Actualizar las referencias de certificados de vCenter.

Ejemplo:

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

vCenter.credentials.fileRef.path

Obligatorio
String

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

Puedes usar gkectl update para actualizar este campo en un clúster.

Para obtener información sobre cómo actualizar las credenciales de vCenter, consulta Actualizar las credenciales del clúster.

Ejemplo:

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

vCenter.credentials.fileRef.entry

Obligatorio
String

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

Puedes usar gkectl update para actualizar este campo en un clúster.

Para obtener información sobre cómo actualizar las credenciales de vCenter, consulta Actualizar las credenciales del clúster.

Ejemplo:

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

vCenter.folder

Opcional
Inmutable
Cadena
Valor predeterminado: la carpeta de todo el centro de datos

Ruta relativa de una carpeta de vSphere que ya has creado. Esta carpeta contendrá las VMs de tu clúster de administrador.

Si no especifica ningún valor, las VMs de su clúster de administrador se colocarán en /.../DATA_CENTER/vm/.

Si especificas un valor, será relativo a /.../DATA_CENTER/vm/.

El valor puede ser el nombre de una carpeta.

Ejemplo:

vCenter:
  folder: "my-folder"

Si tu carpeta de VMs está anidada en otra carpeta de VMs, indica la ruta completa a tu carpeta de VMs.

Ejemplo:

vCenter:
  folder: "/my-datacenter/vm/vm-folder/nested-vm-folder"

Ten en cuenta que debes incluir la primera "/" en la ruta completa de la carpeta de tu VM.

vCenter.dataDisk

No proporcione ningún valor en este campo. Elimina el campo o déjalo comentado.

network

Obligatorio
Inmutable

Esta sección contiene información sobre la red de tu clúster de administrador.

network.hostConfig

Obligatorio
Inmutable

Esta sección contiene información sobre los servidores NTP, los servidores DNS y los dominios de búsqueda de DNS que usan las VMs que son los nodos de tu clúster.

network.hostConfig.dnsServers

Es obligatorio si se rellena la sección network.hostConfig.
Inmutable
Array de cadenas.
El número máximo de elementos de la matriz es tres.

Las direcciones de los servidores DNS de las máquinas virtuales.

Ejemplo:

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

network.hostConfig.ntpServers

Es obligatorio si se rellena la sección network.hostConfig.
Inmutable
Array de cadenas

Las direcciones de los servidores de tiempo que deben usar las VMs.

Ejemplo:

network:
  hostConfig:
    ntpServers:
    - "216.239.35.0"

network.hostConfig.searchDomainsForDNS

Opcional
Inmutable
Array de cadenas

Dominios de búsqueda de DNS que usarán las VMs. Estos dominios se usan como parte de una lista de búsqueda de dominios.

Ejemplo:

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

network.ipMode.type

Obligatorio
Inmutable
Cadena
Valor predefinido: "dhcp"
Valor predeterminado: "dhcp"

Si quieres que los nodos del clúster obtengan su dirección IP de un servidor DHCP, define este valor como "dhcp". Si quieres que los nodos de tu clúster tengan direcciones IP estáticas elegidas de una lista que proporciones, define este valor como "static".

Ejemplo:

network:
  ipMode:
    type: "static"

network.ipMode.ipBlockFilePath

Obligatorio si network.ipMode.type = static
Inmutable
Cadena

Ruta del archivo de bloque de IPs de tu clúster.

Ejemplo:

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

network.serviceCIDR

Obligatorio
Inmutable
Cadena
Intervalo más pequeño posible: /24
Intervalo más grande posible: /12
Valor predefinido: "10.96.232.0/24"
Valor predeterminado: "10.96.232.0/24"

Intervalo de direcciones IP, en formato CIDR, que se usará para los servicios de tu clúster.

Ejemplo:

network:
  serviceCIDR: "10.96.232.0/24"

network.podCIDR

Obligatorio
Inmutable
Cadena
Intervalo más pequeño posible: /18
Intervalo más grande posible: /8
Valor predefinido: "192.168.0.0/16"
Valor predeterminado: "192.168.0.0/16"

Intervalo de direcciones IP, en formato CIDR, que se usará para los pods de tu clúster.

Ejemplo:

network:
  podCIDR: "192.168.0.0/16"

El intervalo de servicios no debe solaparse con el de pods.

Los intervalos de servicios y pods no deben solaparse con ninguna dirección fuera del clúster a la que quieras acceder desde dentro del clúster.

Por ejemplo, supongamos que tu intervalo de servicio es 10.96.232.0/24 y tu intervalo de pods es 192.168.0.0/16. El tráfico enviado desde un pod a una dirección de cualquiera de esos intervalos se tratará como tráfico dentro del clúster y no llegará a ningún destino fuera del clúster.

En concreto, los intervalos de servicios y pods no deben solaparse con lo siguiente:

  • Direcciones IP de los nodos de cualquier clúster

  • Direcciones IP que utilizan las máquinas del balanceador de carga

  • IPs virtuales usadas por los nodos del plano de control y los balanceadores de carga

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

Te recomendamos que los intervalos de servicio y de pods se encuentren en el espacio de direcciones RFC 1918.

Este es uno de los motivos por los que se recomienda usar direcciones RFC 1918. Supongamos que el intervalo de tu pod o servicio contiene direcciones IP externas. El tráfico enviado desde un pod a una de esas direcciones externas se tratará como tráfico dentro del clúster y no llegará al destino externo.

network.vCenter.networkName

Obligatorio
Inmutable
Cadena

El nombre de la red de vSphere de 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 inclinada (/) %2f
Barra inversa (\) %5c
Símbolo de porcentaje (%) %25

Si el nombre de la red no es único en su centro de datos, puede especificar una ruta completa.

Ejemplo:

network:
  vCenter:
    networkName: "/data-centers/data-center-1/network/my-network"

network.controlPlaneIPBlock

Obligatorio

network.controlPlaneIPBlock.netmask

Obligatorio
Inmutable
Cadena

La máscara de red de la red que tiene los nodos del plano de control.

Ejemplo:

network:
  controlPlaneIPBlock:
    netmask: "255.255.255.0"

network.controlPlaneIPBlock.gateway

Obligatorio
Inmutable
Cadena

La dirección IP de la pasarela predeterminada de los nodos del plano de control.

Ejemplo:

network:
  controlPlaneIPBlock:
    gateway: "172.16.22.1"

network.controlPlaneIPBlock.ips

Obligatorio
Inmutable
Matriz de tres objetos, cada uno de los cuales tiene una dirección IP y un nombre de host opcional.

Estas son las direcciones IP que se asignarán a los nodos del plano de control.

Ejemplo:

network:
  controlPlaneIPBlock:
    ips:
    - ip: "172.16.22.6"
      hostname: "admin-cp-vm-1"
    - ip: "172.16.22.7"
      hostname: "admin-cp-vm-2"
    - ip: "172.16.22.8"
      hostname: "admin-cp-vm-3"

loadBalancer

Esta sección contiene información sobre el balanceador de carga de tu clúster de administrador.

loadBalancer.vips.controlPlaneVIP

Obligatorio
Inmutable
Cadena

La dirección IP que has elegido para configurar en el balanceador de carga del servidor de la API de Kubernetes del clúster de administrador.

Ejemplo:

loadBalancer:
  vips:
    controlplaneVIP: "203.0.113.3"

loadBalancer.kind

Obligatorio
Inmutable
Cadena
Predefinido: "MetalLB"

Cadena. Asigna el valor "ManualLB", "F5BigIP" o "MetalLB".

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

Ejemplo:

loadBalancer:
  kind: "MetalLB"

loadBalancer.manualLB

Si has definido loadbalancer.kind como "ManualLB", rellena esta sección. De lo contrario, elimina esta sección.
Inmutable

loadBalancer.manualLB.ingressHTTPNodePort

Quita este campo del archivo de configuración. No se usa en un clúster de administrador.

loadBalancer.manualLB.ingressHTTPSNodePort

Quita este campo del archivo de configuración. No se usa en un clúster de administrador.

loadBalancer.manualLB.konnectivityServerNodePort

Quita este campo del archivo de configuración. No se usa en un clúster de administrador.

loadBalancer.f5BigIP

Si has definido loadbalancer.kind como "f5BigIP", rellena esta sección. De lo contrario, elimina esta sección.

Para habilitar funciones nuevas y avanzadas, le recomendamos que configure el balanceo de carga manual en su balanceador de carga F5 BIG-IP. Para habilitar el balanceo de carga manual, asigna el valor loadbalancer.kind a "ManualLB" y rellena la sección loadBalancer.manualLB. Para obtener más información, consulta el artículo sobre cómo habilitar el modo manual del balanceo de carga.

Si tienes un balanceador de carga F5 BIG-IP y el clúster usa esta configuración, después de actualizar a la versión 1.29 o a una posterior, te recomendamos que migres al modo manual.

loadBalancer.f5BigIP.address

Obligatorio si loadBalancer.kind = "f5BigIp"
Inmutable
Cadena

La dirección de tu balanceador de carga F5 BIG-IP. Por ejemplo:

loadBalancer:
  f5BigIP:
    address: "203.0.113.2"

loadBalancer.f5BigIP.credentials.fileRef.path

Obligatorio si loadBalancer.kind = "f5BigIp"
Mutable
String

Ruta de un archivo de configuración de credenciales que contiene el nombre de usuario y la contraseña de una cuenta que Google Distributed Cloud puede usar para conectarse a tu balanceador de carga F5 BIG-IP.

La cuenta de usuario debe tener un rol de usuario con los permisos suficientes para configurar y gestionar el balanceador de carga. Es suficiente con el rol de administrador o el de administrador de recursos.

Puedes usar gkectl update para actualizar este campo en un clúster.

Para obtener información sobre cómo actualizar tus credenciales de F5 BIG-IP, consulta Actualizar las credenciales del clúster.

Ejemplo:

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

loadBalancer.f5BigIP.credentialsfileRef.entry

Obligatorio si loadBalancer.kind = "f5BigIp"
Mutable
String

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

Puedes usar gkectl update para actualizar este campo en un clúster.

Para obtener información sobre cómo actualizar tus credenciales de F5 BIG-IP, consulta Actualizar las credenciales del clúster.

Ejemplo:

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

loadBalancer.f5BigIP.partition

Obligatorio si loadBalancer.kind = "f5BigIp"
Inmutable
Cadena

Nombre de una partición de BIG-IP que hayas creado para tu clúster de administrador.

Ejemplo:

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

loadBalancer.f5BigIP.snatPoolName

Opcional
Relevante si loadBalancer.kind = "f5BigIp"
Inmutable
Cadena

Si usas SNAT, el nombre de tu grupo de SNAT. Si no usas SNAT, elimina este campo.

Ejemplo:

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

loadBalancer.seesaw

No utilices esta sección. El balanceador de carga Seesaw no es compatible con los clústeres de administrador nuevos en la versión 1.28 y posteriores. En su lugar, te recomendamos que configures el balanceador de carga MetalLB para los nuevos clústeres de administrador. Para obtener más información sobre cómo configurar MetalLB, consulta Balanceo de carga agrupado con MetalLB.

Seguimos ofreciendo asistencia para Seesaw en clústeres que se actualicen de la versión 1.16 a la 1.28. Por ejemplo, supongamos que tienes un clúster de administrador no de alta disponibilidad con la versión 1.16 que usa Seesaw. Después de actualizar el clúster a la versión 1.28, puedes seguir usando el plano de control sin alta disponibilidad y el balanceador de carga Seesaw. Para obtener información sobre el balanceador de carga Seesaw, consulta la documentación de la versión 1.16:

antiAffinityGroups.enabled

Opcional
Mutable
Booleano
Valor predefinido: true

Selecciona true para habilitar la creación de reglas de DRS. De lo contrario, asigna el valor false.

Ejemplo:

antiAffinityGroups:
  enabled: true

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

Para usar esta función, tu entorno de vSphere debe cumplir las siguientes condiciones:

  • VMware DRS está habilitado. VMware DRS requiere la edición de licencia de vSphere Enterprise Plus.

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

  • Hay al menos cuatro hosts ESXi disponibles.

Aunque la regla requiere que los nodos del clúster se distribuyan en tres hosts ESXi, te recomendamos que tengas al menos cuatro hosts ESXi disponibles. De esta forma, no perderás el plano de control del clúster de administrador. Por ejemplo, supongamos que solo tienes tres hosts ESXi y que el nodo del plano de control de tu clúster de administrador está en un host ESXi que falla. La regla de DRS evitará que el nodo del plano de control se coloque en uno de los dos hosts ESXi restantes.

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

Si no tienes habilitado DRS o no tienes al menos cuatro hosts en los que se puedan programar máquinas virtuales de vSphere, asigna el valor false a antiAffinityGroups.enabled.

adminMaster

Inmutable

Ajustes de configuración de los nodos del plano de control en el clúster de administrador.

adminMaster.cpus

Vista previa
Opcional
Inmutable
Número entero
Valor predefinido: 4
Valor predeterminado: 4

Número de vCPUs de cada nodo del plano de control del clúster de administrador.

Ejemplo:

adminMaster:
  cpus: 4

adminMaster.memoryMB

Vista previa
Opcional
Inmutable
Entero
Relleno automático: 16384
Valor predeterminado: 16384

Número de mebibytes de memoria de cada nodo del plano de control del clúster de administración.

Ejemplo:

adminMaster:
  memoryMB: 16384

adminMaster.replicas

Obligatorio para los clústeres nuevos
Inmutable
Número entero
Valores posibles: 3

Número de nodos del plano de control del clúster de administrador. Cuando crees un clúster de administradores, asigna el valor 3 a este campo para crear un clúster de administradores de alta disponibilidad.

Ejemplo:

adminMaster:
  replicas: 3

proxy

Si tu red está detrás de un servidor proxy, rellena esta sección. De lo contrario, elimina esta sección o déjala comentada. El servidor proxy que especifiques aquí lo usarán los clústeres de usuarios que gestione este clúster de administrador.
Inmutable

proxy.url

Es obligatorio si se rellena la sección proxy.
Inmutable
Cadena

La dirección HTTP de tu servidor proxy. Incluye el número de puerto aunque sea el mismo que el puerto predeterminado del esquema.

Ejemplo:

proxy:
  url: "http://my-proxy.example.local:80"

El servidor proxy que especifiques aquí lo usarán tus clústeres de Google Distributed Cloud. Además, tu estación de trabajo de administrador se configura automáticamente para usar el mismo servidor proxy, a menos que definas la variable de entorno HTTPS_PROXY en tu estación de trabajo de administrador.

Si especifica proxy.url, también debe especificar proxy.noProxy.

Una vez que se ha definido la configuración del proxy del clúster de administrador, no se puede modificar ni eliminar, a menos que se vuelva a compilar el clúster.

proxy.noProxy

Opcional
Inmutable
Cadena

Lista separada por comas de direcciones IP, intervalos de direcciones IP, nombres de host y nombres de dominio que no deben pasar por el servidor proxy. Cuando Google Distributed Cloud envía una solicitud a una de estas direcciones, hosts o dominios, la solicitud se envía directamente.

Ejemplo:

proxy:
  noProxy: "10.151.222.0/24,my-host.example.local,10.151.2.1"

privateRegistry

Un registro de contenedores privado es un registro en el que solo pueden acceder a las imágenes de contenedor los usuarios autenticados. Rellena esta sección si tus clústeres de usuarios necesitan acceder a imágenes de cargas de trabajo. Cuando configures la sección privateRegistry, todos los clústeres de usuario gestionados por este clúster de administrador extraerán imágenes de cargas de trabajo del registro privado que configures aquí.

Si configuras la sección privateRegistry, cuando ejecutes gkectl prepare antes de crear o actualizar el clúster, gkectl enviará las imágenes del sistema de Google Distributed Cloud al registro privado. Durante la creación o la actualización del clúster, las imágenes del sistema se extraen del registro privado. Si no configuras la sección privateRegistry, las imágenes del sistema se extraerán de gcr.io/gke-on-prem-release mediante la cuenta de servicio de acceso a componentes.

Puede configurar la sección privateRegistry para que los clústeres extraigan imágenes del sistema del registro privado en lugar de gcr.io/gke-on-prem-release en los siguientes casos:

  • Necesitas minimizar las conexiones a Google Cloud por motivos de seguridad o por requisitos normativos.
  • Tu organización requiere que el tráfico saliente pase por un servidor proxy y la velocidad de la red para conectarse a Google Cloud es lenta.

Si quieres usar Artifact Registry de Google como registro privado, consulta los pasos de configuración en Usar Artifact Registry como registro privado para imágenes de cargas de trabajo.

privateRegistry.address

Obligatorio para el registro privado.
Inmutable
Cadena

La dirección IP o el nombre de dominio completo (FQDN) del equipo que ejecuta tu registro privado.

Ejemplos:

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

privateRegistry.credentials.fileRef.path

Obligatorio para el registro privado
Mutable
String

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

Ejemplo:

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

privateRegistry.credentials.fileRef.entry

Obligatorio para el registro privado
Mutable
String

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

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

privateRegistry.caCertPath

Obligatorio para el registro privado
Mutable
String

Cuando el tiempo de ejecución del contenedor extrae una imagen de tu registro privado, el registro debe demostrar su identidad presentando un certificado. El certificado del registro está firmado por una autoridad de certificación (CA). El tiempo de ejecución del contenedor usa el certificado de la AC para validar el certificado del registro.

Define este campo con la ruta del certificado de la CA.

Ejemplo:

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

componentAccessServiceAccountKeyPath

Obligatorio
Mutable
String

Ruta del archivo de clave JSON de tu cuenta de servicio de acceso a componentes.

Ejemplo:

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

gkeConnect

Obligatorio
Mutable

Cuando rellena la sección gkeConnect, el clúster de administrador se registra automáticamente en una flota después de crearse. En esta sección se incluye información sobre el Google Cloud proyecto y la cuenta de servicio necesarios para registrar el clúster.

Durante la creación o actualización del clúster, se configuran varias políticas de RBAC en el clúster de administrador. Estas políticas de control de acceso basado en roles son necesarias para que puedas crear clústeres de usuarios en la consola de Google Cloud .

gkeConnect.projectID

Obligatorio
Inmutable
Cadena

El ID de tu proyecto host de la flota. En el caso de los clústeres nuevos, este ID de proyecto debe ser el mismo que el ID definido en stackdriver.projectID y cloudAuditLogging.projectID. Si los IDs de proyecto no son los mismos, no se podrá crear el clúster. Este requisito no se aplica a los clústeres que ya existen.

Ejemplo:

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

gkeConnect.location

Opcional
Inmutable
Cadena
Valor predeterminado: global

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

  • Los clústeres de administrador creados antes de la versión 1.28 se gestionan mediante los servicios globales de flota y de conexión.

  • En el caso de los clústeres nuevos, si incluyes este campo, la región que especifiques debe ser la misma que la configurada en cloudAuditLogging.clusterLocation, stackdriver.clusterLocation y gkeOnPremAPI.location. Si las regiones no son las mismas, no se podrá crear el clúster.

Ejemplo:

gkeConnect:
  location: "us-central1"

gkeConnect.registerServiceAccountKeyPath

Obligatorio
Mutable
String

La ruta del archivo de clave JSON de tu cuenta de servicio connect-register.

Ejemplo:

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

gkeOnPremAPI

Opcional

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

  • Si quieres registrar todos los clústeres del proyecto en la API de GKE On-Prem, sigue los pasos que se indican en la sección Antes de empezar para activar y usar la API de GKE On-Prem en el proyecto.

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

Al registrar tu clúster de administrador en la API de GKE On-Prem, puedes usar herramientas estándar (la consola, la CLI de Google Cloud o Terraform) para actualizar los clústeres de usuario que gestiona el clúster de administrador. Google Cloud Al registrar tu clúster, también puedes ejecutar comandos de gcloud para obtener información sobre tus clústeres.

Después de añadir esta sección y crear o actualizar el clúster de administrador, si posteriormente quitas la sección y actualizas el clúster, la actualización fallará.

gkeOnPremAPI.enabled

Obligatorio si se incluye la sección gkeOnPremAPI.
Mutable
Boolean
Predeterminado: true

De forma predeterminada, el clúster se registra en la API de GKE On-Prem si esta API está habilitada en tu proyecto. Introduzca false si no quiere registrar el clúster.

Una vez que el clúster se haya registrado en la API GKE On-Prem, si necesitas darlo de baja, haz el siguiente cambio y, a continuación, actualiza el clúster:

gkeOnPremAPI:
  enabled: false

gkeOnPremAPI.location

Inmutable
Cadena
Valor predeterminado:stackdriver.clusterLocation

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

stackdriver

Obligatorio de forma predeterminada
Mutable

Si quieres habilitar Cloud Logging y Cloud Monitoring en tu clúster, rellena esta sección. De lo contrario, elimina esta sección.

Esta sección es obligatoria de forma predeterminada. Es decir, si no incluye esta sección, debe incluir la marca --skip-validation-stackdriver al ejecutar gkectl create admin.

Esta sección es obligatoria en el clúster de administrador si quieres gestionar el ciclo de vida de los clústeres de usuario con clientes de la API GKE On-Prem.

stackdriver.projectID

Obligatorio para Logging y Monitoring
Inmutable
Cadena

El ID de tu proyecto host de la flota. En el caso de los clústeres nuevos, este ID de proyecto debe ser el mismo que el ID definido en gkeConnect.projectID y cloudAuditLogging.projectID. Si los IDs de proyecto no son los mismos, no se podrá crear el clúster. Este requisito no se aplica a los clústeres que ya existen.

Si es necesario, puedes configurar un enrutador de registros en este proyecto para enrutar registros a segmentos de registros de otro proyecto. Para obtener información sobre cómo configurar el logrouter, consulta Destinos admitidos.

Ejemplo:

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

stackdriver.clusterLocation

Obligatorio para Logging y Monitoring
Inmutable
Cadena
Valor predefinido: "us-central1"

La Google Cloud región en la que quiere enrutar y almacenar las métricas de Cloud Monitoring. Te recomendamos que elijas una región que esté cerca de tu centro de datos local.

Puede especificar la ubicación de almacenamiento y enrutamiento de los registros de Cloud Logging en la configuración del enrutador de registros. Para obtener más información sobre el enrutamiento de registros, consulta la descripción general del enrutamiento y el almacenamiento.

El operador de Stackdriver (stackdriver-operator) adjunta el valor de este campo a cada entrada de registro y métrica antes de que se enruten a Google Cloud. Estas etiquetas adjuntas pueden ser útiles para filtrar los registros y las métricas en el explorador de registros y el explorador de métricas, respectivamente.

En el caso de los clústeres nuevos, si incluyes las secciones gkeOnPremAPI y cloudAuditLogging en el archivo de configuración, la región que definas aquí debe ser la misma que definas en cloudAuditLogging.clusterLocation, gkeConnect.location y gkeOnPremAPI.location. Si las regiones no son las mismas, no se podrá crear el clúster.

Ejemplo:

stackdriver:
  clusterLocation: "us-central1"

stackdriver.enableVPC

Opcional
Inmutable
Booleano
Valor predeterminado: false

Si la red de tu clúster está controlada por una VPC, asigna el valor true. De esta forma, se asegura de que toda la telemetría fluya a través de las direcciones IP restringidas de Google. De lo contrario, asigna el valor false.

Ejemplo:

stackdriver:
  enableVPC: false

stackdriver.serviceAccountKeyPath

Obligatorio para Logging y Monitoring.
Mutable
String

Ruta del archivo de clave JSON de tu cuenta de servicio de registro y monitorización.

Para obtener información sobre cómo actualizar este campo en un clúster, consulta Rotar claves de cuentas de servicio.

Ejemplo:

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

stackdriver.disableVsphereResourceMetrics

Opcional
Mutable
Relevante para el registro y la monitorización
Booleano
Valor predefinido: false
Valor predeterminado: false

Asigna el valor true para inhabilitar la recogida de métricas de vSphere. De lo contrario, asigna el valor false.

Esta sección es obligatoria en el clúster de administrador si quieres gestionar el ciclo de vida de los clústeres de usuario con clientes de la API GKE On-Prem.

Ejemplo:

stackdriver:
  disableVsphereResourceMetrics: true

cloudAuditLogging

Si quieres integrar los registros de auditoría del servidor de la API de Kubernetes de tu clúster con los registros de auditoría de Cloud, rellena esta sección. De lo contrario, elimina esta sección o déjala comentada.
Mutable

Esta sección es obligatoria en el clúster de administrador si quieres gestionar el ciclo de vida de los clústeres de usuario con clientes de la API GKE On-Prem.

cloudAuditLogging.projectID

Obligatorio para los registros de auditoría de Cloud
Inmutable
Cadena

El ID de tu proyecto host de la flota. En el caso de los clústeres nuevos, este ID de proyecto debe ser el mismo que el ID definido en gkeConnect.projecID y stackdriver.projectID. Si los IDs de proyecto no son los mismos, no se podrá crear el clúster. Este requisito no se aplica a los clústeres que ya existen.

Si es necesario, puedes configurar un enrutador de registros en este proyecto para enrutar registros a segmentos de registros de otro proyecto. Para obtener información sobre cómo configurar el logrouter, consulta Destinos admitidos.

Ejemplo:

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

cloudAuditLogging.clusterLocation

Obligatorio para los registros de auditoría de Cloud
Inmutable
Cadena

La Google Cloud región en la que quieres almacenar los registros de auditoría. Es recomendable elegir una región que esté cerca de tu centro de datos local.

En el caso de los clústeres nuevos, si incluyes las secciones gkeOnPremAPI y stackdriver en el archivo de configuración, la región que definas aquí debe ser la misma que definas en gkeConnect.location, gkeOnPremAPI.location y stackdriver.clusterLocation. Si las regiones no son las mismas, no se podrá crear el clúster.

Ejemplo:

cloudAuditLogging:
  clusterLocation: "us-central1"

cloudAuditLogging.serviceAccountKeyPath

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

Ruta del archivo de clave JSON de tu cuenta de servicio de registro de auditoría.

Para obtener información sobre cómo actualizar este campo en un clúster, consulta Rotar claves de cuentas de servicio.

Ejemplo:

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

clusterBackup.datastore

Vista previa
Opcional
Mutable
Cadena

Si quieres habilitar la creación de copias de seguridad del clúster de administrador, asigna a este campo el almacén de datos de vSphere en el que quieras guardar las copias de seguridad del clúster.

Ejemplo:

clusterBackup:
  datastore: "my-datastore"

autoRepair.enabled

Opcional
Mutable
Booleano
Valor predefinido: true

Defínelo en true para habilitar la reparación automática de nodos. De lo contrario, asigna el valor false.

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

Ejemplo:

autoRepair:
  enabled: true

secretsEncryption

Si quieres cifrar secretos sin necesidad de un KMS (servicio de gestión de claves) externo ni de ninguna otra dependencia, rellena esta sección. De lo contrario, elimina esta sección o déjala comentada.
Inmutable

secretsEncryption.mode

Obligatorio para el cifrado de secretos
Inmutable
Cadena
Valor posible: "GeneratedKey"
Valor predefinido: "GeneratedKey"

El modo de cifrado de secretos.

secretsEncryption:
  mode: "GeneratedKey"

secretsEncryption.generatedKey.keyVersion

Obligatorio para el cifrado de secretos
Mutable
Integer
Prepopulated: 1

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

Ejemplo:

secretsEncryption:
  generatedKey:
    keyVersion: 1

secretsEncryption.generatedKey.disabled

Opcional para el cifrado de secretos
Mutable
Booleano
Valor predeterminado: false

Asigna el valor true para inhabilitar el cifrado de secretos. De lo contrario, asigna el valor false.

Ejemplo:

secretsEncryption:
  generatedKey:
    disabled: false

osImageType

Opcional
Mutable
String
Valores posibles: "ubuntu_containerd", "cos", "ubuntu_cgv2", "cos_cgv2"
Valor predefinido: ""
Valor predeterminado: "ubuntu_containerd"

Tipo de imagen de SO que se ejecutará en los nodos del clúster de administrador.

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

Ejemplo:

osImageType: "cos"