Referencia de los campos de configuración de clústeres
Organízate con las colecciones
Guarda y clasifica el contenido según tus preferencias.
En esta página se describen los campos admitidos en el archivo de configuración de clústeres de Google Distributed Cloud (solo software) en bare metal. En la siguiente tabla se indica si cada campo es obligatorio. La tabla también muestra qué campos son mutables, es decir, qué campos se pueden cambiar después de crear un clúster. Como se indica en la tabla, algunos campos mutables solo se pueden cambiar durante una actualización del clúster.
Generar una plantilla para el archivo de configuración del clúster
Puedes crear un archivo de configuración de clúster con el comando bmctl create config. Aunque algunos campos tienen valores predeterminados y otros, como metadata.name, se pueden rellenar automáticamente, este archivo de configuración en formato YAML es una plantilla para especificar información sobre tu clúster.
Para crear un archivo de configuración de clúster, usa el siguiente comando en la carpeta /baremetal:
bmctlcreateconfig-cCLUSTER_NAME
Sustituye CLUSTER_NAME por el nombre del clúster que quieras crear. Para obtener más información sobre bmctl, consulta la herramienta bmctl.
Para ver un ejemplo del archivo de configuración de clúster generado, consulta Ejemplo de archivo de configuración de clúster.
Rellenar el archivo de configuración
En el archivo de configuración, introduce los valores de los campos tal como se describe en la siguiente tabla de referencia de campos antes de crear o actualizar el clúster.
Campos de configuración de clústeres
Nombre del campo
Tipo de recurso
¿Es obligatorio?
¿Mutable?
anthosBareMetalVersion
Obligatorio. Cadena. Versión del clúster. Este valor se define para la creación y las actualizaciones de clústeres.
Mutabilidad: este valor no se puede modificar en los clústeres ya creados.
La versión solo se puede actualizar mediante el proceso de actualización del clúster.
Recurso de clúster
Obligatorio
Modificable
authentication
Esta sección contiene los ajustes necesarios para usar OpenID Connect (OIDC).
OIDC te permite usar tu proveedor de identidades para gestionar la autenticación de usuarios y grupos en tus clústeres.
Recurso de clúster
—
—
authentication.oidc.certificateAuthorityData
Opcional. Un certificado base64 codificado
en PEM del proveedor de OIDC. Para crear la cadena, codifica el certificado, incluidos los encabezados, en base64. Incluye la cadena resultante en
certificateAuthorityData como una sola línea.
Por ejemplo (muestra envuelta para ajustarse a la tabla):
Opcional. Cadena. ID de la aplicación cliente que envía solicitudes de autenticación al proveedor de OpenID.
Recurso de clúster
Opcional
Inmutable
authentication.oidc.clientSecret
Opcional. Cadena. Secreto compartido entre la aplicación cliente de OIDC y el proveedor de OIDC.
Recurso de clúster
Opcional
Inmutable
authentication.oidc.deployCloudConsoleProxy
Opcional. Booleano (true|false). Especifica si se ha desplegado un proxy inverso en el clúster para conectar la consola de Google Cloud con un proveedor de identidades local que no sea accesible públicamente a través de Internet. Si no se puede acceder a tu proveedor de identidades a través de Internet público, asigna el valor true a este campo para autenticarte con la consola Google Cloud . De forma predeterminada, este valor es false.
Recurso de clúster
Opcional
Inmutable
authentication.oidc.extraParams
Opcional. Lista de elementos separados por coma. Parámetros de pares clave-valor adicionales que se enviarán al proveedor de OpenID.
Recurso de clúster
Opcional
Inmutable
authentication.oidc.groupPrefix
Opcional. Cadena. Prefijo añadido a las reclamaciones de grupo para evitar conflictos
con nombres ya existentes. Por ejemplo, si tienes un grupo dev y un prefijo oidc:, oidc:dev.
Recurso de clúster
Opcional
Inmutable
authentication.oidc.group
Opcional. Cadena.
JWT
afirmación que usa el proveedor para devolver tus grupos de seguridad.
Recurso de clúster
Opcional
Inmutable
authentication.oidc.issuerURL
Opcional. Cadena de URL. URL a la que se envían las solicitudes de autorización de tu OpenID, como https://example.com/adfs. El servidor de la API de Kubernetes usa esta URL para descubrir las claves públicas y verificar los tokens. La URL debe usar HTTPS.
Recurso de clúster
Opcional
Inmutable
authentication.oidc.kubectlRedirectURL
Opcional. Cadena de URL. La URL de redirección que usa kubectl para la autorización. Cuando habilites OIDC, debes especificar un valor kubectlRedirectURL.
Recurso de clúster
Opcional
Inmutable
authentication.oidc.proxy
Opcional. Cadena de URL. Servidor proxy que debe usar el clúster para conectarse
a tu proveedor de OIDC, si procede. El valor debe incluir un nombre de host o una dirección IP y, opcionalmente, un puerto, un nombre de usuario y una contraseña. Por ejemplo: http://user:password@10.10.10.10:8888.
Recurso de clúster
Opcional
Inmutable
authentication.oidc.scopes
Opcional. Lista de elementos separados por coma. Permisos adicionales que se enviarán al proveedor de OpenID. Microsoft Azure y Okta requieren el permiso offline_access.
Recurso de clúster
Opcional
Inmutable
authentication.oidc.usernamePrefix
Opcional. Cadena. Prefijo que se añade a las reclamaciones de nombre de usuario.
Recurso de clúster
Opcional
Inmutable
authentication.oidc.username
Opcional. Cadena.
JWT
que se va a usar como nombre de usuario. Si no se especifica ningún valor, se utiliza sub de forma predeterminada.
Recurso de clúster
Opcional
Inmutable
bypassPreflightCheck
Opcional. Booleano (true|false). Si se define como true, las comprobaciones internas previas se ignoran al aplicar recursos a clústeres ya creados. El valor predeterminado es false.
Mutabilidad: este valor se puede modificar en clústeres ya creados
con el comando bmctl update.
Recurso de clúster
Opcional
Modificable
clusterNetwork
Esta sección contiene la configuración de red de tu clúster.
Recurso de clúster
Obligatorio
Modificable
clusterNetwork.advancedNetworking
Booleano. Define este campo como true para habilitar funciones de red avanzadas, como el balanceo de carga agrupado con BGP o la pasarela de NAT de salida. Ambas funciones usan la puerta de enlace de red de GDC.
Network Gateway para GDC es el componente clave para habilitar funciones de redes avanzadas en Google Distributed Cloud y Google Kubernetes Engine (GKE). Una de las principales ventajas de Network Gateway para GDC es que puede asignar dinámicamente direcciones IP flotantes de un conjunto de direcciones que especifiques en un recurso personalizado NetworkGatewayGroup.
Booleano. Asigna a este campo el valor false para inhabilitar las funciones de Ingress incluidas en el software de Google Distributed Cloud. Las funciones de Ingress incluidas en el paquete de tu clúster solo admiten Ingress. Si
integras Istio o Cloud Service Mesh para disfrutar de las ventajas adicionales de una
malla de servicios totalmente funcional, te recomendamos que inhabilites el
Ingress agrupado. Este campo tiene el valor true de forma predeterminada. Este campo no está presente en el archivo de configuración de clúster generado. Solo puedes inhabilitar Ingress agrupado en clústeres con la versión 1.13.0 o posteriores.
Booleano. Define este campo como true para habilitar el modelo de red de clústeres de modo plano. En el modo plano, cada pod tiene su propia dirección IP única. Los pods pueden comunicarse entre sí directamente sin necesidad de una pasarela intermediaria o de traducción de direcciones de red (NAT).
flatIPv4 es false de forma predeterminada. Solo puedes habilitar el modo plano durante la creación del clúster. Una vez que habilites el modo de
pantalla plana en tu clúster, no podrás inhabilitarlo.
Recurso de clúster
Opcional
Inmutable
clusterNetwork.forwardMode
Opcional. Cadena. Especifica el modo de red para el balanceo de carga de Dataplane V2. La traducción de direcciones de red de origen (SNAT) es el modo de red predeterminado. El modo de retorno directo del servidor (DSR) soluciona los problemas del balanceo de carga de SNAT. En el modo DSR (forwardMode: dsr), el nodo del balanceador de carga usa opciones de IP para guardar la dirección de origen del cliente.
El modo de red del balanceo de carga de Dataplane V2 solo se puede configurar al crear el clúster.
Obligatorio. Intervalo de direcciones IPv4 en formato de bloque CIDR. Los pods especifican los intervalos de IP desde los que se asignan las redes de pods.
Intervalo CIDR de pods mínimo: valor de máscara de /18, que corresponde a un tamaño de 14 bits (16.384 direcciones IP).
Intervalo CIDR de pods máximo: valor de máscara de /8, que corresponde a un tamaño de 24 bits (16.777.216 direcciones IP).
Por ejemplo:
pods:cidrBlocks:-192.168.0.0/16
Recurso de clúster
Obligatorio
Inmutable
clusterNetwork.sriovOperator
Opcional. Booleano. Asigna el valor true a este campo para habilitar la red SR-IOV en tu clúster.
Para obtener más información sobre cómo configurar y usar la red SR-IOV, consulta la documentación sobre configuración de la red SR-IOV.
Recurso de clúster
Opcional
Modificable
clusterNetwork.services.cidrBlocks
Obligatorio. Intervalo de direcciones IPv4 en formato de bloque CIDR. Especifica el intervalo de direcciones IP desde el que se asignan las direcciones IP virtuales (VIP) del servicio. Los intervalos no deben solaparse con ninguna subred accesible desde tu red. Para obtener más información sobre la asignación de direcciones a
redes privadas, consulta el documento RFC 1918.
A partir de la versión 1.15.0 del software de Google Distributed Cloud para bare metal, este campo se puede modificar. Si es necesario, puedes aumentar el número de direcciones IP asignadas a los servicios después de crear un clúster. Para obtener más información, consulta Aumentar el intervalo de la red de servicios.
Solo puedes aumentar el intervalo del CIDR de servicio IPv4. El intervalo de red no se puede reducir, lo que significa que la máscara (el valor que va después de "/") no se puede aumentar.
Intervalo CIDR de servicio mínimo: valor de máscara de
/24, que corresponde a un tamaño de 8 bits (256
direcciones).
Intervalo CIDR de servicio máximo: valor de máscara de /12, que corresponde a un tamaño de 20 bits (1.048.576 direcciones IP).
Por ejemplo:
services:cidrBlocks:-10.96.0.0/12
Recurso de clúster
Obligatorio
Modificable
clusterOperations
Esta sección contiene información sobre Cloud Logging y Cloud Monitoring.
Recurso de clúster
Obligatorio
Modificable
clusterOperations.enableApplication
Este campo ya no se usa y no tiene ningún efecto. El almacenamiento de registros y la monitorización de aplicaciones están habilitados en el recurso personalizado de Stackdriver. Para obtener más información sobre cómo habilitar el almacenamiento de registros y la monitorización de aplicaciones, consulta el artículo Habilitar el almacenamiento de registros y la monitorización de aplicaciones.
Recurso de clúster
No-op
Modificable
clusterOperations.disableCloudAuditLogging
Booleano. Cloud Audit Logs es útil para investigar solicitudes de API sospechosas y para recoger estadísticas. Registros de auditoría de Cloud está habilitado
(disableCloudAuditLogging: false) de forma predeterminada. Definir como
true para inhabilitar los registros de auditoría de Cloud.
Cadena. Una Google Cloud región en la que quieras enrutar y almacenar
métricas de monitorización. Te recomendamos que elijas una región que esté cerca de tu centro de datos local. Durante la creación del clúster, este valor se usa para definir el valor clusterLocation
en la especificación del recurso stackdriver.
Stackdriver también usa el valor que especifiques para etiquetar métricas y registros. Estas etiquetas se pueden usar para filtrar en Explorador de métricas y Explorador de registros.
Cadena. El ID del proyecto de Google Cloud en el que quieres ver los registros y las métricas. Durante la creación del clúster, este valor se usa para definir el valor projectID en la especificación de recursos stackdriver.
Recurso de clúster
Obligatorio
Inmutable
controlPlane
Esta sección contiene información sobre el plano de control y sus componentes.
Recurso de clúster
Obligatorio
Modificable
controlPlane.apiServerCertExtraSANs
Opcional. Una matriz de cadenas (nombres de dominio y direcciones IP). Un nombre alternativo del sujeto (SAN) es una función de los certificados SSL que te permite definir los nombres de dominio y los subdominios en los que quieres que sea válido un certificado. En un clúster de hardware desnudo, las SANs del certificado del servidor de la API incluyen las direcciones IP y VIP de los nodos del plano de control y los nombres de DNS de Kubernetes de forma predeterminada. Usa este campo para añadir SANs adicionales al certificado del servidor de la API del clúster. Los nombres de dominio deben cumplir la RFC 1035.
Para obtener más información, consulta Añadir dominios al certificado del servidor de la API.
Este campo se puede añadir o cambiar en cualquier momento.
Recurso de clúster
Opcional
Modificable
controlPlane.loadBalancer
Esta sección contiene ajustes para el balanceo de carga del plano de control. Los campos de esta sección solo están disponibles para clústeres de la versión 1.32 y posteriores.
Opcional. Número entero. Especifica el número de mensajes ARP gratuitos (GARP) que Keepalived debe enviar a la vez después de que un nodo del plano de control pase a ser el servidor principal. Este valor se asigna al ajuste vrrp_garp_master_repeat de Keepalived. El valor predeterminado es 5. Para obtener más información, consulta Personalización de Keepalived.
Recurso de clúster
Opcional
Modificable
controlPlane.loadBalancer.mode
Opcional. Cadena. Si se define como bundled, este ajuste especifica que los balanceadores de carga del plano de control se ejecutan en los nodos del plano de control. Si se define y configuras un grupo de nodos de balanceador de carga con loadBalancer.nodePoolSpec, los balanceadores de carga del plano de control se ejecutan en los nodos del plano de control y los balanceadores de carga del plano de datos se ejecutan en el grupo de nodos del balanceador de carga. Para obtener más información, consulta el artículo sobre la separación de balanceadores de carga.
Si asignas el valor manual a controlPlane.loadBalancer.mode,
loadBalancer.mode también debe tener el valor manual. Este ajuste se usa para habilitar el balanceo de carga manual. Para obtener más información, consulta Configurar el balanceo de carga manual.
No es necesario que definas controlPlane.loadBalancer.mode
en manual para configurar el balanceo de carga manual.
Valores permitidos: bundled | manual
Recurso de clúster
Opcional
Inmutable
controlPlane.nodePoolSpec
En esta sección se especifican las direcciones IP del pool de nodos que usa el plano de control y sus componentes. La especificación del grupo de nodos del plano de control (como la especificación del grupo de nodos del balanceador de carga) es especial. Esta especificación declara y controla los recursos críticos del clúster. La fuente canónica de este recurso es esta sección del archivo de configuración del clúster. No modifiques directamente los recursos del grupo de nodos del plano de control de nivel superior. Modifica las secciones asociadas en el archivo de configuración del clúster.
Recurso de clúster
Obligatorio
Modificable
controlPlane.nodePoolSpec.nodes
Obligatorio. Una matriz de direcciones IP. Normalmente, esta matriz es una dirección IP de una sola máquina o direcciones IP de tres máquinas para una implementación de alta disponibilidad.
Este campo se puede cambiar cada vez que actualices o mejores un clúster.
Recurso de clúster
Obligatorio
Modificable
controlPlane.nodePoolSpec.nodes.address
Obligatorio. Cadena (dirección IPv4). Cuando especifiques un grupo de nodos, usa el campo address para especificar la dirección IPv4 predeterminada para el acceso SSH de cada nodo. El acceso SSH es necesario para las operaciones administrativas del clúster, como las instalaciones y las actualizaciones. De forma predeterminada, esta dirección IP también se usa para el tráfico de datos y de Kubernetes. Sin embargo, si especifica la dirección k8sIP de un nodo determinado, el tráfico se dividirá entre las dos direcciones del nodo, y la dirección k8sIP se usará exclusivamente para los datos y el tráfico de Kubernetes.
Este campo se puede cambiar cada vez que actualices o mejores un clúster.
Recurso de clúster
Obligatorio
Modificable
controlPlane.nodePoolSpec.nodes.k8sIP
Opcional. Cadena (dirección IPv4). Cuando especificas la dirección k8sIP opcional de un nodo, esta se dedica a gestionar los datos y el tráfico de Kubernetes del nodo, como las solicitudes y las respuestas de la API de Kubernetes, kubelet y las cargas de trabajo. Si especificas k8sIP,
la dirección IP del nodo estándar nodePoolSpec.nodes.address se
utiliza exclusivamente para las conexiones SSH al nodo. Si no especificas una dirección k8sIP, la dirección IP del nodo estándar gestiona todo el tráfico del nodo.
Opcional. Número entero (no negativo). Especifica la cantidad máxima de solicitudes de extracción de imágenes que se pueden añadir a la cola de procesamiento para gestionar los picos de solicitudes. En cuanto se inicia una extracción, se puede añadir una nueva solicitud a la cola. El valor predeterminado es 10. Este campo se corresponde con la opción de configuración registryBurst
kubelet (v1beta1).
El valor de registryPullQPS tiene prioridad sobre este ajuste. Por ejemplo, con la configuración predeterminada, se permiten ráfagas de hasta 10 consultas simultáneas, pero deben procesarse a la velocidad predeterminada de cinco consultas por segundo. Este comportamiento de ráfaga solo se usa cuando registryPullQPS es mayor que 0.
Este campo se puede definir al crear, actualizar o cambiar a una versión superior de un clúster, y el ajuste se mantiene durante las actualizaciones del clúster. Para obtener más información, consulta Configurar los ajustes de extracción de imágenes de kubelet.
Opcional. Número entero (no negativo). Especifica la frecuencia de procesamiento de las consultas de extracción de imágenes de Artifact Registry en consultas por segundo (CPS).
Si registryPullQPS tiene un valor superior a 0, la frecuencia de consultas se limita a ese número de consultas por segundo. Si registryPullQPS se define como 0, no hay restricciones en la frecuencia de las consultas. El valor predeterminado es 5.
Este campo se corresponde con la opción de configuración registryPullQPS
kubelet (v1beta1).
Este campo se puede definir al crear, actualizar o cambiar a una versión superior de un clúster, y el ajuste se mantiene durante las actualizaciones del clúster. Para obtener más información, consulta Configurar los ajustes de extracción de imágenes de kubelet.
Opcional. Booleano (true|false). Este campo especifica si las extracciones de Artifact Registry se procesan en paralelo o de una en una. El valor predeterminado es true, que especifica que las solicitudes de extracción se procesan de una en una. Si se define como false, kubelet
extrae las imágenes en paralelo. Este campo se corresponde con la opción de configuración serializeImagePulls
kubelet (v1beta1).
Este campo se puede definir al crear, actualizar o cambiar a una versión superior de un clúster, y el ajuste se mantiene durante las actualizaciones del clúster. Para obtener más información, consulta Configurar los ajustes de extracción de imágenes de kubelet.
Recurso de clúster
Opcional
Modificable
gkeConnect
Esta sección contiene información sobre el Google Cloud proyecto que quieres
usar para conectar tu clúster a Google Cloud.
Recurso de clúster
Obligatorio
Inmutable
gkeConnect.projectID
Obligatorio: cadena. El ID del proyecto de Google Cloud que quieras usar para conectar tu clúster a Google Cloud. También se conoce como proyecto de host de la flota.
Este valor no se puede modificar en los clústeres ya creados.
Recurso de clúster
Obligatorio
Inmutable
gkeConnect.location
Opcional. Cadena. Valor predeterminado: global.
El servicio Fleet (gkehub.googleapis.com) y el servicio Connect (gkeconnect.googleapis.com) gestionan la pertenencia de tus clústeres a una flota. La pertenencia a una flota puede ser global o regional. Opcionalmente, puede usar gkeConnect.location
para especificar la Google Cloud región en la que se ejecutan los servicios Fleet y Connect, de modo que el tráfico se limite a su región.
Para ver una lista de las regiones admitidas, consulta Regiones admitidas para la API GKE On-Prem.
Si no se especifica ninguna, se usan las instancias globales de los servicios.
Ten en cuenta lo siguiente:
Los clústeres creados con versiones anteriores a la 1.28 se gestionan mediante los servicios globales Fleet y Connect.
Los clústeres nuevos creados con los clientes de la API de GKE On-Prem, como la consola, la CLI de Google Cloud o Terraform, usan la misma región que especifiques para la API de GKE On-Prem. Google Cloud
En el caso de los clústeres nuevos, si incluyes este campo, la región que especifiques debe ser la misma que la configurada en gkeOnPremAPI.location. Si las regiones no son las mismas, no se podrá crear el clúster.
Este valor no se puede modificar en los clústeres ya creados.
Recurso de clúster
Opcional
Inmutable
gkeOnPremAPI
En la versión 1.16 y posteriores, si la API GKE On-Prem está habilitada en tu Google Cloud proyecto, todos los clústeres del proyecto se registran en la API GKE On-Prem automáticamente en la región configurada en clusterOperations.location.
Si quieres registrar todos los clústeres del proyecto en la API de GKE On-Prem, sigue los pasos que se indican en la sección Antes de empezar para activar y usar la API de GKE On-Prem en el proyecto.
Si no quieres registrar el clúster en la API de GKE On-Prem, incluye esta sección y asigna el valor false a gkeOnPremAPI.enabled.
Si no quieres registrar ningún clúster en el proyecto, inhabilita gkeonprem.googleapis.com (el nombre del servicio de la API GKE On-Prem) en el proyecto. Para obtener instrucciones, consulta la sección sobre cómo inhabilitar servicios.
Si quieres registrar todos los clústeres del proyecto en la API de GKE On-Prem, sigue los pasos que se indican en la sección Antes de empezar para activar y usar la API de GKE On-Prem en el proyecto.
Si no quieres registrar el clúster en la API de GKE On-Prem, incluye esta sección y asigna el valor false a gkeOnPremAPI.enabled.
Si no quieres registrar ningún clúster en el proyecto, inhabilita gkeonprem.googleapis.com (el nombre del servicio de la API GKE On-Prem) en el proyecto. Para obtener instrucciones, consulta la sección sobre cómo inhabilitar servicios.
Si registras tu clúster de administrador o de usuario en la API de GKE On-Prem, podrás usar herramientas estándar (la consola, la CLI de Google Cloud o
Terraform) para ver los detalles del clúster y gestionar su ciclo de vida. Google Cloud Por ejemplo, puedes ejecutar comandos de la CLI de gcloud para
obtener información sobre tu clúster.
La API de GKE On-Prem almacena metadatos del estado del clúster en Google Cloud.
Estos metadatos permiten que la API gestione el ciclo de vida del clúster. Las herramientas estándar usan la API de GKE On-Prem y, en conjunto, se denominan clientes de la API de GKE On-Prem.
Si asignas el valor true a gkeOnPremAPI.enabled,
antes de crear o actualizar el clúster con bmctl,
sigue los pasos que se indican en
Antes de empezar para habilitar e inicializar la API de GKE On-Prem.
Después de añadir esta sección y crear o actualizar el clúster, si
posteriormente quitas la sección y actualizas el clúster, la actualización
fallará.
Si prefieres crear el clúster con una herramienta estándar en lugar de bmctl, consulta lo siguiente:
Cuando creas un clúster con una herramienta estándar, se registra automáticamente en la API GKE On-Prem.
Recurso de clúster
Opcional
gkeOnPremAPI.enabled
De forma predeterminada, el clúster se registra en la API de GKE On-Prem si esta API está habilitada en tu proyecto. Seleccione false
si no quiere registrar el clúster.
Una vez que el clúster se haya registrado en la API de GKE On-Prem, si necesitas anular el registro, haz el siguiente cambio y, a continuación, actualiza el clúster:
gkeOnPremAPI:enabled:false
Recurso de clúster
Obligatorio
Modificable
gkeOnPremAPI.location
La Google Cloud región en la que se ejecuta la API de GKE On-Prem y
almacena los metadatos del clúster. Elige una de las
regiones admitidas. Debe ser una cadena no vacía si gkeOnPremAPI.enabled es true. Si gkeOnPremAPI.enabled es false, no incluyas este campo.
Si esta sección no se incluye en el archivo de configuración, este campo se define como clusterOperations.location.
Recurso de clúster
Opcional
Inmutable
kubevirt.useEmulation (obsoleta)
Obsoleta. A partir de la versión 1.11.2, puedes habilitar o inhabilitar
VM Runtime en GDC actualizando el recurso personalizado VMRuntime
únicamente.
Booleano. Determina si se usa la emulación de software para ejecutar máquinas virtuales. Si el nodo admite la virtualización de hardware, asigna el valor useEmulation a false para mejorar el rendimiento. Si no se admite la virtualización de hardware o no estás seguro, selecciona true.
Recurso de clúster
Opcional
Modificable
loadBalancer
Esta sección contiene ajustes para el balanceo de carga del clúster.
Recurso de clúster
Obligatorio
Modificable
loadBalancer.addressPools
Objeto. El nombre y una matriz de direcciones IP del pool del balanceador de carga del clúster. La configuración del grupo de direcciones solo es válida para el modo de balanceo de carga bundled en clústeres que no sean de administrador. Puedes añadir nuevos
grupos de direcciones en cualquier momento, pero no puedes eliminar los que ya tengas.
Solo se pueden editar los campos avoidBuggyIPs
y manualAssign de un grupo de direcciones ya creado.
Recurso de clúster
Opcional
Inmutable
loadBalancer.addressPools.addresses
Matriz de intervalos de direcciones IP. Especifica una lista de intervalos de IP que no se solapen para el balanceador de carga del plano de datos. Todas las direcciones deben estar en la misma subred que los nodos del balanceador de carga.
Cadena. El nombre que elijas para el grupo del balanceador de carga del clúster.
Recurso de clúster
Obligatorio
Inmutable
loadBalancer.addressPools.avoidBuggyIPs
Opcional. Booleano (true | false). Si true,
el grupo omite las direcciones IP que terminan en .0 y .255.
Algunos hardware de red descartan el tráfico a estas direcciones especiales. Puedes omitir este campo, ya que su valor predeterminado es false.
Recurso de clúster
Opcional
Modificable
loadBalancer.addressPools.manualAssign
Opcional. Booleano (true | false). Si true, las direcciones de este grupo no se asignan automáticamente a los servicios de Kubernetes. Si true, se usa una dirección IP de este grupo
solo cuando un servicio la especifica explícitamente. Puede omitir este campo. Su valor predeterminado es false.
Recurso de clúster
Opcional
Modificable
loadBalancer.mode
Obligatorio. Cadena. Especifica el modo de balanceo de carga. En el modo bundled, el software de Google Distributed Cloud instala un balanceador de carga en los nodos de balanceador de carga durante la creación del clúster. En el modo manual, el clúster depende de un balanceador de carga externo configurado manualmente. Para obtener más información, consulta la información general sobre los balanceadores de carga.
Valores permitidos: bundled | manual
Recurso de clúster
Obligatorio
Inmutable
loadBalancer.type
Opcional. Cadena. Especifica el tipo de balanceo de carga agrupado que se usa: capa 2 o protocolo de pasarela fronteriza (BGP). Si usas el balanceo de carga agrupado estándar, asigna el valor layer2 a type. Si usas el balanceo de carga agrupado con BGP, define type como bgp. Si no defines type, se utiliza layer2 de forma predeterminada.
Valores permitidos: layer2 | bgp
Recurso de clúster
Opcional
Inmutable
loadBalancer.nodePoolSpec
Opcional. Utilice esta sección para configurar un grupo de nodos de balanceador de carga. Los nodos que especifiques formarán parte del clúster de Kubernetes y ejecutarán cargas de trabajo y balanceadores de carga normales. Si no especificas un grupo de nodos, se usarán los nodos del plano de control para el balanceo de carga. Esta sección solo se aplica cuando el modo de balanceo de carga es bundled.
Si quieres evitar que las cargas de trabajo se ejecuten en un nodo del grupo de nodos del balanceador de carga, añade el siguiente taint al nodo:
node-role.kubernetes.io/load-balancer:NoSchedule
El software de Google Distributed Cloud añade tolerancias para este taint a los pods necesarios para el balanceo de carga.
Recurso de clúster
Opcional
Modificable
loadBalancer.nodePoolSpec.nodes
Esta sección contiene una matriz de direcciones IP de los nodos del grupo de nodos del balanceador de carga.
De forma predeterminada, todos los nodos del grupo de nodos del balanceador de carga deben estar en la misma subred de capa 2 que las IPs virtuales del balanceador de carga configuradas en la sección loadBalancer.addressPools del archivo de configuración. Sin embargo, si especificas una dirección IP de Kubernetes k8sIP para un nodo, solo esa dirección debe estar en la misma subred de capa 2 que las demás IPs virtuales del balanceador de carga.
Recurso de clúster
Opcional
Modificable
loadBalancer.nodePoolSpec.nodes.address
Opcional. Cadena (dirección IPv4). Cuando especifiques un grupo de nodos, usa el campo address para especificar la dirección IPv4 predeterminada para el acceso SSH de cada nodo. El acceso SSH es necesario para las operaciones administrativas del clúster, como las instalaciones y las actualizaciones. De forma predeterminada, esta dirección IP también se usa para el tráfico de datos y de Kubernetes. Sin embargo, si especifica la dirección k8sIP de un nodo determinado, el tráfico se dividirá entre las dos direcciones del nodo, y la dirección k8sIP se usará exclusivamente para los datos y el tráfico de Kubernetes.
Aunque los nodos del grupo de nodos del balanceador de carga pueden ejecutar cargas de trabajo, están separados de los nodos de los grupos de nodos de trabajador. No puedes incluir un nodo de clúster determinado en más de un grupo de nodos. Si se solapan las direcciones IP de los nodos, no se podrán crear clústeres ni realizar otras operaciones en ellos.
Opcional. Cadena (dirección IPv4). Cuando especificas la dirección k8sIP opcional de un nodo, esta se dedica a gestionar los datos y el tráfico de Kubernetes del nodo, como las solicitudes y las respuestas de la API de Kubernetes, kubelet y las cargas de trabajo. Si especificas k8sIP,
la dirección IP del nodo estándar nodePoolSpec.nodes.address se
utiliza exclusivamente para las conexiones SSH al nodo. Si no especificas una dirección k8sIP, la dirección IP del nodo estándar gestiona todo el tráfico del nodo.
Opcional. Número entero (no negativo). Especifica el número máximo de solicitudes de extracción de imágenes que se pueden añadir a la cola de procesamiento para gestionar los picos de solicitudes. En cuanto se inicia una extracción, se puede añadir una nueva solicitud a la cola. El valor predeterminado es 10. Este campo se corresponde con la opción de configuración registryBurst
kubelet (v1beta1).
El valor de registryPullQPS tiene prioridad sobre este ajuste. Por ejemplo, con la configuración predeterminada, se permiten ráfagas de hasta 10 consultas simultáneas, pero deben procesarse a la velocidad predeterminada de cinco consultas por segundo. Este comportamiento de ráfaga solo se usa cuando registryPullQPS es mayor que 0.
Este campo se puede definir al crear, actualizar o cambiar a una versión superior de un clúster, y el ajuste se mantiene durante las actualizaciones del clúster. Para obtener más información, consulta Configurar los ajustes de extracción de imágenes de kubelet.
Opcional. Número entero (no negativo). Especifica la frecuencia de procesamiento de las consultas de extracción de imágenes de Artifact Registry en consultas por segundo (CPS).
Si registryPullQPS tiene un valor superior a 0, la frecuencia de consultas se limita a ese número de consultas por segundo. Si registryPullQPS se define como 0, no hay restricciones en la frecuencia de las consultas. El valor predeterminado es 5.
Este campo se corresponde con la opción de configuración registryPullQPS
kubelet (v1beta1).
Este campo se puede definir al crear, actualizar o cambiar a una versión superior de un clúster, y el ajuste se mantiene durante las actualizaciones del clúster. Para obtener más información, consulta Configurar los ajustes de extracción de imágenes de kubelet.
Opcional. Booleano (true|false). Este campo especifica si las extracciones de Artifact Registry se procesan en paralelo o de una en una. El valor predeterminado es true, que especifica que las solicitudes de extracción se procesan de una en una. Si se define como false, kubelet
extrae las imágenes en paralelo. Este campo se corresponde con la opción de configuración serializeImagePulls
kubelet (v1beta1).
Este campo se puede definir al crear, actualizar o cambiar a una versión superior de un clúster, y el ajuste se mantiene durante las actualizaciones del clúster. Para obtener más información, consulta Configurar los ajustes de extracción de imágenes de kubelet.
Recurso de clúster
Opcional
Modificable
loadBalancer.ports.controlPlaneLBPort
Número. El puerto de destino que se usa para el tráfico enviado al plano de control de Kubernetes (los servidores de la API de Kubernetes).
Recurso de clúster
Obligatorio
Inmutable
loadBalancer.vips.controlPlaneVIP
Obligatorio. Especifica la dirección IP virtual (VIP) para conectarse al servidor de la API de Kubernetes. Esta dirección no debe estar dentro del intervalo de ninguna dirección IP utilizada para los grupos de direcciones del balanceador de carga, loadBalancer.addressPools.addresses.
Recurso de clúster
Obligatorio
Inmutable
loadBalancer.vips.ingressVIP
Opcional. Cadena (dirección IPv4). La dirección IP que has elegido
para configurar en el balanceador de carga para el tráfico de entrada.
Recurso de clúster
Opcional
Inmutable
loadBalancer.localASN
Opcional. Cadena. Especifica el número de sistema autónomo (ASN) del clúster que se está creando. Este campo se usa al configurar la solución de equilibrio de carga agrupada que usa el protocolo de pasarela fronteriza (BGP).
Para obtener más información, consulta el artículo sobre cómo configurar balanceadores de carga agrupados con BGP.
Recurso de clúster
Opcional
Modificable
loadBalancer.bgpPeers
Opcional. Objeto (lista de asignaciones). En esta sección se especifican uno o varios peers del protocolo de pasarela fronteriza (BGP) de tu red local (externa al clúster). Especifica los peers de BGP al configurar el balanceo de carga del plano de control, que forma parte de la solución de balanceo de carga agrupado que usa BGP. Cada peer se especifica con una asignación que consta de una dirección IP, un número de sistema autónomo (ASN) y, opcionalmente, una lista de una o más direcciones IP para los nodos del plano de control. La configuración de emparejamiento BGP del balanceo de carga del plano de control no se puede actualizar después de crear el clúster.
Opcional. Cadena (dirección IPv4). La dirección IP de un dispositivo de peerings externo de tu red local.
Para obtener más información, consulta el artículo sobre cómo configurar balanceadores de carga agrupados con BGP.
Recurso de clúster
Opcional
Modificable
loadBalancer.bgpPeers.asn
Opcional. Cadena. El número de sistema autónomo (ASN) de la red
que contiene el dispositivo peer externo. Especifica un ASN para cada peer de BGP que configures para el balanceo de carga del plano de control al configurar la solución de balanceo de carga agrupada que usa BGP.
Para obtener más información, consulta el artículo sobre cómo configurar balanceadores de carga agrupados con BGP.
Recurso de clúster
Opcional
Modificable
loadBalancer.bgpPeers.controlPlaneNodes
Opcional. Matriz de direcciones IP (IPv4). Una o varias direcciones IP de los nodos del plano de control que se conectan al peer BGP externo cuando configuras la solución de balanceo de carga agrupada que usa BGP. Si no especificas ningún nodo del plano de control, todos los nodos del plano de control se conectarán al peer externo. Si especifica una o varias direcciones IP, solo participarán en las sesiones de emparejamiento los nodos especificados.
Para obtener más información, consulta el artículo sobre cómo configurar balanceadores de carga agrupados con BGP.
Recurso de clúster
Opcional
Modificable
maintenanceBlocks.cidrBlocks
Opcional. Una única dirección IPv4 o un intervalo de direcciones IPv4. Especifica las direcciones IP de las máquinas de los nodos que quieras poner en modo de mantenimiento. Para obtener más información, consulta el artículo sobre cómo poner los nodos en modo de mantenimiento.
Por ejemplo:
maintenanceBlocks:cidrBlocks:-192.168.1.200# Single machine-192.168.1.100-192.168.1.109# Ten machines
Recurso de clúster
Opcional
Modificable
nodeAccess.loginUser
Opcional. Cadena. Especifica el nombre de usuario no raíz que quieras usar para acceder a la función SUDO sin contraseña en las máquinas de nodos de tu clúster. Tu clave SSH,
sshPrivateKeyPath, debe
funcionar para el usuario especificado. Las operaciones de creación y actualización de clústeres comprueban que se pueda acceder a las máquinas de los nodos con el usuario y la clave SSH especificados.
Recurso de clúster
Opcional
Modificable
osEnvironmentConfig.addPackageRepo
Opcional. Booleano (true | false). Especifica si se debe usar tu propio servidor de repositorio de paquetes en lugar del repositorio de Docker apt predeterminado. Para usar tu propio repositorio de paquetes, asigna el valor addPackageRepo a false. Usa esta función para no tener que añadir repositorios de paquetes a cada máquina física de tu implementación. Para obtener más información, consulta Usar un servidor de repositorio de paquetes privado.
Recurso de clúster
Opcional
Inmutable
nodeConfig
Esta sección contiene ajustes para la configuración de los nodos del clúster.
Recurso de clúster
Opcional
Mutable (solo para actualizaciones)
nodeConfig.containerRuntime (obsoleta)
Obsoleto. A partir de la versión 1.13.0, Google Distributed Cloud solo admite containerd como tiempo de ejecución de contenedores. El campo containerRuntime está obsoleto y se ha eliminado del archivo de configuración del clúster generado. En las versiones 1.13.0 y posteriores del software de Google Distributed Cloud, si el archivo de configuración del clúster contiene este campo, el valor debe ser containerd.
Recurso de clúster
Opcional
Mutable (solo para actualizaciones)
nodeConfig.podDensity
En esta sección se especifica la configuración de densidad de pods.
Recurso de clúster
Opcional
Inmutable
nodeConfig.podDensity.maxPodsPerNode
Opcional. Número entero. Especifica el número máximo de pods que se pueden ejecutar en un solo nodo. En los clústeres autogestionados, los valores permitidos de maxPodsPerNode son 32-250 en los clústeres de alta disponibilidad y 64-250 en los clústeres que no son de alta disponibilidad. En el caso de los clústeres de usuarios, los valores permitidos de maxPodsPerNode son 32-250.
Si no se especifica ningún valor, el valor predeterminado es 110. Una vez que se haya creado el clúster, no se podrá actualizar este valor.
Kubernetes asigna un bloque de enrutamiento entre dominios sin clases (CIDR) a cada nodo para que cada pod pueda tener una dirección IP única. El tamaño del bloque CIDR corresponde al número máximo de pods por nodo.
Para obtener más información sobre cómo definir el número máximo de pods por nodo, consulta Red de pods.
Recurso de clúster
Opcional
Inmutable
nodeConfig.privateRegistries
En esta sección se especifica una configuración de registro privado a nivel de nodo para los clústeres de usuario. Los registros privados a nivel de nodo están pensados para usarse con tus cargas de trabajo y te permiten tener más control sobre las extracciones de imágenes y la seguridad relacionada.
En el caso de los clústeres de administrador, el registro privado a nivel de nodo se especifica en la sección Credentials del archivo de configuración del clúster de administrador.
Si procede, usa esta sección para especificar el nombre y el espacio de nombres del secreto que se ha creado para almacenar el certificado de la CA (CA raíz del servidor) del registro privado. Si tu registro local no requiere un certificado TLS privado, puedes omitir este bloque.
En la siguiente lista se muestra la fase de lanzamiento por versión para configurar un registro privado a nivel de nodo:
Cadena. Este campo especifica el host y el puerto de un único registro privado. Puede especificar el host con un nombre de dominio o una dirección IP. No incluyas el prefijo http o https.
El campo host es obligatorio cuando se especifica un registro privado para un clúster de usuario.
En la siguiente lista se muestra la fase de lanzamiento por versión para configurar un registro privado a nivel de nodo:
Cuando corresponda, use esta sección para especificar el nombre y el espacio de nombres del secreto que se ha creado para almacenar las credenciales del registro privado.
Usa el bloque pullCredentialSecretRef cuando configures un clúster de usuario para dar acceso a los nodos a un registro privado que requiera autenticación.
En la siguiente lista se muestra la fase de lanzamiento por versión para configurar un registro privado a nivel de nodo:
Opcional. Esta sección contiene ajustes para configurar la estrategia de actualización de los grupos de nodos de trabajador de tu clúster. Para obtener más información, consulta Actualizaciones paralelas.
Recurso de clúster
Opcional
Modificable
nodePoolUpgradeStrategy.concurrentNodePools
Opcional. Booleano (0 o 1). Valor predeterminado: 1.
Este campo especifica si se deben actualizar todos los grupos de nodos de trabajo de un clúster simultáneamente. De forma predeterminada (1), las actualizaciones se realizan de forma secuencial, una después de la otra. Si asignas el valor 0 a concurrentNodePools, todos los grupos de nodos de trabajo del clúster se actualizarán en paralelo.
Los nodos de cada grupo de nodos de trabajador se actualizan según la estrategia de actualización de su especificación NodePool correspondiente.
Recurso de clúster
Opcional
Modificable
nodePoolUpgradeStrategy.pause
Opcional. Booleano (true o false). Valor predeterminado:
false. Este campo especifica si se debe pausar o reanudar una actualización de clúster activa.
Esta sección contiene información de configuración para las comprobaciones de estado periódicas. En el recurso Cluster, el único ajuste disponible para las comprobaciones de estado periódicas es el campo enable. Para obtener más información, consulta Comprobaciones de estado periódicas.
Recurso de clúster
Opcional
Modificable
periodicHealthCheck.enable
Opcional. Booleano (true|false). Habilita o inhabilita las comprobaciones de estado periódicas de tu clúster. Las comprobaciones periódicas del estado de salud están habilitadas de forma predeterminada en todos los clústeres. Para inhabilitar las comprobaciones de estado periódicas de un clúster, asigna el valor false al campo periodicHealthCheck.enable.
Para obtener más información, consulta Inhabilitar las comprobaciones de estado periódicas.
Recurso de clúster
Opcional
Modificable
profile
Opcional. Cadena. Si profile se define como edge
en un clúster independiente, se minimiza el consumo de recursos del
clúster. El perfil de periferia solo está disponible para clústeres independientes.
El perfil perimetral tiene requisitos de recursos del sistema reducidos y se recomienda para dispositivos perimetrales con restricciones de recursos.
Para consultar los requisitos de hardware asociados al perfil de edge, consulta los requisitos de recursos para clústeres independientes que usan el perfil de edge.
Recurso de clúster
Opcional
Inmutable
proxy
Si tu red está detrás de un servidor proxy, rellena esta sección.
De lo contrario, elimina esta sección.
Recurso de clúster
Opcional
Modificable
proxy.noProxy
Cadena. Lista separada por comas de direcciones IP, intervalos de direcciones IP, nombres de host y nombres de dominio que no deben pasar por el servidor proxy. Cuando tu clúster envía una solicitud a una de estas direcciones,
hosts o dominios, la solicitud se envía directamente.
Recurso de clúster
Opcional
Inmutable
proxy.url
Cadena. La dirección HTTP de tu servidor proxy. Incluye el número de puerto, aunque sea el mismo que el puerto predeterminado del esquema.
Opcional. Booleano (true|false). Habilita o inhabilita seccomp en todo el clúster. Si este campo está inhabilitado, los contenedores sin un perfil seccomp en el archivo de configuración del clúster se ejecutan sin restricciones. Si este campo está habilitado, esos mismos contenedores se protegen con el perfil seccomp predeterminado del tiempo de ejecución del contenedor. Esta opción está habilitada de forma predeterminada.
Después de crear el clúster, este campo solo se puede activar o desactivar durante la actualización.
Para obtener más información, consulta Usar seccomp para restringir contenedores.
Recurso de clúster
Opcional
Mutable (solo para actualizaciones)
clusterSecurity.enableRootlessContainers
Opcional. Booleano (true|false). Habilita o inhabilita los contenedores del sistema bare metal sin root. Cuando este campo está habilitado, los contenedores del sistema de hardware físico se ejecutan como un usuario que no es root con un ID de usuario comprendido entre 2000 y 5000. Cuando está inhabilitada, los contenedores del sistema bare metal se ejecutan como usuario raíz. Esta función está habilitada de forma predeterminada. No se recomienda desactivar esta función, ya que ejecutar contenedores como usuario root supone un riesgo para la seguridad. Después de crear el clúster, este campo solo se puede activar o desactivar durante la actualización. Para obtener más información, consulta No ejecutes contenedores como usuario root.
Recurso de clúster
Opcional
Mutable (solo para actualizaciones)
clusterSecurity.authorization
Opcional. La autorización configura el acceso de los usuarios al clúster.
Recurso de clúster
Opcional
Modificable
clusterSecurity.authorization.clusterAdmin
Opcional. Especifica el administrador del clúster.
Opcional. El campo gcpAccounts especifica una lista de cuentas a las que se les ha concedido el rol de control de acceso basado en roles (RBAC) de Kubernetes clusterrole/cluster-admin. Las cuentas con este rol tienen acceso completo a todos los recursos del clúster en todos los espacios de nombres. Este campo también configura las políticas de RBAC que permiten que las cuentas especificadas usen la puerta de enlace de conexión para ejecutar comandos kubectl en el clúster. Esto resulta útil si tienes varios clústeres que gestionar, sobre todo en un entorno híbrido con clústeres de GKE y on‐premise.
Este campo acepta una matriz de nombres de cuenta. Se admiten cuentas de usuario y cuentas de servicio. En el caso de los usuarios, debes especificar sus
Google Cloud direcciones de correo de la cuenta. En el caso de las cuentas de servicio, especifica las direcciones de correo en el siguiente formato:
SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com.
Por ejemplo:
Cuando actualices un clúster para añadir una cuenta, asegúrate de incluir todas las cuentas en la lista (tanto las que ya estaban como las nuevas), ya que el comando de actualización sobrescribe la lista con lo que especifiques en la actualización.
Este campo solo se aplica a los clústeres que pueden ejecutar cargas de trabajo. Por ejemplo, no puedes especificar gcpAccounts para los clústeres de administrador.
Recurso de clúster
Opcional
Modificable
clusterSecurity.startUIDRangeRootlessContainers
Opcional. Número entero. Valor predeterminado: 2000. Los contenedores del sistema del software de Google Distributed Cloud ayudan a instalar y gestionar clústeres.
Los IDs de usuario (UIDs) y los IDs de grupo (GIDs) que usan estos contenedores se pueden controlar mediante el campo startUIDRangeRootlessContainers
de la especificación del clúster. Los contenedores del sistema usan los UIDs y los GIDs del intervalo startUIDRangeRootlessContainers a startUIDRangeRootlessContainers + 2999, lo que da un intervalo de 2000-4999 de forma predeterminada. Cuando actualices startUIDRangeRootlessContainers, selecciona un valor que asegure que los espacios UID y GID que usan los contenedores del sistema no se solapen con los asignados a las cargas de trabajo de los usuarios. El valor de startUIDRangeRootlessContainers solo se puede cambiar durante las actualizaciones.
Obligatorio. Cadena. Usa el campo path para especificar la ruta de la máquina host donde se pueden detectar los discos montados. Se crea un PersistentVolume (PV) local para cada montaje. La ruta predeterminada es /mnt/localpv-share. Para obtener instrucciones sobre cómo configurar los montajes de nodos, consulta Configurar montajes de nodos de LVP.
Recurso de clúster
Obligatorio
Inmutable
storage
Esta sección contiene los ajustes del almacenamiento del clúster.
Recurso de clúster
Obligatorio
Inmutable
storage.lvpNodeMounts
En esta sección se especifica la configuración (ruta) de los volúmenes persistentes locales respaldados por discos montados. Debes formatear y montar estos discos por tu cuenta. Puedes hacerlo antes o después de crear el clúster. Para obtener más información, consulta Montajes de nodos de LVP.
Recurso de clúster
Obligatorio
Inmutable
storage.lvpShare
En esta sección se especifica la configuración de los volúmenes persistentes locales
respaldados por subdirectorios de un sistema de archivos compartido. Estos subdirectorios se crean automáticamente durante la creación del clúster.
Para obtener más información, consulta el artículo sobre compartir LVP.
Recurso de clúster
Obligatorio
Inmutable
storage.lvpShare.path
Obligatorio. Cadena. Usa el campo path para especificar la ruta de la máquina host en la que se pueden crear subdirectorios. Se crea un PersistentVolume (PV) local para cada subdirectorio. Para
consultar las instrucciones para configurar tu recurso compartido de LVP, consulta
Configurar
un recurso compartido de LVP.
Recurso de clúster
Obligatorio
Inmutable
storage.lvpShare.numPVUnderSharedPath
Obligatorio. Cadena. Especifica el número de subdirectorios que se crearán en lvpShare.path. El valor predeterminado es 5. Para
consultar las instrucciones para configurar tu recurso compartido de LVP, consulta
Configurar
un recurso compartido de LVP.
Recurso de clúster
Obligatorio
Inmutable
storage.lvpShare.storageClassName
Obligatorio. Cadena. Especifica la StorageClass que se va a usar para crear volúmenes persistentes. StorageClass se crea durante la creación del clúster. El valor predeterminado es local-shared. Para obtener instrucciones sobre cómo configurar tu recurso compartido de LVP, consulta Configurar un recurso compartido de LVP.
Recurso de clúster
Opcional
Inmutable
type
Obligatorio. Cadena. Especifica el tipo de clúster. El modelo de implementación estándar consta de un solo clúster de administrador y uno o varios clústeres de usuario, que están gestionados por el clúster de administrador.
El software de Google Distributed Cloud admite los siguientes tipos de clústeres:
Administrador: clúster usado para gestionar clústeres de usuarios.
Usuario: clúster usado para ejecutar cargas de trabajo.
Híbrido: un solo clúster para la administración y las cargas de trabajo, que también puede gestionar clústeres de usuarios.
Independiente: un solo clúster que puede administrarse a sí mismo y que también puede ejecutar cargas de trabajo, pero no puede crear ni gestionar otros clústeres de usuarios.
El tipo de clúster se especifica al crear el clúster y no se puede cambiar en las actualizaciones. Para obtener más información sobre cómo crear un clúster, consulta el artículo Crear clústeres: descripción general.
Valores permitidos: admin | user | hybrid | standalone
Este valor no se puede modificar en los clústeres ya creados.
Opcional. Usa esta sección para especificar el modo de funcionamiento del autoescalado vertical de pods. Esta función está disponible en la
vista previa para clústeres de la versión 1.33
y posteriores.
Por ejemplo:
apiVersion:baremetal.cluster.gke.io/v1kind:Clustermetadata:name:cluster1namespace:cluster-cluster1annotations:preview.baremetal.cluster.gke.io/vertical-pod-autoscaler:enablespec:# ... other cluster spec fieldsverticalPodAutoscaling:# Set to true for automated updatesenableUpdater:true# Set to true to reduce recommender memory usageenableMemorySaver:true
Puedes actualizar tu clúster en cualquier momento para habilitar, inhabilitar o configurar el autoescalado vertical de pods. Para obtener más información sobre cómo habilitar y usar el autoescalado de pods vertical, consulta el artículo sobre cómo configurar el autoescalado de pods vertical.
Opcional. Booleano (true|false). Habilita o inhabilita el modo Ahorro de memoria para el autoescalado vertical de pods. El modo de ahorro de memoria reduce el espacio de memoria del componente de recomendación de autoescalado vertical de pods. Si asignas el valor enableMemorySaver a
true, el recomendador solo monitoriza y calcula
agregaciones de pods que tengan un recurso personalizado VerticalPodAutoscaler
coincidente. El modo Ahorro de memoria
está inhabilitado (false) de forma predeterminada.
El autoescalado vertical de pods está disponible en la versión preliminar de los clústeres 1.33 y posteriores. Puedes actualizar tu clúster en cualquier momento para habilitar o inhabilitar el modo Ahorro de memoria. Para obtener más información, consulta Información sobre los modos de autoescalado de pods vertical.
Opcional. Booleano (true|false). Especifica el modo de aplicación de las recomendaciones de recursos de Pod:
En el modo de recomendación (enableUpdater: false), el autoescalado vertical de pods analiza el uso de recursos y publica los valores recomendados para las solicitudes y los límites de CPU y memoria en la sección de estado de los recursos personalizados VerticalPodAutoscaler que crees. En el modo de recomendación, para implementar los ajustes de recursos recomendados, debes editar los recursos manualmente.
En el modo de actualización automática (enableUpdater: true), el autoescalado de pods vertical analiza el uso de recursos y publica los valores recomendados para las solicitudes y los límites de CPU y memoria en la sección de estado de los recursos personalizados VerticalPodAutoscaler que crees. A continuación, el autoescalado de pods vertical aplica automáticamente las recomendaciones.
De forma predeterminada, el autoescalador vertical de pods se ejecuta en modo de recomendación
(enableUpdater: false).
El autoescalado vertical de pods está disponible en la versión preliminar de los clústeres 1.33 y posteriores. Puedes actualizar tu clúster en cualquier momento para especificar el modo de aplicar las recomendaciones de recursos de pods. Para obtener más información, consulta Información sobre los modos de autoescalado de pods vertical.
Recurso de clúster
Opcional
Modificable
name
Obligatorio. Cadena. Normalmente, el nombre del espacio de nombres sigue el patrón cluster-CLUSTER_NAME, pero el prefijo cluster- no es estrictamente necesario desde la versión 1.7.2 del software de Google Distributed Cloud.
Este valor no se puede modificar en los clústeres ya creados.
Recurso de espacio de nombres
Obligatorio
Inmutable
clusterName
Cadena. Obligatorio. El nombre del clúster al que vas a añadir el grupo de nodos. Crea el recurso del grupo de nodos en el mismo espacio de nombres que el clúster asociado y haz referencia al nombre del clúster en este campo. Para obtener más información, consulta el artículo Añadir y eliminar grupos de nodos en un clúster.
Opcional. Número entero (no negativo). Especifica la cantidad máxima de solicitudes de extracción de imágenes que se pueden añadir a la cola de procesamiento para gestionar los picos de solicitudes. En cuanto se inicia una extracción, se puede añadir una nueva solicitud a la cola. El valor predeterminado es 10. Este campo se corresponde con la opción de configuración registryBurst
kubelet (v1beta1).
El valor de registryPullQPS tiene prioridad sobre este ajuste. Por ejemplo, con la configuración predeterminada, se permiten ráfagas de hasta 10 consultas simultáneas, pero deben procesarse a la velocidad predeterminada de cinco consultas por segundo. Este comportamiento de ráfaga solo se usa cuando registryPullQPS es mayor que 0.
Este campo se puede definir al crear, actualizar o cambiar a una versión superior de un clúster, y el ajuste se mantiene durante las actualizaciones del clúster. Para obtener más información, consulta Configurar los ajustes de extracción de imágenes de kubelet.
Recurso NodePool
Opcional
Modificable
kubeletConfig.registryPullQPS
Opcional. Número entero (no negativo). Especifica la frecuencia de procesamiento de las consultas de extracción de imágenes de Artifact Registry en consultas por segundo (CPS).
Si registryPullQPS tiene un valor superior a 0, la frecuencia de consultas se limita a ese número de consultas por segundo. Si registryPullQPS se define como 0, no hay restricciones en la frecuencia de las consultas. El valor predeterminado es 5.
Este campo se corresponde con la opción de configuración registryPullQPS
kubelet (v1beta1).
Este campo se puede definir al crear, actualizar o cambiar a una versión superior de un clúster, y el ajuste se mantiene durante las actualizaciones del clúster. Para obtener más información, consulta Configurar los ajustes de extracción de imágenes de kubelet.
Recurso NodePool
Opcional
Modificable
kubeletConfig.serializeImagePulls
Opcional. Booleano (true|false). Este campo especifica si las extracciones de Artifact Registry se procesan en paralelo o de una en una. El valor predeterminado es true, que especifica que las solicitudes de extracción se procesan de una en una. Si se define como false, kubelet
extrae las imágenes en paralelo. Este campo se corresponde con la opción de configuración serializeImagePulls
kubelet (v1beta1).
Este campo se puede definir al crear, actualizar o cambiar a una versión superior de un clúster, y el ajuste se mantiene durante las actualizaciones del clúster. Para obtener más información, consulta Configurar los ajustes de extracción de imágenes de kubelet.
Recurso NodePool
Opcional
Modificable
taints
Opcional. Objeto. Un taint de nodo te permite marcar un nodo para que el
programador evite o impida usarlo para determinados pods. Un taint
consta de un par clave-valor y un efecto asociado. Los valores key y value son cadenas que se usan para identificar la contaminación, y el valor effect especifica cómo se gestionan los pods del nodo. El objeto taints puede tener varios taints.
El campo effect puede tener uno de los siguientes valores:
NoSchedule: ningún pod puede programarse en el nodo a menos que tenga una tolerancia coincidente.
PreferNoSchedule: el sistema evita colocar un pod
que no tolera el taint en el nodo, pero no es
obligatorio.
NoExecute: los pods que no toleran el taint se expulsan inmediatamente, y los que sí lo toleran nunca se expulsan.
En el caso del software de Google Distributed Cloud, las marcas se reconcilian con los nodos del grupo de nodos, a menos que se aplique la anotación baremetal.cluster.gke.io/label-taint-no-sync
al clúster. Para obtener más información sobre las intolerancias, consulta Intolerancias y tolerancias.
Por ejemplo:
taints:-key:statusvalue:testpooleffect:NoSchedule
Recurso NodePool
Opcional
Modificable
labels
Opcional. Asignación (pares clave-valor).
Las etiquetas se reconcilian con los nodos del grupo de nodos, a menos que se aplique la anotación baremetal.cluster.gke.io/label-taint-no-sync al clúster. Para obtener más información sobre las etiquetas, consulta Etiquetas y selectores.
Recurso NodePool
Opcional
Modificable
upgradeStrategy
Opcional. En esta sección se incluyen los ajustes para configurar la estrategia de actualización de los nodos de un grupo de nodos de trabajador. Para obtener más información, consulta Actualizaciones paralelas.
Nota: No añadas esta sección a los grupos de nodos del plano de control ni del balanceador de carga.
Recurso NodePool
Opcional
Modificable
upgradeStrategy.parallelUpgrade
Opcional. En esta sección se incluyen los ajustes para configurar las actualizaciones de nodos paralelas de un grupo de nodos de trabajador. En una actualización de clúster predeterminada, cada nodo del clúster se actualiza secuencialmente, uno después del otro. Puedes configurar grupos de nodos de trabajador para que varios nodos se actualicen en paralelo al actualizar el clúster. Actualizar los nodos en paralelo acelera significativamente las actualizaciones de los clústeres, sobre todo en el caso de los clústeres que tienen cientos de nodos.
En un grupo de nodos de trabajo, puedes especificar el número de nodos que se van a actualizar simultáneamente y establecer un umbral mínimo para el número de nodos que pueden ejecutar cargas de trabajo durante todo el proceso de actualización.
Opcional. Número entero (positivo). Valor predeterminado: 1. Máximo: 15.
De forma predeterminada (1), los nodos se actualizan secuencialmente, uno después del otro. Si asignas a concurrentNodes un número mayor que 1, este campo especifica el número de nodos que se van a actualizar en paralelo. Ten en cuenta las siguientes
restricciones de concurrentNodes:
El valor no puede superar el menor de los dos valores siguientes: el 50 % del número de nodos del grupo de nodos o el número fijo 15. Por ejemplo, si tu
grupo de nodos tiene 20 nodos, no puedes especificar un valor superior a
10. Si tu grupo de nodos tiene 100 nodos, 15 es el valor máximo que puedes especificar.
Si usa este campo junto con el campo minimumAvailableNodes, sus valores combinados no pueden superar el número total de nodos del pool de nodos. Por ejemplo, si tu pool de nodos tiene 20 nodos y minimumAvailableNodes está definido como 18, concurrentNodes no puede superar 2.
Las actualizaciones paralelas no respetan el presupuesto de interrupción de pods (PDB).
Si tus cargas de trabajo son sensibles a las interrupciones, te recomendamos que especifiques minimumAvailableNodes para asegurarte de que haya un número determinado de nodos disponibles para ejecutar cargas de trabajo durante todo el proceso de actualización. Para obtener más información, consulta Actualizaciones paralelas.
Opcional. Número entero (no negativo). Valor predeterminado: depende de concurrentNodes. Para obtener más información sobre los valores predeterminados de minimumAvailableNodes, consulta
Valores predeterminados de la actualización paralela. El minimumAvailableNodes te permite especificar la cantidad de nodos del grupo de nodos que deben permanecer disponibles durante todo el proceso de actualización. Se considera que un nodo no está disponible
cuando se está actualizando. Un nodo también se considera no disponible cuando se cumple alguna de las siguientes condiciones:
El nodo está en modo de mantenimiento
El nodo está conciliando
El nodo se ha detenido en mitad de una actualización
Si usa este campo junto con el campo concurrentNodes, sus valores combinados no pueden superar el número total de nodos del pool de nodos. Por ejemplo, si tu pool de nodos tiene 20 nodos y concurrentNodes está definido como 10, minimumAvailableNodes no puede superar 10.
Un valor alto de minimumAvailableNodes minimiza los problemas de capacidad para programar pods y, por lo tanto, ayuda a proteger las cargas de trabajo durante una actualización del clúster. Sin embargo, un valor alto para minimumAvailableNodes
aumenta el riesgo de que una actualización se quede bloqueada esperando a que los nodos
estén disponibles. Para obtener más información, consulta Actualizaciones paralelas.
Recurso NodePool
Opcional
Modificable
privateRegistries
Opcional. Usa esta sección para especificar un registro privado que se usará para las imágenes de carga de trabajo. Este método para configurar el registro privado en la sección de credenciales del archivo de configuración del clúster es para clústeres híbridos o independientes que solo tienen grupos de nodos de trabajo.
Cadena. Este campo especifica el host y el puerto de un único registro privado. Puede especificar el host con un nombre de dominio o una dirección IP. No incluyas el prefijo http o https.
El campo host es obligatorio cuando se especifica un registro privado para un clúster híbrido o independiente.
Por ejemplo:
-host:10.200.0.2:5007
Credenciales
Opcional
Modificable
privateRegistries.caCertPath
Opcional. Cadena. Ruta del archivo de certificado de la AC (AC raíz del servidor) si el servidor de registro usa un certificado TLS privado. Si tu registro local no requiere un certificado TLS privado, puedes omitir este campo.
Credenciales
Opcional
Modificable
privateRegistries.pullCredentialConfigPath
Opcional. Cadena. Ruta del archivo de configuración de la CLI de Docker, config.json. Docker guarda la configuración de autenticación en el archivo de configuración. Este campo solo se aplica al uso de registros privados a nivel de nodo.
Usa el campo pullCredentialConfigPath cuando
configures un clúster híbrido o independiente para dar acceso a los nodos a un registro privado
que requiera autenticación.
Credenciales
Opcional
Modificable
registryMirrors
Opcional. Usa esta sección para especificar una réplica de registro que se utilizará para instalar clústeres en lugar de Artifact Registry (gcr.io). Para obtener más información sobre cómo usar una réplica de registro, consulta Usar una réplica de registro para imágenes de contenedor.
Cadena. El endpoint del mirror, que consta de la dirección IP y el número de puerto del servidor de registro. Opcionalmente, puedes usar tu propio espacio de nombres en tu servidor de registro en lugar del espacio de nombres raíz. Sin un espacio de nombres, el formato del endpoint es REGISTRY_IP:PORT. Cuando usas un espacio de nombres, el formato del endpoint es REGISTRY_IP:PORT/v2/NAMESPACE.
El /v2 es obligatorio cuando se especifica un espacio de nombres.
El campo endpoint es obligatorio cuando se especifica un registro de réplica. Puedes especificar varias réplicas y endpoints.
Opcional. Cadena. Ruta del archivo de certificado de la AC (AC raíz del servidor) si el servidor de registro usa un certificado TLS privado. Si tu registro local no requiere un certificado TLS privado, puedes omitir este campo.
Réplica de registro
Opcional
Modificable
registryMirrors.pullCredentialConfigPath
Opcional. Cadena. Ruta del archivo de configuración de la CLI de Docker, config.json. Docker guarda la configuración de autenticación en el archivo de configuración. Este campo solo se aplica al uso de réplicas de registros. Si tu servidor de registro no requiere un archivo de configuración de Docker para la autenticación, puedes omitir este campo.
Opcional. Es un array de nombres de dominio de los hosts que se replican de forma local para el registro de réplica determinado (endpoint). Cuando el tiempo de ejecución del contenedor recibe solicitudes de extracción de imágenes de un host especificado, primero comprueba el registro de réplica local. Para obtener más información, consulta Crear clústeres a partir de la réplica del registro.
El archivo de configuración del clúster generado por bmctl
incluye campos para especificar las rutas a los archivos de credenciales y claves en
el sistema de archivos local. Estas credenciales y claves son necesarias para conectar tus clústeres entre sí y con tu proyecto de Google Cloud .
Cadena. Ruta a una clave de cuenta de servicio que tenga los permisos de gestión de identidades y accesos necesarios para acceder a los recursos de Artifact Registry.
Credenciales
Opcional
Modificable
sshPrivateKeyPath
Cadena. Ruta a la clave privada SSH. Se necesita SSH para acceder a los nodos.
Credenciales
Opcional
Modificable
gkeConnectAgentServiceAccountKeyPath
Cadena. Ruta a la clave de la cuenta de servicio del agente.
Google Distributed Cloud usa esta cuenta de servicio para mantener una conexión entre tus clústeres on-premise y Google Cloud.
Cadena. Ruta a la clave de la cuenta de servicio de registro.
Google Distributed Cloud usa esta cuenta de servicio para registrar tus clústeres de usuario en Google Cloud.
Cadena. Ruta a la clave de la cuenta de servicio de operaciones.
Google Distributed Cloud usa la cuenta de servicio de operaciones para autenticarse en Google Cloud Observability y acceder a las APIs Logging y Monitoring. A excepción de los clústeres de usuario, se requiere la clave de la cuenta de servicio de operaciones. Los clústeres de usuarios utilizan las credenciales que se especificaron para el clúster de gestión (administrador o híbrido).
No puedes inhabilitar Cloud Logging ni Cloud Monitoring en tus clústeres.
Define la configuración del intervalo CIDR de IPv4. Se debe proporcionar al menos uno de los campos ipv4 o ipv6 para el recurso ClusterCidrConfig.
Recurso ClusterCIDRConfig
Opcional
Inmutable
ipv4.cidr
Cadena. Define el bloque CIDR del nodo IPv4. Los nodos solo pueden tener un intervalo
de cada familia. Este bloque CIDR debe coincidir con el CIDR de pod descrito en el recurso Cluster.
Por ejemplo:
ipv4:cidr:"10.1.0.0/16"
Recurso ClusterCIDRConfig
Obligatorio
Inmutable
ipv4.perNodeMaskSize
Número entero. Define el tamaño de la máscara del bloque CIDR IPv4 del nodo. Por ejemplo, el valor 24 se traduce en máscara de red /24. Asegúrate de que la máscara de red del bloque CIDR del nodo sea mayor que la cantidad máxima de pods que puede programar kubelet, que se define en la marca --max-pods de kubelet.
Recurso ClusterCIDRConfig
Obligatorio
Inmutable
ipv6
Define la configuración del intervalo CIDR de IPv6. Se debe proporcionar al menos uno de los campos ipv4 o ipv6 para el recurso ClusterCidrConfig.
Recurso ClusterCIDRConfig
Opcional
Inmutable
ipv6.cidr
Cadena. Define el bloque CIDR del nodo IPv6. Los nodos solo pueden tener un intervalo
de cada familia.
Por ejemplo:
ipv6:cidr:"2620:0:1000:2631:3:10:3:0/112"
Recurso ClusterCIDRConfig
Obligatorio
Inmutable
ipv6.perNodeMaskSize
Número entero. Define el tamaño de la máscara del bloque CIDR IPv6 del nodo. Por ejemplo, el valor 120 se traduce en máscara de red /120. Asegúrate de que la máscara de red del bloque CIDR del nodo sea mayor que la cantidad máxima de pods que puede programar kubelet, que se define en la marca --max-pods de kubelet.
Recurso ClusterCIDRConfig
Obligatorio
Inmutable
nodeSelector.matchLabels
Define a qué nodos se aplica la configuración de CIDR. Un selector de nodos vacío
funciona como valor predeterminado que se aplica a todos los nodos.
[[["Es fácil de entender","easyToUnderstand","thumb-up"],["Me ofreció una solución al problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Es difícil de entender","hardToUnderstand","thumb-down"],["La información o el código de muestra no son correctos","incorrectInformationOrSampleCode","thumb-down"],["Me faltan las muestras o la información que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-19 (UTC)."],[],[],null,[]]