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
ygkeOnPremAPI.location
. Si las regiones no son las mismas, no se podrá crear el clúster.
Ejemplo:
gkeConnect: location: "us-central1"
gkeConnect.registerServiceAccountKeyPath
Obligatorio
Mutable
String
La ruta del archivo de clave JSON de tu cuenta de servicio connect-register.
Ejemplo:
gkeConnect: registerServiceAccountKeyPath: "my-key-folder/connect-register-key.json"
gkeOnPremAPI
Opcional
En la versión 1.16 y posteriores, si la API GKE On-Prem está habilitada en tu
Google Cloud proyecto, todos los clústeres del proyecto se
registran en la API GKE On-Prem
automáticamente en la región configurada en stackdriver.clusterLocation
.
Si quieres registrar todos los clústeres del proyecto en la API de GKE On-Prem, sigue los pasos que se indican en la sección Antes de empezar para activar y usar la API de GKE On-Prem en el proyecto.
Si no quieres registrar el clúster en la API GKE On-Prem, incluye esta sección y asigna el valor
false
agkeOnPremAPI.enabled
. Si no quieres registrar ningún clúster en el proyecto, inhabilitagkeonprem.googleapis.com
(el nombre del servicio de la API de GKE On-Prem) en el proyecto. Para obtener instrucciones, consulta Inhabilitar servicios.
Al registrar tu clúster de administrador en la API de GKE On-Prem, puedes usar herramientas estándar (la consola, la CLI de Google Cloud o Terraform) para actualizar los clústeres de usuario que gestiona el clúster de administrador. Google Cloud Al registrar tu clúster, también puedes ejecutar comandos de gcloud
para obtener información sobre tus clústeres.
Después de añadir esta sección y crear o actualizar el clúster de administrador, si posteriormente quitas la sección y actualizas el clúster, la actualización fallará.
gkeOnPremAPI.enabled
Obligatorio si se incluye la sección gkeOnPremAPI
.
Mutable
Boolean
Predeterminado: true
De forma predeterminada, el clúster se registra en la API de GKE On-Prem si esta API está habilitada en tu proyecto. Introduzca false
si no quiere registrar el clúster.
Una vez que el clúster se haya registrado en la API GKE On-Prem, si necesitas darlo de baja, haz el siguiente cambio y, a continuación, actualiza el clúster:
gkeOnPremAPI: enabled: false
gkeOnPremAPI.location
Inmutable
Cadena
Valor predeterminado:stackdriver.clusterLocation
La Google Cloud región en la que se ejecuta la API de GKE On-Prem y almacena los metadatos del clúster. Elige una de las regiones admitidas.
Debes usar la misma región que se haya configurado en cloudAuditLogging.clusterLocation
, gkeConnect.location
y stackdriver.clusterLocation
. Si gkeOnPremAPI.enabled
es false
, no incluyas este campo.
stackdriver
Obligatorio de forma predeterminada
Mutable
Si quieres habilitar Cloud Logging y Cloud Monitoring en tu clúster, rellena esta sección. De lo contrario, elimina esta sección.
Esta sección es obligatoria de forma predeterminada. Es decir, si no incluye esta sección, debe incluir la marca --skip-validation-stackdriver
al ejecutar gkectl create admin
.
Esta sección es obligatoria en el clúster de administrador si quieres gestionar el ciclo de vida de los clústeres de usuario con clientes de la API GKE On-Prem.
stackdriver.projectID
Obligatorio para Logging y Monitoring
Inmutable
Cadena
El ID de tu proyecto host de la flota.
En el caso de los clústeres nuevos, este ID de proyecto debe ser el mismo que el ID definido en gkeConnect.projectID
y cloudAuditLogging.projectID
. Si los IDs de proyecto no son los mismos, no se podrá crear el clúster. Este requisito no se aplica a los clústeres que ya existen.
Si es necesario, puedes configurar un enrutador de registros en este proyecto para enrutar registros a segmentos de registros de otro proyecto. Para obtener información sobre cómo configurar el logrouter, consulta Destinos admitidos.
Ejemplo:
stackdriver: projectID: "my-fleet-host-project"
stackdriver.clusterLocation
Obligatorio para Logging y Monitoring
Inmutable
Cadena
Valor predefinido: "us-central1"
La Google Cloud región en la que quiere enrutar y almacenar las métricas de Cloud Monitoring. Te recomendamos que elijas una región que esté cerca de tu centro de datos local.
Puede especificar la ubicación de almacenamiento y enrutamiento de los registros de Cloud Logging en la configuración del enrutador de registros. Para obtener más información sobre el enrutamiento de registros, consulta la descripción general del enrutamiento y el almacenamiento.
El operador de Stackdriver (stackdriver-operator
) adjunta el valor de este campo a cada entrada de registro y métrica antes de que se enruten a Google Cloud. Estas etiquetas adjuntas pueden ser útiles para filtrar los registros y las métricas en el explorador de registros y el explorador de métricas, respectivamente.
En el caso de los clústeres nuevos, si incluyes las secciones gkeOnPremAPI
y cloudAuditLogging
en el archivo de configuración, la región que definas aquí debe ser la misma que definas en cloudAuditLogging.clusterLocation
, gkeConnect.location
y gkeOnPremAPI.location
. Si las regiones no son las mismas, no se podrá crear el clúster.
Ejemplo:
stackdriver: clusterLocation: "us-central1"
stackdriver.enableVPC
Opcional
Inmutable
Booleano
Valor predeterminado: false
Si la red de tu clúster está controlada por una VPC, asigna el valor true
.
De esta forma, se asegura de que toda la telemetría fluya a través de las direcciones IP restringidas de Google.
De lo contrario, asigna el valor false
.
Ejemplo:
stackdriver: enableVPC: false
stackdriver.serviceAccountKeyPath
Obligatorio para Logging y Monitoring.
Mutable
String
Ruta del archivo de clave JSON de tu cuenta de servicio de registro y monitorización.
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"