En esta página, se describen los campos en el archivo de configuración del clúster de administrador para los clústeres de Anthos alojados en VMware (GKE On-Prem).
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
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.
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.
bundlePath
String. La ruta de acceso del archivo de paquete de los clústeres de Anthos alojados en VMware.
El archivo de paquete completo de clústeres de Anthos alojados en VMware contiene todos los componentes de una versión particular de los clústeres de Anthos alojados en VMware. Cuando creas una estación de trabajo de administrador, se incluye un paquete completo en la siguiente ubicación.
/var/lib/gke/bundles/gke-onprem-vsphere-VERSION-full.tgz
Por ejemplo:
bundlePath: "/var/lib/gke/bundles/gke-onprem-vsphere-1.6.0-gke.7-full.tgz"
vCenter
En esta sección, se incluye información sobre el entorno de vCenter.
vCenter.address
String. Es la dirección IP o el nombre de host de vCenter Server.
Antes de completar el campo address
, descarga e inspecciona el certificado de entrega de vCenter Server. Ingresa el siguiente comando para descargar el certificado y guardarlo en un archivo llamado vcenter.pem
.
true | openssl s_client -connect VCENTER_IP:443 -showcerts 2>/dev/null | sed -ne '/-BEGIN/,/-END/p' > vcenter.pem
Reemplaza VCENTER_IP
por la dirección IP de tu servidor de vCenter.
Abre el archivo de certificado para ver el nombre común y el alternativo de la entidad:
openssl x509 -in vcenter.pem -text -noout
En el resultado, se muestra el nombre común (CN) de Subject
. Este puede ser una dirección IP o un nombre de host. Por ejemplo:
Subject: ... CN = 203.0.113.100
Subject: ... CN = my-vcenter-server.my-domain.example
Puede que, en el resultado, también se incluyan uno o más nombres de DNS en Subject Alternative Name
:
X509v3 Subject Alternative Name: DNS:vcenter.my-domain.example
Elige el nombre común de Subject
o uno de los nombres de DNS en Subject Alternative Name
para usarlo como el valor de vcenter.address
en el archivo de configuración. Por ejemplo:
vCenter: address: "203.0.113.100"
vCenter: address: "my-vcenter-server.my-domain.example"
vCenter.datacenter
String. Es el nombre del centro de datos de vCenter. Por ejemplo:
vCenter: datacenter: "MY-DATACENTER"
vCenter.folder
String. Es el nombre de la carpeta de vCenter en la que se ubicarán las VM del clúster. Por ejemplo:
vCenter: folder: "MY-FOLDER"
vCenter.cluster
String. Es el nombre del clúster de vCenter. Por ejemplo:
vCenter: cluster: "MY-CLUSTER"
vCenter.resourcePool
String. Es el nombre del grupo de recursos de vCenter. Por ejemplo:
Si no usas un grupo de recursos predeterminado, proporciona el nombre del grupo de recursos de vCenter. Por ejemplo:
vCenter: resourcePool: "MY-POOL"
Si usas el grupo de recursos predeterminado, proporciona el siguiente valor:
vCenter: resourcePool: "VCENTER_CLUSTER/Resources"
Reemplaza VCENTER_CLUSTER
por el nombre del clúster de vCenter.
vCenter.datastore
String. Es el nombre del almacén de datos de vCenter. Por ejemplo:
vCenter: datastore: "MY-DATASTORE"
Consulta Specifying the root resource pool for a standalone host (Especifica el grupo de recursos raíz de un host independiente).
vCenter.caCertPath
String. Cuando un cliente, como clústeres de Anthos alojados en VMware, le envía una solicitud al servidor de vCenter, este debe demostrar su identidad al cliente mediante la presentación de un certificado o un paquete de certificados. Para verificar el certificado o paquete, los clústeres de Anthos alojados en VMware deben tener el certificado raíz en la cadena de confianza.
Establece vCenter.caCertPath
en la ruta de acceso del certificado raíz. Por ejemplo:
vCenter: caCertPath: "/usr/local/google/home/me/certs/vcenter-ca-cert.pem"
Tu instalación de VMware tiene una autoridad certificada (CA) que emite un certificado para vCenter Server. El certificado raíz de la cadena de confianza es un certificado autofirmado que crea VMware.
Si no deseas usar la CA de VMware, que es la opción predeterminada, puedes configurar VMware para usar una autoridad certificada diferente.
Si vCenter Server usa un certificado que emitió la CA predeterminada de VMware, descarga el certificado de la siguiente manera:
curl -k "https://SERVER_ADDRESS/certs/download.zip" > download.zip
Reemplaza SERVER_ADDRESS
por la dirección de tu servidor de vCenter.
Instala el comando unzip
y descomprime el archivo del certificado:
sudo apt-get install unzip unzip downloads.zip
Si el comando de descompresión no funciona la primera vez, vuelve a ingresarlo.
Busca el archivo de certificado en certs/lin
.
vCenter.credentials.fileRef.path
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. Por ejemplo:
vCenter: credentials: fileRef: path: "my-config-folder/admin-creds.yaml"
vCenter.credentials.fileRef.entry
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. Por ejemplo:
vCenter: credentials: fileRef: entry: "vcenter-creds"
vCenter.dataDisk
String. Los clústeres de Anthos alojados en VMware crean un disco de máquina virtual (VMDK) para contener datos de objetos de Kubernetes. El instalador crea el VMDK por ti, pero debes proporcionar un nombre para él en el campo vCenter.dataDisk
. Por ejemplo:
vCenter: dataDisk: "my-disk.vmdk"
network
En esta sección, se incluye información sobre la red de clústeres de administrador.
network.hostConfig
En esta sección, se incluye información sobre los servidores NTP, los servidores DNS y los dominios de búsqueda de DNS que usa tu clúster.
Si proporcionaste un valor para uno o ambos de los siguientes campos, completa esta sección. De lo contrario, quítala:
loadBalancer.seesaw.ipBlockFilePath
network.ipMode.ipBlockFilePath
network.hostConfig.dnsServers
Arreglo de strings. Son las direcciones de los servidores DNS para los hosts. Por ejemplo:
network: hostConfig: dnsServers: - "172.16.255.1" - "172.16.255.2"
network.hostConfig.ntpServers
Array de strings. Son las direcciones de los servidores de tiempo para los hosts. Por ejemplo:
network: hostConfig: ntpServers: - "216.239.35.0"
network.hostConfig.searchDomainsForDNS
Array de strings. Son dominios de búsqueda de DNS para los hosts. Estos dominios se usan como parte de una lista de búsqueda de dominios. Por ejemplo:
network: hostConfig: searchDomainsForDNS: - "my.local.com"
network.ipMode.type
String. 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"
.
Por ejemplo:
network: ipMode: type: "static"
network.ipMode.ipBlockFilePath
Si estableces ipMode.type
como "static"
, completa este campo.
Si configuras ipMode.type
como "dhcp"
, quita este campo.
String. La ruta del archivo de bloque de IP para los nodos del clúster de administrador. Por ejemplo:
network: ipMode: ipBlockFilePath: "/my-config-folder/admin-cluster-ipblock.yaml"
network.serviceCIDR
y network.podCiDR
Strings. El clúster de administrador debe tener un rango de direcciones IP que se use con los Services y uno que se use con los Pods. Estos rangos se especifican en los campos network.serviceCIDR
y network.podCIDR
. Estos campos se propagan con valores predeterminados. Si quieres, puedes cambiar los valores propagados por los valores que desees.
Los rangos de Services y Pods no deben superponerse. Tampoco deben superponerse en ningún clúster con las direcciones IP que se usan para los nodos.
Por ejemplo:
network: ... serviceCIDR: "10.96.232.0/24" podCIDR: "192.168.0.0/16"
network.vCenter.networkName
String. Es el nombre de la red de vSphere para los nodos del clúster.
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, es posible especificar una ruta de acceso a la red, como /DATACENTER/network/NETWORK_NAME
.
Por ejemplo:
network: vCenter: networkName: "MY-CLUSTER-NETWORK"
loadBalancer
En esta sección, se incluye información sobre el balanceador de cargas para el clúster de administrador.
loadBalancer.vips.controlPlaneVIP
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. Por ejemplo:
loadBalancer: vips: controlplaneVIP: "203.0.113.3"
loadBalancer.vips.addonsVIP
String. Es la dirección IP que elegiste configurar en el balanceador de cargas para complementos. Por ejemplo:
loadBalancer: vips: addonsVIP: "203.0.113.4"
loadBalancer.kind
String. Configura esto como "Seesaw"
, "F5BigIP"
o "ManualLB"
. Por ejemplo:
loadBalancer: kind: "Seesaw"
loadBalancer.manualLB
Si configuras loadbalancer.kind
como "ManualLB"
, completa esta sección. De lo contrario, quita esta sección.
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.controlPlaneNodePort
Número entero. El servidor de la API de Kubernetes en el clúster de administrador se implementa como un Service de tipo NodePort
. Debes elegir un valor nodePort
para el Service.
Establece este campo en el valor nodePort
. Por ejemplo:
loadBalancer: manualLB: contolPlaneNodePort: 30968
loadBalancer.manualLB.addonsNodePort
Número entero. El servidor de complementos en el clúster de administrador se implementa como un Service de tipo NodePort
. Debes elegir un valor nodePort
para el Service.
Establece este campo en el valor nodePort
. Por ejemplo:
loadBalancer: manualLB: addonsNodePort: 31405
loadBalancer.f5BigIP
Si configuras loadbalancer.kind
como "f5BigIP"
, completa esta sección. De lo contrario, quita esta sección.
loadBalancer.f5BigIP.address
String. Es la dirección del balanceador de cargas BIG-IP de F5. Por ejemplo:
loadBalancer: f5BigIP: address: "203.0.113.2"
loadBalancer.f5BigIP.fileRef.path
String. La ruta de un archivo de configuración de credenciales que contiene el nombre de usuario y la contraseña de una cuenta que los clústeres de Anthos alojados en VMware pueden usar para conectarse a tu balanceador de cargas BIG-IP de F5. Por ejemplo:
loadBalancer: f5BigIP: fileRef: path: ""my-config-folder/admin-creds.yaml"
loadBalancer.f5BigIP.fileRef.entry
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. Por ejemplo:
loadBalancer: f5BigIP: fileRef: entry: "f5-creds"
loadBalancer.f5BigIP.partition
String. Es el nombre de una partición de BIG-IP que creaste para el clúster de administrador. Por ejemplo:
loadBalancer: f5BigIP: partition: "my-f5-admin-partition"
loadBalancer.f5BigIP.snatPoolName
String. Si usas SNAT, es el nombre del grupo de SNAT. Si no usas SNAT, quita este campo. Por ejemplo:
loadBalancer: f5BigIP: snatPoolName: "my-snat-pool"
loadBalancer.seesaw
Si configuras loadbalancer.kind
como "Seesaw"
, completa esta sección. De lo contrario, quita esta sección.
loadBalancer.seesaw.ipBlockFilePath
String. Configura esto en la ruta de acceso del archivo de bloque de IP para tus VM de Seesaw. Por ejemplo:
loadBalancer: seesaw: ipBlockFilePath: "admin-seesaw-ipblock.yaml"
loadBalancer.seesaw.vrid
Número entero. Es el identificador del router virtual de la VM de Seesaw. Este identificador debe ser único en una VLAN. El rango válido es de 1 a 255. Por ejemplo:
loadBalancer: seesaw: vrid: 125
loadBalancer.seesaw.masterIP
String. Es la VIP del par de VM o VM de Seesaw. Por ejemplo:
loadBalancer: seesaw: masterIP: 172.16.20.21
loadBalancer.seesaw.cpus
Número entero. Es la cantidad de CPU para la VM de Seesaw. Por ejemplo:
loadBalancer: seesaw: cpus: 8
loadBalancer.seesaw.memoryMB
Número entero. Es la cantidad de megabytes de memoria para la VM de Seesaw. Por ejemplo:
loadBalancer: seesaw: memoryMB: 8192
loadBalancer.seesaw.vCenter.networkName
String. Es el nombre de la red que contiene las VM de Seesaw. Por ejemplo:
loadBalancer: seesaw: vCenter: networkName: "my-seesaw-network"
loadBalancer.seesaw.enableHA
Booleano. Si deseas crear un balanceador de cargas de Seesaw con alta disponibilidad, configura esto como true
. De lo contrario, configúralo como false
. Por ejemplo:
loadBalancer: seesaw: enableHA: true
antiAffinityGroups.enabled
Booleano. Configúralo como true
para habilitar la creación de reglas de DRS. De lo contrario, configúralo como false
. Por ejemplo:
antiAffinityGroups: enabled: true
Los clústeres de Anthos alojados en VMware crean de forma automática reglas de antiafinidad de Distributed Resource Scheduler (DRS) para los nodos del clúster de administrador, de modo que se distribuyen en al menos tres hosts físicos del centro de datos.
Para esta función, se requiere que el entorno de vSphere cumpla con las siguientes condiciones:
DRS de VMware debe estar habilitado. Para DRS de VMware, se requiere la edición de licencia vSphere Enterprise Plus.
La cuenta de usuario de vSphere debe tener el privilegio
Host.Inventory.Modify cluster
.Debe haber al menos tres hosts físicos disponibles.
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 tres hosts en los que se puedan programar las VM de vSphere, configura antiAffinityGroups.enabled
como false
.
proxy
Si la red está detrás de un servidor proxy, completa esta sección. De lo contrario, quita esta sección.
proxy.url
String. 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. Por ejemplo:
proxy: url: "http://my-proxy.example.local:80"
Tus clústeres de Anthos alojados en VMware utilizan el servidor proxy que especificas aquí. Además, la estación de trabajo de administrador está configurada de forma automática para usar este mismo servidor proxy, a menos que establezcas la variable de entorno HTTPS_PROXY
en la estación de trabajo de administrador.
Si especificas proxy.url
, también debes especificar proxy.noProxy
.
proxy.noProxy
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 los clústeres de Anthos alojados en VMware envían una solicitud a una de estas direcciones, hosts o dominios, la solicitud se envía directamente. Por ejemplo:
proxy: noProxy: "10.151.222.0/24, my-host.example.local,10.151.2.1"
privateRegistry
Si tienes un registro de Docker privado, completa esta sección. De lo contrario, quita esta sección.
privateRegistry.address
String. Es la dirección IP de la máquina que ejecuta el registro de Docker privado. Por ejemplo:
privateRegistry: address: "203.0.113.10"
privateRegistry.credentials.fileRef.path
String. La ruta de un archivo de configuración de credenciales que contiene el nombre de usuario y la contraseña de una cuenta que los clústeres de Anthos alojados en VMware pueden usar para acceder a tu registro privado de Docker. Por ejemplo:
privateRegistry: credentials: fileRef: path: "my-config-folder/admin-creds.yaml"
privateRegistry.credentials.fileRef.entry
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 del registro de Docker privado.
privateRegistry: credentials: fileRef: entry: "private-registry-creds"
privateRegistry.caCertPath
String. Cuando Docker extrae una imagen del registro privado, el registro debe demostrar su identidad mediante la presentación de un certificado. El certificado del registro está firmado por una autoridad certificada (CA). Docker usa el certificado de la CA para validar el certificado del registro.
Establece el campo en la ruta de acceso del certificado de la CA. Por ejemplo:
privateRegistry: caCertPath: "my-cert-folder/registry-ca.crt"
gcrKeyPath
String. La ruta del archivo de claves JSON para la cuenta de servicio que deseas usar a fin de descargar componentes de clústeres de Anthos alojados en VMware. Por ejemplo:
gcrKeyPath: "my-key-folder/access-key.json"
stackdriver
En esta sección, se incluye información sobre el proyecto y la cuenta de servicio que deseas usar para almacenar registros y métricas.
stackdriver.projectID
String. Es el ID del proyecto de Google Cloud en el que deseas ver los registros. Por ejemplo:
stackdriver: projectID: "my-logs-project"
stackdriver.clusterLocation
String. 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. Por ejemplo:
stackdriver: clusterLocation: "us-central1"
stackdriver.enableVPC
Booleano. 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, establece este campo en false
. Por ejemplo:
stackdriver: enableVPC: false
stackdriver.serviceAccountKeyPath
String. Es la ruta del archivo de claves JSON para la cuenta de servicio de supervisión y registro. Por ejemplo:
stackdriver: serviceAccountKeyPath: "my-key-folder/log-mon-key.json"
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.
cloudAuditLogging.projectID
String. Es el ID del proyecto de Google Cloud en el que deseas ver los registros de auditoría. Por ejemplo:
cloudAuditLogging: projectID: "my-audit-project"
cloudAuditLogging.clusterLocation
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. Por ejemplo:
cloudAuditLogging: clusterLocation: "us-central1"
cloudAuditLogging.serviceAccountKeyPath
String. Es la ruta de acceso del archivo de claves JSON para la cuenta de servicio de registro y auditoría. Por ejemplo:
cloudAuditLogging: serviceAccountKeyPath: "my-key-folder/audit-log-key.json"
autoRepair.enabled
Booleano. Configúralo como true
para habilitar la reparación automática de nodos.
De lo contrario, configúralo como false
. Por ejemplo:
autoRepair: enabled: true