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
Haz clic para ver la plantilla generada.
apiVersion: v1 kind: AdminCluster # (Optional) A unique name for this admin cluster. This will default to a random name # prefixed with 'gke-admin-' name: "" # (Required) Absolute path to a GKE bundle on disk bundlePath: "" # # (Optional/Preview) Specify the prepared secret configuration which can be added # # or edited only during cluster creation # preparedSecrets: # # enable prepared credentials for the admin cluster; it is immutable # enabled: false # (Required) vCenter configuration vCenter: address: "" datacenter: "" cluster: "" # Resource pool to use. Specify [VSPHERE_CLUSTER_NAME]/Resources to use the default # resource pool resourcePool: "" # Storage policy to use for cluster VM storage and default StorageClass. Do not # specify it together with datastore storagePolicyName: "" # # Datastore to use for cluster VM storage and default StorageClass. Do not specify # # it together with storagePolicyName # datastore: "" # Provide the path to vCenter CA certificate pub key for SSL verification caCertPath: "" # The credentials to connect to vCenter credentials: # reference to external credentials file fileRef: # read credentials from this file path: "" # entry in the credential file entry: "" # (Optional) vSphere folder where cluster VMs will be located. Defaults to the the # datacenter wide folder if unspecified. folder: "" # # (Only used in 1.16 and older versions for non-HA admin cluster) Provide the name # # for the persistent disk to be used by the deployment (ending in .vmdk). Any directory # # in the supplied path must be created before deployment. Required for non-HA admin # # cluster. Invalid for HA admin cluster as the path is generated automatically under # # the root directory "anthos" in the specified datastore. # dataDisk: "" # (Required) Network configuration network: # (Required when using "static" ipMode.type; or "Seesaw" loadBalancer.kind; or using # amdin cluster HA mode) This section overrides ipMode.ipBlockFilePath values when # ipMode.type=static. It's also used for seesaw nodes hostConfig: # List of DNS servers dnsServers: - "" # List of NTP servers ntpServers: - "" # # List of DNS search domains # searchDomainsForDNS: # - "" ipMode: # (Required) Define what IP mode to use ("dhcp" or "static") type: static # (Required when using "static" mode) The absolute or relative path to the yaml # file to use for static IP allocation. Hostconfig part will be overwritten by # network.hostconfig if specified ipBlockFilePath: "" # (Required) The Kubernetes service CIDR range for the cluster. Must not overlap # with the pod CIDR range serviceCIDR: 10.96.232.0/24 # (Required) The Kubernetes pod CIDR range for the cluster. Must not overlap with # the service CIDR range podCIDR: 192.168.0.0/16 vCenter: # vSphere network name networkName: "" # (Required for HA admin cluster) Specify the IPs to use for control plane machines # for HA admin cluster. controlPlaneIPBlock: netmask: "" gateway: "" ips: - ip: "" hostname: "" - ip: "" hostname: "" - ip: "" hostname: "" # (Required) Load balancer configuration loadBalancer: # (Required) The VIPs to use for load balancing vips: # Used to connect to the Kubernetes API controlPlaneVIP: "" # (Required) Which load balancer to use "F5BigIP" "Seesaw" "ManualLB" or "MetalLB". # Uncomment the corresponding field below to provide the detailed spec kind: MetalLB # # (Required when using "ManualLB" kind) Specify pre-defined nodeports # manualLB: # # NodePort for ingress service's http (only needed for user cluster) # ingressHTTPNodePort: 0 # # NodePort for ingress service's https (only needed for user cluster) # ingressHTTPSNodePort: 0 # # NodePort for konnectivity server service (only needed for controlplane v1 user # # cluster) # konnectivityServerNodePort: 0 # # NodePort for control plane service (not needed for HA admin cluster or controlplane # # V2 user cluster) # controlPlaneNodePort: 30968 # # (Required when using "F5BigIP" kind) Specify the already-existing partition and # # credentials # f5BigIP: # address: "" # credentials: # # reference to external credentials file # fileRef: # # read credentials from this file # path: "" # # entry in the credential file # entry: "" # partition: "" # # # (Optional) Specify a pool name if using SNAT # # snatPoolName: "" # # (Only used in 1.16 and older versions for using "Seesaw" kind) Specify the Seesaw # # configs # seesaw: # # (Required) The absolute or relative path to the yaml file to use for IP allocation # # for LB VMs. Must contain one or two IPs. Hostconfig part will be overwritten by # # network.hostconfig if specified. # ipBlockFilePath: "" # # (Required) The Virtual Router IDentifier of VRRP for the Seesaw group. Must be # # between 1-255 and unique in a VLAN. # vrid: 0 # # (Required) The IP announced by the master of Seesaw group # masterIP: "" # # (Required) The number CPUs per machine # cpus: 2 # # (Required) Memory size in MB per machine # memoryMB: 3072 # # (Optional) Network that the LB interface of Seesaw runs in (default: cluster network) # vCenter: # # vSphere network name # networkName: "" # # (Optional) Run two LB VMs to achieve high availability (default: false) # enableHA: false # # (Optional) Avoid using VRRP MAC and rely on gratuitous ARP to do failover. In # # this mode MAC learning is not needed but the gateway must refresh arp table based # # on gratuitous ARP. It's recommended to turn this on to avoid MAC learning configuration. # # In vsphere 7+ it must be true to enable HA. It is supported in GKE on-prem version # # 1.7+. (default: false) # disableVRRPMAC: true # Spread admin addon nodes and user masters across different physical hosts (requires # at least three hosts) antiAffinityGroups: # Set to false to disable DRS rule creation enabled: true # Specify the admin master node configuration (default: 4 CPUs; 16384 MB memory; 3 # replicas). The replicas field has to be 3 for new admin cluster creation adminMaster: cpus: 4 memoryMB: 16384 # How many machines of this type to deploy replicas: 3 # # (Only used in 1.16 and older versions) Specify the addon node configuration which # # can be added or edited only during cluster creation # addonNode: # # Enable auto resize for addon node # autoResize: # # Whether to enable auto resize for master. Defaults to false. # enabled: false # (Optional) Specify the proxy configuration proxy: # The URL of the proxy url: "" # The domains and IP addresses excluded from proxying noProxy: "" # # (Optional) Use a private registry to host GKE images # privateRegistry: # # Do not include the scheme with your registry address # address: "" # credentials: # # reference to external credentials file # fileRef: # # read credentials from this file # path: "" # # entry in the credential file # entry: "" # # The absolute or relative path to the CA certificate for this registry # caCertPath: "" # (Required): The absolute or relative path to the GCP service account key for pulling # GKE images componentAccessServiceAccountKeyPath: "" # (Required) Specify which GCP project to register your GKE OnPrem cluster to gkeConnect: projectID: "" # # (Optional) The location of the GKE Hub and Connect service where the cluster is # # registered to. It can be any GCP region or "global". Default to "global" when unspecified. # location: us-central1 # The absolute or relative path to the key file for a GCP service account used to # register the cluster registerServiceAccountKeyPath: "" # # (Optional) Specify if you wish to explicitly enable/disable the cloud hosted gkeonprem # # API to enable/disable cluster lifecycle management from gcloud UI and Terraform. # gkeOnPremAPI: # enabled: false # (Required) Specify which GCP project to connect your logs and metrics to stackdriver: # The project ID for logs and metrics. It should be the same with gkeconnect.projectID. projectID: "" # A GCP region where you would like to store logs and metrics for this cluster. clusterLocation: us-central1 enableVPC: false # The absolute or relative path to the key file for a GCP service account used to # send logs and metrics from the cluster serviceAccountKeyPath: "" # (Optional) Disable vsphere resource metrics collection from vcenter. False by # default disableVsphereResourceMetrics: false # (Optional) Configure kubernetes apiserver audit logging cloudAuditLogging: # The project ID for logs and metrics. It should be the same with gkeconnect.projectID. projectID: "" # A GCP region where you would like to store audit logs for this cluster. clusterLocation: us-central1 # The absolute or relative path to the key file for a GCP service account used to # send audit logs from the cluster serviceAccountKeyPath: "" # # (Optional/Preview) Configure backups for admin cluster. Backups will be stored under # #/anthos-backups/. # clusterBackup: # # # datastore where admin cluster backups are desired # # datastore: "" # Enable auto repair for the cluster autoRepair: # Whether to enable auto repair feature. Set false to disable. enabled: true # # Encrypt Kubernetes secrets at rest # secretsEncryption: # # Secrets Encryption Mode. Possible values are: GeneratedKey # mode: GeneratedKey # # GeneratedKey Secrets Encryption config # generatedKey: # # # key version # # keyVersion: 1 # # # disable secrets encryption # # disabled: false # (Optional) Specify the type of OS image; available options can be set to "ubuntu_containerd" # "cos" "ubuntu_cgv2" or "cos_cgv2". Default is "ubuntu_containerd". osImageType: ubuntu_cgv2
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"