En este documento, se describen los campos del archivo de configuración del clúster de administrador para la versión 1.29 de Google Distributed Cloud.
Genera una plantilla para tu archivo de configuración
Si usaste gkeadm
a fin de crear tu estación de trabajo de administrador, gkeadm
generó una plantilla para tu archivo de configuración 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 la versión completa de una versión de parche 1.29. Por ejemplo: gkectl create-config admin --gke-on-prem-version=1.29.100-gke.248
Esta versión debe ser igual o anterior a tu versión de gkectl
. Si omites esta marca, la plantilla de configuración generada se propaga con valores basados en el último parche 1.29.
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
String
Es la ruta de acceso del archivo de paquete de Google Distributed Cloud.
El archivo de paquete completo de Google Distributed Cloud contiene todos los componentes de una versión particular de Google Distributed Cloud. 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"
preparedSecrets.enabled
Vista previa
Opcional
Inmutable
Booleano
Prepropagado: falso
Predeterminado: falso
Configúralo en true
si deseas usar credenciales preparadas en el clúster de administrador. De lo contrario, configúralo como false
.
Ejemplo:
preparedSecrets: enabled: true
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 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 de acceso relativa que incluye una o más carpetas junto con el nombre del centro de datos.
Ejemplo:
vCenter: datacenter: "data-centers/data-center-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 VMs del clúster de administrador.
Si deseas usar el grupo de recursos predeterminado, establece esto en VSPHERE_CLUSTER/Resources
.
Ejemplo:
vCenter: resourcePool: "my-vsphere-cluster/Resources"
Si deseas usar un grupo de recursos que ya creaste, establece la ruta de acceso relativa de tu grupo de recursos.
El valor que especificas está relacionado con /.../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"
De lo contrario, el valor es una ruta de acceso relativa que tiene dos o más grupos de recursos.
Ejemplo:
vCenter: resourcePool: "resource-pool-1/resource-pool-2"
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"
Si especificas un valor en este campo, no especifiques un valor para vCenter.storagePolicyName
.
vCenter.storagePolicyName
Opcional
string
Es el nombre de una política de almacenamiento de VM para los nodos del clúster.
El clúster de administrador debe tener alta disponibilidad (HA) para funcionar con la política de almacenamiento.
Para obtener más información, consulta Configura una política de almacenamiento.
Si especificas un valor en este campo, no especifiques un valor para vCenter.datastore
.
vCenter.caCertPath
Obligatorio
Mutable
String
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
String
Predeterminado: la carpeta de todo el centro de datos
La ruta de acceso relativa a una carpeta de vSphere que ya creaste. Esta carpeta contendrá las VMs del clúster de administrador.
Si no especificas un valor, las VM del clúster de administrador se colocarán en /.../DATA_CENTER/vm/
.
Si especificas un valor, este es relativo a /.../DATA_CENTER/vm/
.
El valor puede ser el nombre de una carpeta.
Ejemplo:
vCenter: folder: "my-folder"
O bien, el valor puede ser una ruta de acceso relativa que incluya más de una carpeta.
Ejemplo:
vCenter: folder: "folders/folder-1"
vCenter.dataDisk
No proporciones un valor para este campo. Borra el campo o déjalo en el comentario.
network
Obligatorio
Inmutable
En esta sección, se incluye información sobre la red de clústeres de administrador.
network.hostConfig
Obligatorio
Inmutable
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.
network.hostConfig.dnsServers
Obligatorio si se completó 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
Obligatorio si se completó 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
String
Prepropagado: “estático”
Predeterminado: “dhcp”
Si deseas que los nodos del clúster obtengan la dirección IP de un servidor DHCP, configura esto como "dhcp"
. Si quieres que los nodos del clúster tengan direcciones IP estáticas seleccionadas de una lista que proporciones, configura esto como "static"
.
Ejemplo:
network: ipMode: type: "static"
network.ipMode.ipBlockFilePath
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
String
El menor rango posible: /24
El rango más grande posible: /12
Prepropagado: "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
String
El menor rango posible: /18
El rango más grande posible: /8
Prepropagado: "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
Recomendamos que los rangos de tu Service y Pod estén en el espacio de direcciones RFC 1918.
Esta es una razón para que la recomendación use direcciones RFC 1918. Supongamos que tu rango de Pod o Service contiene direcciones IP externas. Cualquier tráfico enviado desde un Pod a una de esas direcciones externas se tratará como tráfico en el clúster y no llegará al destino externo.
network.vCenter.networkName
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
Requeridos
network.controlPlaneIPBlock.netmask
Obligatorio
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
Obligatorio
Inmutable
String
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
Obligatorio
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.kind
Obligatorio
Inmutable
String
Prepropagado: “MetalLB”
String. Establece esto como "ManualLB"
, "F5BigIP"
o "MetalLB"
.
Para habilitar funciones nuevas y avanzadas, te recomendamos que uses "ManualLB"
si tienes un balanceador de cargas de terceros (como BIG-IP de F5 o Citrix) o "MetalLB"
para nuestra solución integrada.
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.f5BigIP
Si configuras loadbalancer.kind
como "f5BigIP"
, completa esta sección. De lo contrario, quita esta sección.
Si deseas habilitar funciones nuevas y avanzadas, te recomendamos que configures el balanceo de cargas manual para el balanceador de cargas BIG-IP de F5. Para habilitar el balanceo de cargas manual, establece loadbalancer.kind
en "ManualLB"
y completa la sección loadBalancer.manualLB
. Para obtener más información, consulta Habilita el modo de balanceo de cargas manual.
Si tienes un balanceador de cargas F5-BIG-IP existente y la configuración del clúster usa esta sección, después de actualizar a la versión 1.29 o superior, te recomendamos que migres al balanceo de cargas manual.
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 Google Distributed Cloud puede usar para conectarse al balanceador de cargas BIG-IP de F5.
La cuenta de usuario debe tener una función del usuario con los 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
No uses esta sección. El balanceador de cargas de Seesaw no es compatible con los clústeres de administrador nuevos de la versión 1.28 y posteriores. En su lugar, te recomendamos que configures el balanceador de cargas de MetalLB para los clústeres de administrador nuevos. Para obtener más información sobre la configuración de MetalLB, consulta Balanceo de cargas empaquetado con MetalLB.
Aunque seguimos compatibles con Seesaw para los clústeres de administrador sin alta disponibilidad que se actualizaron, te recomendamos que migres a MetalLB.
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
, Google Distributed Cloud 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 de tu centro de datos.
Para esta función, se requiere que el entorno de vSphere cumpla con las siguientes condiciones:
DRS de VMware debe estar habilitado. Para DRS de VMware, se requiere la edición de licencia vSphere Enterprise Plus.
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 estén distribuidos en tres hosts ESXi, te recomendamos que tengas al menos cuatro hosts ESXi disponibles. Esto te protege de perder 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 del clúster de administrador se encuentra en un host de ESXi con errores. 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
Inmutable
Configuración de los nodos del plano de control en el clúster de administrador.
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: 16384
Valor predeterminado: 16384
Es la cantidad de mebibytes de memoria para cada nodo del plano de control en el clúster de administrador.
Ejemplo:
adminMaster: memoryMB: 16384
adminMaster.replicas
Obligatorio para los clústeres nuevos
Inmutable
Número entero
Valores posibles: 3
La cantidad de nodos del plano de control en el clúster de administrador. Cuando crees un clúster de administrador nuevo, establece este campo en 3
para crear un clúster de administrador de alta disponibilidad (HA).
Ejemplo:
adminMaster: replicas: 3
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. El servidor proxy que especifiques aquí es utilizado por los clústeres de usuario que administra este clúster de administrador.
Inmutable
proxy.url
Obligatorio si se completó 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 Google Distributed Cloud usarán el servidor proxy que especifiques 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 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
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 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 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
Es el nombre del bloque de credenciales de 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
String
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 su creación. 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.
Para los clústeres nuevos, este ID del proyecto debe ser el mismo que el ID configurado en stackdriver.projectID
y cloudAuditLogging.projectID
. Si los IDs del proyecto no son los mismos, la creación del clúster fallará. Este requisito no se aplica a los clústeres existentes.
Ejemplo:
gkeConnect: projectID: "my-fleet-host-project"
gkeConnect.location
Opcional
Inmutable
String
Predeterminado: global
El servicio de flota (gkehub.googleapis.com
) y el servicio de Connect (gkeconnect.googleapis.com
) administran la membresía de la flota de cada clúster. La ubicación de los servicios puede ser global o regional. En la versión 1.28 y posteriores, tienes la opción de especificar la región de Google Cloud en la que se ejecutan la flota y los servicios de Connect. Si no se especifica, se usan las instancias globales de los servicios. Ten en cuenta lo siguiente:
Los servicios globales de Fleet y Connect administran los clústeres de administrador creados antes de la versión 1.28.
Para los clústeres nuevos, si incluyes este campo, la región que especifiques debe ser la misma que la región configurada en
cloudAuditLogging.clusterLocation
,stackdriver.clusterLocation
ygkeOnPremAPI.location
. Si las regiones no son las mismas, la creación del clúster fallará.
Ejemplo:
gkeConnect: location: "us-central1"
gkeConnect.registerServiceAccountKeyPath
Obligatorio
Mutable
String
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
En la versión 1.16 y posteriores, si la API de GKE On-Prem está habilitada en tu proyecto de Google Cloud, todos los clústeres del proyecto se inscriben en la API de GKE On-Prem de forma automática en la región configurada en stackdriver.clusterLocation
.
Si deseas inscribir todos los clústeres del proyecto en la API de GKE On-Prem, asegúrate de seguir los pasos que se indican en Antes de comenzar para activar y usar la API de GKE On-Prem en el proyecto.
Si no deseas inscribir el clúster en la API de GKE On-Prem, incluye esta sección y configura
gkeOnPremAPI.enabled
comofalse
. Si no deseas inscribir ningún clúster en el proyecto, inhabilitagkeonprem.googleapis.com
(el nombre del servicio para la API de GKE On-Prem) en el proyecto. Para obtener instrucciones, consulta Inhabilita los servicios.
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.
Después de agregar esta sección y crear o actualizar el clúster de administrador, si luego quitas la sección y actualizas el clúster, la actualización fallará.
gkeOnPremAPI.enabled
Es obligatorio si se incluye la sección gkeOnPremAPI
.
Mutable
Booleano
Predeterminado: true
De forma predeterminada, el clúster está inscrito en la API de GKE On-Prem si esta última está habilitada en tu proyecto. Configúralo en false
si no deseas inscribir el clúster.
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, actualiza el clúster:
gkeOnPremAPI: enabled: false
gkeOnPremAPI.location
Inmutable
String
Predeterminado:stackdriver.clusterLocation
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.
Debes usar la misma región que está configurada en cloudAuditLogging.clusterLocation
, gkeConnect.location
y stackdriver.clusterLocation
. Si gkeOnPremAPI.enabled
es false
, no incluyas este campo.
stackdriver
Obligatorio de forma predeterminada
Mutable
Si deseas habilitar Cloud Logging y Cloud Monitoring para tu clúster, completa esta sección. De lo contrario, quita esta sección.
Esta sección es obligatoria de forma predeterminada. Es decir, si no incluyes esta sección, debes incluir la marca --skip-validation-stackdriver
cuando ejecutes gkectl create admin
.
Esta sección es obligatoria en el clúster de administrador si quieres administrar el ciclo de vida de los clústeres de usuarios que usan clientes de la API de GKE On-Prem.
stackdriver.projectID
Obligatorio para Logging y Monitoring
Inmutable
String
El ID del proyecto host de tu flota.
Para los clústeres nuevos, este ID del proyecto debe ser el mismo que el ID configurado en gkeConnect.projectID
y cloudAuditLogging.projectID
. Si los IDs del proyecto no son los mismos, la creación del clúster fallará. Este requisito no se aplica a los clústeres existentes.
Si es necesario, puedes configurar un enrutador de registros en este proyecto para enrutarlos a buckets de registros en otro proyecto. Para obtener información sobre cómo configurar el enrutador de registros, consulta Destinos compatibles.
Ejemplo:
stackdriver: projectID: "my-fleet-host-project"
stackdriver.clusterLocation
Obligatorio para Logging y Monitoring
Inmutable
String
Prepropagado: “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.
Para los clústeres nuevos, si incluyes las secciones gkeOnPremAPI
y cloudAuditLogging
en el archivo de configuración, la región que establezcas aquí debe ser la misma que configuraste en cloudAuditLogging.clusterLocation
, gkeConnect.location
y gkeOnPremAPI.location
. Si las regiones no son las mismas, la creación del clúster fallará.
Ejemplo:
stackdriver: clusterLocation: "us-central1"
stackdriver.enableVPC
Opcional
Inmutable
Booleano
Prepropagado: falso
Si la red del clúster está controlada por una VPC, establece este campo en true
.
Esto garantiza que toda la telemetría fluya a través de las direcciones IP restringidas de Google.
De lo contrario, configúralo como false
.
Ejemplo:
stackdriver: enableVPC: false
stackdriver.serviceAccountKeyPath
Obligatorio para Logging y Monitoring
Mutable
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
Predeterminado: falso
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 quieres administrar el ciclo de vida de los clústeres de usuarios que usan clientes de la API de GKE On-Prem.
cloudAuditLogging.projectID
Obligatorio para los Registros de auditoría de Cloud
Inmutable
String
El ID de tu proyecto host de flota.
Para los clústeres nuevos, este ID del proyecto debe ser el mismo que el ID configurado en gkeConnect.projecID
y stackdriver.projectID
. Si los IDs del proyecto no son los mismos, la creación del clúster fallará. Este requisito no se aplica a los clústeres existentes.
Si es necesario, puedes configurar un enrutador de registros en este proyecto para enrutarlos a buckets de registros en otro proyecto. Para obtener información sobre cómo configurar el enrutador de registros, consulta Destinos compatibles.
Ejemplo:
cloudAuditLogging: projectID: "my-fleet-host-project"
cloudAuditLogging.clusterLocation
Obligatorio para los Registros de auditoría de Cloud
Inmutable
String
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.
Para los clústeres nuevos, si incluyes las secciones gkeOnPremAPI
y stackdriver
en el archivo de configuración, la región que establezcas aquí debe ser la misma que configuraste en gkeConnect.location
, gkeOnPremAPI.location
y stackdriver.clusterLocation
. Si las regiones no son las mismas, la creación del clúster fallará.
Ejemplo:
cloudAuditLogging: clusterLocation: "us-central1"
cloudAuditLogging.serviceAccountKeyPath
Obligatorio para los Registros de auditoría de Cloud
Mutable
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.
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”
Prepropagado: “GeneratedKey”
El modo de encriptación de Secret.
secretsEncryption: mode: "GeneratedKey"
secretsEncryption.generatedKey.keyVersion
Obligatorio para la encriptación de Secrets
Mutable
Número entero
Prepropagado: 1
Un número entero que elijas para el número de versión de la clave. Te recomendamos que comiences con 1
.
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
Mutable
String
Valores posibles: “ubuntu_containerd”, “cos”, “ubuntu_cgv2”, “cos_cgv2”
Prepropagado: “ubuntu_cgv2”
Valor predeterminado: “ubuntu_containerd”
El 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"