Los clústeres de Anthos en Bare Metal ahora son Google Distributed Cloud (solo software) para Bare Metal. Para obtener más información, consulta la descripción general del producto.
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
En esta página, se describen los campos admitidos en el archivo de configuración del clúster de Google Distributed Cloud (solo software) en Bare Metal. En la siguiente tabla, se identifica si el campo es obligatorio para cada campo. En la tabla, también se muestra qué campos son mutables, lo que significa que se pueden cambiar después de la creación de un clúster. Como se indicó en la tabla, algunos campos mutables solo se pueden cambiar durante una actualización del clúster.
Genera una plantilla para tu 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 completar automáticamente, este archivo de configuración de formato YAML es una plantilla para especificar información sobre tu clúster.
Si deseas crear un archivo de configuración de clúster nuevo, usa el siguiente comando en la carpeta /baremetal:
bmctlcreateconfig-cCLUSTER_NAME
Reemplaza CLUSTER_NAME por el nombre del clúster que deseas 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 Muestra del archivo de configuración del clúster.
Completa el archivo de configuración
En tu archivo de configuración, ingresa los valores de campo como se describe en la siguiente tabla de referencia de campo antes de crear o actualizar tu clúster.
Campos de configuración del clúster
Nombre del campo
Tipo de recurso
¿Es obligatorio?
Mutable
anthosBareMetalVersion
Obligatorio. String. Es la versión del clúster. Este valor se establece para la creación y las actualizaciones de clústeres.
Mutabilidad: Este valor no se puede modificar en clústeres existentes.
La versión solo se puede actualizar a través del proceso de actualización de clústeres.
Recurso de clúster
Obligatorio
Mutable
authentication
Esta sección contiene la configuración necesaria para usar OpenID Connect (OIDC).
OIDC te permite usar tu proveedor de identidad existente para administrar la autenticación de usuarios y grupos en tus clústeres.
Recurso de clúster
—
—
authentication.oidc.certificateAuthorityData
Opcional. Un certificado con codificación PEM codificada en base64 para el proveedor de OIDC. Para crear la string, codifica el certificado,
incluidos los encabezados, en base64. Incluye la string resultante en certificateAuthorityData como una certificateAuthorityData
sola línea.
Opcional. String. Es el ID de la aplicación cliente que realiza solicitudes de autenticación al proveedor de OpenID.
Recurso de clúster
Optional
Inmutable
authentication.oidc.clientSecret
Opcional. String. Un secreto compartido entre la aplicación cliente de OIDC y el proveedor de OIDC.
Recurso de clúster
Optional
Inmutable
authentication.oidc.deployCloudConsoleProxy
Opcional. Booleano (true|false). Especifica si se implementa un proxy inverso en el clúster para conectar la consola de Google Cloud a un proveedor de identidad local que no es de acceso público a través de Internet. Si no se puede acceder al proveedor de identidad a través de la Internet pública, establece este campo en true para autenticarte con la consola de Google Cloud. De forma predeterminada, este valor se establece en false.
Recurso de clúster
Optional
Inmutable
authentication.oidc.extraParams
Opcional. Lista delimitada por comas. Los parámetros de clave-valor adicionales para enviar al proveedor de OpenID.
Recurso de clúster
Optional
Inmutable
authentication.oidc.groupPrefix
Opcional. String. El prefijo que se antepone a las reclamaciones de grupos para evitar conflictos con los nombres existentes. Por ejemplo, con un grupo dev y un prefijo oidc:, el valor es oidc:dev.
Recurso de clúster
Optional
Inmutable
authentication.oidc.group
Opcional. String.
La reclamación de JWT que el proveedor usa para mostrar los grupos de seguridad.
Recurso de clúster
Optional
Inmutable
authentication.oidc.issuerURL
Opcional. String de URL. La URL a la que se envían las solicitudes de autorización al OpenID, como https://example.com/adfs. El servidor de la API de Kubernetes usa esta URL a fin de descubrir claves públicas para la verificación de tokens. La URL debe usar HTTPS.
Recurso de clúster
Optional
Inmutable
authentication.oidc.kubectlRedirectURL
Opcional. String de URL. La URL de redireccionamiento que usa kubectl para la autorización. Cuando habilitas OIDC, debes especificar un valor de kubectlRedirectURL.
Recurso de clúster
Optional
Inmutable
authentication.oidc.proxy
Opcional. String de URL. Servidor proxy que se usará para que el clúster se conecte a tu proveedor de OIDC, si corresponde. El valor debe incluir un nombre de host y una dirección IP, y de forma opcional un puerto, un nombre de usuario y una contraseña. Por ejemplo: http://user:password@10.10.10.10:8888.
Recurso de clúster
Optional
Inmutable
authentication.oidc.scopes
Opcional. Lista delimitada por comas. Los permisos adicionales que se deben enviar al proveedor de OpenID. Microsoft Azure y Okta requieren el permiso offline_access.
Recurso de clúster
Optional
Inmutable
authentication.oidc.usernamePrefix
Opcional. String. Es el prefijo que se antepone a las reclamaciones de nombre de usuario.
Recurso de clúster
Optional
Inmutable
authentication.oidc.username
Opcional. String.
Es la reclamación de JWT que se debe usar como nombre de usuario.
Si no se especifica, el valor predeterminado es sub.
Recurso de clúster
Optional
Inmutable
bypassPreflightCheck
Opcional. Booleano (true|false). Cuando se establece en true, las comprobaciones preliminares internas se ignoran cuando se aplican recursos a los clústeres existentes. La configuración predeterminada es false.
Mutabilidad: Este valor se puede modificar para clústeres existentes con el comando bmctl update.
Recurso de clúster
Optional
Mutable
clusterNetwork
Esta sección contiene la configuración de red para tu clúster.
Recurso de clúster
Obligatorio
Mutable
clusterNetwork.advancedNetworking
Booleano. Configura este campo como true para habilitar las funciones de redes avanzadas, como el balanceo de cargas en paquetes con BGP o la puerta de enlace NAT de salida. Ambas funciones usan la puerta de enlace de red para GDC.
Network Gateway para GDC es el componente clave para habilitar las funciones avanzadas de redes en GKE Enterprise y Google Kubernetes Engine (GKE). Uno de los principales beneficios de Network Gateway para GDC es que puede asignar direcciones IP flotantes de forma dinámica a partir de un conjunto de direcciones que especifiques en un recurso personalizado NetworkGatewayGroup.
Booleano. Establece este campo en false para inhabilitar las funciones de Ingress
que se incluyen en el software de Google Distributed Cloud. Las capacidades de Ingress incluidas
para tu clúster solo admiten la entrada. Si te integras a Istio o a Cloud Service Mesh para obtener los beneficios adicionales de una malla de servicios completamente funcional, te recomendamos que inhabilites Ingress empaquetado. Este campo se establece como true de forma predeterminada. Este campo no está presente en el archivo de configuración del clúster generado. Puedes
inhabilitar el Ingress empaquetado solo para los clústeres de la versión 1.13.0 y versiones posteriores.
Booleano. Establece este campo en true para habilitar el modelo de redes del clúster 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 puerta de enlace intermedia ni traducción de direcciones de red (NAT).
flatIPv4 es false de forma predeterminada. Puedes habilitar el modo plano solo durante la creación del clúster. Una vez que habilites el modo plano para el clúster, no podrás inhabilitarlo.
Recurso de clúster
Optional
Inmutable
clusterNetwork.forwardMode
Opcional. String. Especifica el modo de red para el balanceo de cargas de Dataplane V2. La traducción de direcciones de red de origen (SNAT) es el modo de redes
predeterminado. El modo de devolución directa del servidor (DSR) supera los problemas con el balanceo de cargas de SNAT. En el modo DSR (forwardMode: dsr), el nodo del
balanceador de cargas usa opciones de IP para guardar la dirección de origen del cliente.
El modo de red para el balanceo de cargas de Dataplane V2 solo se puede configurar en el momento de la creación del clúster.
Obligatorio. Rango de direcciones IPv4 en formato de bloque CIDR. Especifica el rango de direcciones IP desde las que se asignan las direcciones IP virtuales de servicio (VIP). Estos rangos no debe superponerse con ninguna subred accesible desde tu red. Si deseas obtener más información sobre la asignación de direcciones para Internet privada, consulta RFC 1918.
A partir de la versión 1.15.0 del software de Google Distributed Cloud para Bare Metal, este campo es mutable. Si es necesario, puedes aumentar la cantidad
de direcciones IP asignadas para los servicios después de crear un
clúster. Para obtener más información, consulta Cómo aumentar el rango de la red de servicios.
Solo puedes aumentar el rango del CIDR del servicio IPv4. No se puede reducir el rango de red, lo que significa que no se puede aumentar la máscara (el valor después de “/”).
Rango de CIDR mínimo del servicio: Valor de máscara de /24, que corresponde a un tamaño de 8 bits (256 direcciones).
Rango de CIDR máximo del servicio: 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
Mutable
clusterOperations
En esta sección, se incluye información de Cloud Logging y Cloud Monitoring.
Recurso de clúster
Obligatorio
Mutable
clusterOperations.enableApplication
Este campo ya no se usa y no tiene efecto. El registro y la supervisión de la aplicación están habilitados en el recurso personalizado de Stackdriver. Para obtener más información sobre cómo habilitar la supervisión y el registro de aplicaciones, consulta Habilita la supervisión y el registro de aplicaciones.
Recurso de clúster
No-op
Mutable
clusterOperations.disableCloudAuditLogging
Booleano. Los Registros de auditoría de Cloud son útiles para investigar solicitudes sospechosas a la API y recopilar estadísticas. Los Registros de auditoría de Cloud están habilitados (disableCloudAuditLogging: false) de forma predeterminada. Configúralo como true para inhabilitar los Registros de auditoría de Cloud.
String. Es una región de Google Cloud en la que deseas enrutar y almacenar las métricas de Monitoring. Te recomendamos que elijas una región cercana a tu centro de datos local. Durante la creación del clúster, este valor se usa para establecer el valor clusterLocation en la especificación de recursos stackdriver.
Stackdriver también usa el valor que especifiques para etiquetar las métricas y los registros. Estas etiquetas se pueden usar para filtrar en el Explorador de métricas
y el Explorador de registros.
String. Es el ID del proyecto de Google Cloud en el que deseas ver los registros y las métricas. Durante la creación del clúster, este valor se usa para establecer el valor projectID en la especificación de recursos stackdriver.
Recurso de clúster
Obligatorio
Inmutable
controlPlane
En esta sección, se incluye información sobre el plano de control y sus componentes.
Recurso de clúster
Obligatorio
Mutable
controlPlane.apiServerCertExtraSANs
Opcional. Es un array de cadenas (nombres de dominio y direcciones IP). Un nombre alternativo de la entidad (SAN) es una función de los certificados SSL que te permite definir los nombres de dominio y los subdominios en los que deseas que sea válido un certificado. En un clúster para bare metal, las SAN 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 agregar SAN adicionales al certificado del servidor de la API del clúster. Los nombres de dominio deben cumplir con
RFC 1035.
Para obtener más información, consulta Cómo agregar dominios al certificado del servidor de la API.
Este campo se puede agregar o cambiar en cualquier momento.
Recurso de clúster
Optional
Mutable
controlPlane.nodePoolSpec
En esta sección, se especifican las direcciones IP para el grupo 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 cargas) 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 en el archivo de configuración del clúster. No modifiques directamente los recursos del grupo de nodos del plano de control de nivel superior. En su lugar, modifica las secciones asociadas en el archivo de configuración del clúster.
Recurso de clúster
Obligatorio
Mutable
controlPlane.nodePoolSpec.nodes
Obligatorio. Un array de direcciones IP. Por lo general, este array es una dirección IP para una sola máquina o direcciones IP para tres máquinas para una implementación de alta disponibilidad (HA).
Este campo se puede cambiar cada vez que actualizas un clúster.
Recurso de clúster
Obligatorio
Mutable
controlPlane.nodePoolSpec.nodes.address
Obligatorio. String (dirección IPv4). Cuando especificas un grupo de nodos, debes usar 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 los datos y el tráfico de Kubernetes. Sin embargo, si especificas la dirección k8sIP para un nodo determinado, el tráfico se divide entre las dos direcciones del nodo, y la dirección k8sIP se usa exclusivamente para los datos y el tráfico de Kubernetes.
Este campo se puede cambiar cada vez que actualizas un clúster.
Recurso de clúster
Obligatorio
Mutable
controlPlane.nodePoolSpec.nodes.k8sIP
Opcional. String (dirección IPv4). Cuando especificas la dirección k8sIP opcional para un nodo, esta se dedica a controlar los datos y el tráfico de Kubernetes del nodo, como las solicitudes y respuestas para la API de Kubernetes, el kubelet y las cargas de trabajo. Cuando especificas k8sIP,
se usa la dirección IP estándar del nodo nodePoolSpec.nodes.address
solo para las conexiones SSH al nodo. Si no especificas una dirección k8sIP, la dirección IP del nodo estándar controla 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 agregar a la cola de procesamiento para controlar los aumentos repentinos en las solicitudes. En cuanto comienza un retiro, se puede agregar una solicitud nueva a la fila. El valor predeterminado es 10. Este campo corresponde a la opción de configuración de registryBurst de kubelet (v1beta1).
El valor de registryPullQPS tiene prioridad sobre esta configuración. Por ejemplo, con la configuración predeterminada, se permiten ráfagas de hasta 10 consultas simultáneas, pero se deben procesar 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 establecer cada vez que creas, actualizas o mejoras un clúster, y el parámetro de configuración persiste en las actualizaciones del clúster. Para obtener más información, consulta Configura la configuración de extracción de imágenes de kubelet.
Opcional. Número entero (no negativo). Especifica la tasa de procesamiento de las consultas para extraer imágenes de Container Registry en consultas por segundo (QPS).
Cuando registryPullQPS se establece en un valor superior a 0, la
tasa de consultas se restringe a esa cantidad de consultas por segundo. Si registryPullQPS se establece en 0, no hay restricciones en la frecuencia de consultas. El valor predeterminado es 5.
Este campo corresponde a la opción de configuración de registryPullQPS de kubelet (v1beta1).
Este campo se puede establecer cada vez que creas, actualizas o mejoras un clúster, y el parámetro de configuración persiste en las actualizaciones del clúster. Para obtener más información, consulta Configura la configuración de extracción de imágenes de kubelet.
Opcional. Booleano (true|false). Este campo especifica si las extracciones del registro de contenedores se procesan en paralelo o una a la vez. El valor predeterminado es true, que especifica que los extracciones se procesan de a una a la vez. Cuando se establece en false, kubelet
extrae imágenes en paralelo. Este campo corresponde a la opción de configuración de serializeImagePulls de kubelet (v1beta1).
Este campo se puede establecer cada vez que creas, actualizas o mejoras un clúster, y el parámetro de configuración persiste en las actualizaciones del clúster. Para obtener más información, consulta Configura la configuración de extracción de imágenes de kubelet.
Recurso de clúster
Optional
Mutable
gkeConnect
En esta sección, se incluye información sobre el proyecto de Google Cloud que deseas usar para conectar tu clúster a Google Cloud.
Recurso de clúster
Obligatorio
Inmutable
gkeConnect.projectID
Obligatorio, string Es el ID del proyecto de Google Cloud que deseas usar para conectar tu clúster a Google Cloud. Esto también se conoce como el proyecto host de la flota.
No se puede modificar este valor para los clústeres existentes.
Recurso de clúster
Obligatorio
Inmutable
gkeConnect.location
Opcional. String. Valor predeterminado: global.
El servicio de la flota (gkehub.googleapis.com) y el servicio de Connect (gkeconnect.googleapis.com) administran la membresía de la flota de tus clústeres. La membresía de la flota puede ser global o regional. De forma opcional, puedes usar gkeConnect.location para especificar la región en la que se ejecutan los servicios de Fleet y Connect, de modo que el tráfico se restrinja a tu región. Google Cloud
Los clústeres creados en versiones anteriores a la 1.28 son administrados por los servicios globales de la flota y de Connect.
Los clústeres nuevos creados con los clientes de la API de GKE On-Prem, como la consola de Google Cloud, Google Cloud CLI o Terraform, usan la misma región que especificaste para la API de GKE On-Prem.
En el caso de los clústeres nuevos, si incluyes este campo, la región que especifiques debe ser la misma que la región configurada en gkeOnPremAPI.location. Si las regiones no son las mismas, la creación del clúster fallará.
No se puede modificar este valor para los clústeres existentes.
Recurso de clúster
Optional
Inmutable
gkeOnPremAPI
En la versión 1.16 y versiones 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 automáticamente en la región configurada en clusterOperations.location.
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 como false.
Si no deseas inscribir ningún clúster en el proyecto, inhabilita gkeonprem.googleapis.com (el nombre del servicio para la API de GKE On-Prem) en el proyecto. Para obtener instrucciones, consulta Inhabilita servicios.
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 como false.
Si no deseas inscribir ningún clúster en el proyecto, inhabilita gkeonprem.googleapis.com (el nombre del servicio para la API de GKE On-Prem) en el proyecto. Para obtener instrucciones, consulta Inhabilita servicios.
Inscribir tu clúster de administrador o de usuario en la API de GKE On-Prem te permite
usar herramientas estándar (la consola de Google Cloud, Google Cloud CLI
o
Terraform) para ver los detalles del clúster y administrar su
ciclo de vida. Por ejemplo, puedes ejecutar comandos de la gcloud CLI para
obtener información sobre tu clúster.
La API de GKE On-Prem almacena los metadatos del estado del clúster en Google Cloud.
Estos metadatos permiten que la API administre 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 configuras gkeOnPremAPI.enabled como true,
antes de crear o actualizar el clúster con bmctl,
asegúrate de seguir los pasos que se indican en
Antes de
comenzar para habilitar e inicializar la API de GKE On-Prem.
Después de agregar 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, este se inscribe automáticamente en la API de GKE On-Prem.
Recurso de clúster
Opcional
gkeOnPremAPI.enabled
De forma predeterminada, el clúster se inscribe en la API de GKE On-Prem si esta API está habilitada en tu proyecto. Establece false si no deseas inscribir el clúster.
Después de que el clúster se inscriba en la API de GKE On-Prem, si necesitas dar de baja el clúster, haz el siguiente cambio y, luego, actualízalo:
gkeOnPremAPI:enabled:false
Recurso de clúster
Obligatorio
Mutable
gkeOnPremAPI.location
La región de Google Cloud en la que se ejecuta la API de GKE On-Prem y se almacenan los metadatos del clúster. Elige una de las
regiones admitidas. Debe ser una cadena que no esté vacía si gkeOnPremAPI.enabled es true. Si gkeOnPremAPI.enabled es false, no incluyas este campo.
Si no se incluye esta sección en el archivo de configuración, este campo se establece en clusterOperations.location.
Recurso de clúster
Optional
Inmutable
kubevirt.useEmulation (obsoleto)
Obsoleto. A partir de la versión 1.11.2, puedes habilitar o inhabilitar el entorno de ejecución de VM en GDC actualizando solo el recurso personalizado VMRuntime.
Booleano. Determina si se usa la emulación de software para ejecutar máquinas virtuales. Si el nodo admite la virtualización de hardware, establece useEmulation en false para obtener un mejor rendimiento. Si la virtualización de hardware no es compatible o no estás seguro, configúrala en true.
Recurso de clúster
Optional
Mutable
loadBalancer
Esta sección contiene la configuración del balanceo de cargas del clúster.
Recurso de clúster
Obligatorio
Mutable
loadBalancer.addressPools
Objetos. Es el nombre y un array de direcciones IP para el grupo de balanceadores de cargas del clúster. La configuración del grupo de direcciones solo es válida para el modo de LB bundled en los clústeres que no sean de administrador. Puedes agregar grupos de direcciones nuevos en cualquier momento, pero no puedes quitar grupos de direcciones existentes.
Se puede editar un grupo de direcciones existente para cambiar solo los campos avoidBuggyIPs y manualAssign.
Recurso de clúster
Optional
Inmutable
loadBalancer.addressPools.addresses
Array de rangos de direcciones IP. Especifica una lista de rangos de IP no superpuestos para el balanceador de cargas del plano de datos. Todas las direcciones deben estar en la misma subred que los nodos del balanceador de cargas.
String. Es el nombre que elijas para el grupo de balanceadores de cargas del clúster.
Recurso de clúster
Obligatorio
Inmutable
loadBalancer.addressPools.avoidBuggyIPs
Opcional. Booleano (true | false). Si es true, el grupo omite las direcciones IP que terminan en .0 y .255.
Algunos hardware de red descartan el tráfico hacia estas direcciones especiales. Puedes omitir este campo, su valor predeterminado es false.
Recurso de clúster
Optional
Mutable
loadBalancer.addressPools.manualAssign
Opcional. Booleano (true | false). Si es true, las direcciones de este grupo no se asignan de forma automática a los servicios de Kubernetes. Si es true, una dirección IP en este grupo se usa solo cuando un servicio lo especifica de manera explícita. Puedes omitir este campo, su valor predeterminado es false.
Recurso de clúster
Optional
Mutable
loadBalancer.mode
Obligatorio. String. Especifica el modo de balanceo de cargas. En el modo bundled, el software de Google Distributed Cloud instala un balanceador de cargas en los nodos del balanceador de cargas durante la creación del clúster. En el modo manual, el clúster se basa en un balanceador de cargas externo configurado de forma manual. Para obtener más información, consulta Descripción general de los balanceadores de cargas.
Valores permitidos: bundled | manual
Recurso de clúster
Obligatorio
Inmutable
loadBalancer.type
Opcional. String. Especifica el tipo de balanceo de cargas en paquetes que se usa, capa 2 o protocolo de puerta de enlace fronteriza (BGP). Si usas el balanceo de cargas estándar en paquetes, configura type en layer2. Si usas el balanceo de cargas en paquetes con BGP, configura type en bgp. Si no configuras type, el valor predeterminado es layer2.
Valores permitidos: layer2 | bgp
Recurso de clúster
Optional
Inmutable
loadBalancer.nodePoolSpec
Opcional. Usa esta sección para configurar un grupo de nodos del balanceador de cargas. Los nodos que especificas son parte del clúster de Kubernetes y ejecutan cargas de trabajo y balanceadores de cargas normales. Si no especificas un grupo de nodos, los nodos del plano de control se usan para el balanceo de cargas. En esta sección, solo se aplica cuando el modo de balanceo de cargas se establece en bundled.
Si quieres evitar que las cargas de trabajo se ejecuten en un nodo del grupo de nodos del balanceador de cargas, agrega el siguiente taint al nodo:
node-role.kubernetes.io/load-balancer:NoSchedule
El software de Google Distributed Cloud agrega tolerancias para este taint a los pods que se requieren para el balanceo de cargas.
Recurso de clúster
Optional
Mutable
loadBalancer.nodePoolSpec.nodes
En esta sección, se muestra un array de direcciones IP para los nodos de tu grupo de nodos del balanceador de cargas.
De forma predeterminada, todos los nodos del grupo de nodos del balanceador de cargas deben estar en la misma subred de capa 2 que las VIP del balanceador de cargas 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 los otros VIP del balanceador de cargas.
Recurso de clúster
Optional
Mutable
loadBalancer.nodePoolSpec.nodes.address
Opcional. String (dirección IPv4). Cuando especificas un grupo de nodos, debes usar 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 los datos y el tráfico de Kubernetes. Sin embargo, si especificas la dirección k8sIP para un nodo determinado, el tráfico se divide entre las dos direcciones del nodo, y la dirección k8sIP se usa exclusivamente para los datos y el tráfico de Kubernetes.
Aunque los nodos del grupo de nodos del balanceador de cargas pueden ejecutar cargas de trabajo, están separados de los nodos de los grupos de nodos trabajadores. No puedes incluir un nodo de clúster determinado en más de un grupo de nodos. Las direcciones IP de los nodos superpuestos bloquean la creación de clústeres y otras operaciones de clústeres.
Opcional. String (dirección IPv4). Cuando especificas la dirección k8sIP opcional para un nodo, esta se dedica a controlar los datos y el tráfico de Kubernetes del nodo, como las solicitudes y respuestas para la API de Kubernetes, el kubelet y las cargas de trabajo. Cuando especificas k8sIP,
se usa la dirección IP estándar del nodo nodePoolSpec.nodes.address
solo para las conexiones SSH al nodo. Si no especificas una dirección k8sIP, la dirección IP del nodo estándar controla 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 agregar a la cola de procesamiento para controlar los aumentos repentinos en las solicitudes. En cuanto comienza un retiro, se puede agregar una solicitud nueva a la fila. El valor predeterminado es 10. Este campo corresponde a la opción de configuración de registryBurst de kubelet (v1beta1).
El valor de registryPullQPS tiene prioridad sobre esta configuración. Por ejemplo, con la configuración predeterminada, se permiten ráfagas de hasta 10 consultas simultáneas, pero se deben procesar 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 establecer cada vez que creas, actualizas o mejoras un clúster, y el parámetro de configuración persiste en las actualizaciones del clúster. Para obtener más información, consulta Configura la configuración de extracción de imágenes de kubelet.
Opcional. Número entero (no negativo). Especifica la tasa de procesamiento de las consultas para extraer imágenes de Container Registry en consultas por segundo (QPS).
Cuando registryPullQPS se establece en un valor superior a 0, la
tasa de consultas se restringe a esa cantidad de consultas por segundo. Si registryPullQPS se establece en 0, no hay restricciones en la frecuencia de consultas. El valor predeterminado es 5.
Este campo corresponde a la opción de configuración de registryPullQPS de kubelet (v1beta1).
Este campo se puede establecer cada vez que creas, actualizas o mejoras un clúster, y el parámetro de configuración persiste en las actualizaciones del clúster. Para obtener más información, consulta Configura la configuración de extracción de imágenes de kubelet.
Opcional. Booleano (true|false). Este campo especifica si las extracciones del registro de contenedores se procesan en paralelo o una a la vez. El valor predeterminado es true, que especifica que los extracciones se procesan de a una a la vez. Cuando se establece en false, kubelet
extrae imágenes en paralelo. Este campo corresponde a la opción de configuración de serializeImagePulls de kubelet (v1beta1).
Este campo se puede establecer cada vez que creas, actualizas o mejoras un clúster, y el parámetro de configuración persiste en las actualizaciones del clúster. Para obtener más información, consulta Configura la configuración de extracción de imágenes de kubelet.
Recurso de clúster
Optional
Mutable
loadBalancer.ports.controlPlaneLBPort
Number. Es 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) que se conectará al servidor de la API de Kubernetes. Esta dirección no debe estar dentro del rango de ninguna dirección IP que se usa para los grupos de direcciones del balanceador de cargas, loadBalancer.addressPools.addresses.
Recurso de clúster
Obligatorio
Inmutable
loadBalancer.vips.ingressVIP
Opcional. String (dirección IPv4). Es la dirección IP que elegiste configurar en el balanceador de cargas para el tráfico de entrada.
Recurso de clúster
Optional
Inmutable
loadBalancer.localASN
Opcional. String. Especifica el número del sistema autónomo (ASN) para el clúster que se crea. Este campo se usa cuando se configura la solución de balanceo de cargas en paquetes que usa el protocolo de puerta de enlace fronteriza (BGP).
Para obtener más información, consulta Configura balanceadores de cargas en paquetes con BGP.
Recurso de clúster
Optional
Mutable
loadBalancer.bgpPeers
Opcional. Objeto (lista de asignaciones). En esta sección, se especifica uno o más pares de protocolos de puerta de enlace fronteriza (BGP) de tu red local (externa al clúster). Debes especificar los pares de BGP cuando configuras la parte de balanceo de cargas del plano de control de la solución de balanceo de cargas en paquetes que usan BGP. Cada par se especifica con una asignación, que consta de una dirección IP, un número de sistema autónomo (ASN) y, de forma opcional, una lista de una o más direcciones IP para los nodos del plano de control. La configuración de intercambio de tráfico de BGP para el balanceo de cargas del plano de control no se puede actualizar después de crear el clúster.
Opcional. String (dirección IPv4). La dirección IP de un dispositivo de intercambio de tráfico externo de tu red local.
Para obtener más información, consulta Configura balanceadores de cargas en paquetes con BGP.
Recurso de clúster
Optional
Mutable
loadBalancer.bgpPeers.asn
Opcional. String. El número del sistema autónomo (ANS) para la red que contiene el dispositivo de intercambio de tráfico externo. Especifica un ASN para cada par de BGP que configures en el balanceo de cargas del plano de control cuando configures la solución de balanceo de cargas en paquetes que usa BGP.
Para obtener más información, consulta Configura balanceadores de cargas en paquetes con BGP.
Recurso de clúster
Optional
Mutable
loadBalancer.bgpPeers.controlPlaneNodes
Opcional. Array de direcciones IP (IPv4). Una o más direcciones IP para los nodos del plano de control que se conectan al par de BGP externo cuando configuras la solución de balanceo de cargas en paquetes que usa BGP. Si no especificas ningún nodo del plano de control, todos los nodos del plano de control se conectarán al par externo. Si especificas una o más direcciones IP, solo los nodos especificados participan en las sesiones de intercambio de tráfico.
Para obtener más información, consulta Configura balanceadores de cargas en paquetes con BGP.
Recurso de clúster
Optional
Mutable
maintenanceBlocks.cidrBlocks
Opcional. Una sola dirección IPv4 o un rango de direcciones IPv4. Especifica las direcciones IP de las máquinas del nodo que deseas poner en modo de mantenimiento. Para obtener más información, consulta Coloca 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
Optional
Mutable
nodeAccess.loginUser
Opcional. String. Especifica el nombre de usuario no raíz que deseas usar tener acceso con la función SUDO sin contraseña a las máquinas de nodo en tu clúster. Tu clave SSH, sshPrivateKeyPath, debe funcionar para el usuario especificado. Las operaciones de creación y actualización de clústeres verifican que se pueda acceder a las máquinas de nodo con el usuario y la clave SSH especificados.
Recurso de clúster
Optional
Mutable
osEnvironmentConfig.addPackageRepo
Opcional. Booleano (true | false). Especifica si se debe usar o no tu propio servidor de repositorio de paquetes, en lugar del repositorio apt predeterminado de Docker. Para usar tu propio
repositorio de paquetes, configura addPackageRepo como
false. Usa esta función para omitir la adición de repositorios de paquetes a cada máquina de equipos físicos en tu implementación. Para obtener más información, consulta Usa un servidor privado de repositorio de paquetes.
Recurso de clúster
Optional
Inmutable
nodeConfig
Esta sección contiene la configuración del nodo del clúster.
Recurso de clúster
Opcional
Mutable (solo actualización)
nodeConfig.containerRuntime (obsoleto)
Obsoleta. A partir de la versión 1.13.0, Google Distributed Cloud solo admite containerd como entorno de ejecución del contenedor. El campo containerRuntime dejó de estar disponible y se quitó del archivo de configuración del clúster generado. Para las versiones de software 1.13.0 y posteriores 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 actualización)
nodeConfig.podDensity
En esta sección, se especifica la configuración de densidad del Pod.
Recurso de clúster
Optional
Inmutable
nodeConfig.podDensity.maxPodsPerNode
Opcional. String. Especifica la cantidad máxima de Pods que pueden ejecutarse en un solo nodo. En el caso de los clústeres autoadministrados, los valores permitidos para maxPodsPerNode son de 32 a 250 para los clústeres con alta disponibilidad (HA) y de 64 a 250 para clústeres sin alta disponibilidad. Para los clústeres de usuario, los valores permitidos para maxPodsPerNode son de 32 a 250. Si no se especifica, el valor predeterminado es 110. Una vez que se crea el clúster, este valor no se puede actualizar.
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 la configuración de la cantidad máxima de Pods por nodo, consulta Herramientas de redes de Pods.
Recurso de clúster
Optional
Inmutable
nodeConfig.privateRegistries
En esta sección, se especifica una configuración de registro privado a nivel del nodo para los clústeres de usuarios. Los registros privados a nivel del nodo están diseñados para usarse con tus cargas de trabajo y brindarte más control sobre las extracciones de imágenes y su seguridad relacionada.
En el caso de los clústeres de administrador, el registro privado a nivel del nodo se especifica en la sección Credentials del archivo de configuración del clúster de administrador.
Cuando corresponda, usa esta sección para especificar el nombre y el espacio de nombres del Secret que se creó para almacenar el certificado de la AC (AC raíz del servidor) para el registro privado. Si tu registro local no requiere un certificado TLS privado, puedes omitir este bloque.
En la siguiente lista, se muestra la etapa de lanzamiento por versión para configurar un registro privado a nivel del nodo:
String. En este campo, se especifican el host y el puerto de un solo registro
privado. Puedes 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 especificas un registro
privado para un clúster de usuarios.
En la siguiente lista, se muestra la etapa de lanzamiento por versión para configurar un registro privado a nivel del nodo:
Cuando corresponda, usa esta sección para especificar el nombre y el espacio de nombres
del Secret que se creó para almacenar las credenciales del registro privado.
Usa el bloque pullCredentialSecretRef cuando configures un clúster de usuarios para otorgar a los nodos acceso a un registro privado que requiera autenticación.
En la siguiente lista, se muestra la etapa de lanzamiento por versión para configurar un registro privado a nivel del nodo:
Opcional. Esta sección contiene la configuración para configurar la estrategia de actualización de los grupos de nodos trabajador de tu clúster. Para obtener más información, consulta Actualizaciones paralelas.
Recurso de clúster
Optional
Mutable
nodePoolUpgradeStrategy.concurrentNodePools
Opcional. Es un valor booleano (0 o 1). El valor predeterminado es 1.
Este campo especifica si se deben actualizar o no todos los grupos de nodos trabajador
de un clúster de forma simultánea. De forma predeterminada (1), se actualizan
de manera secuencial, uno tras otro. Cuando estableces concurrentNodePools
en 0, cada grupo de nodos trabajador del clúster se actualiza
en paralelo.
Los nodos de cada grupo de nodos trabajador se actualizan según la
estrategia de actualización en su especificación
correspondientes de NodePool.
Recurso de clúster
Optional
Mutable
nodePoolUpgradeStrategy.pause
Opcional. Booleano (true o false). Valor predeterminado:
false. En este campo, se especifica si se debe pausar o reanudar una actualización de clúster activa.
En esta sección, se incluye información de configuración para las verificaciones de estado
periódicas. En el recurso de clúster, el único parámetro de configuración disponible para las verificaciones de estado periódicas es el campo enable. Para obtener más información, consulta Verificaciones de estado periódicas.
Recurso de clúster
Optional
Mutable
periodicHealthCheck.enable
Opcional. Booleano (true|false). Habilita o inhabilita las verificaciones de estado periódicas de tu clúster. Las verificaciones de estado
periódicas están habilitadas de forma predeterminada en todos los clústeres. Para inhabilitar las verificaciones de estado periódicas de un clúster, configura el campo periodicHealthCheck.enable en false.
Para obtener más información, consulta
Cómo inhabilitar las verificaciones de estado periódicas
Recurso de clúster
Optional
Mutable
profile
Opcional. String. Cuando profile se establece en edge para un clúster independiente, minimiza el consumo de recursos del clúster. El perfil perimetral solo está disponible para clústeres independientes.
El perfil perimetral tiene requisitos de recursos del sistema reducidos y se recomienda para los dispositivos perimetrales con limitaciones de recursos restrictivas.
Si deseas conocer los requisitos de hardware asociados con el perfil perimetral, consulta Requisitos de recursos para clústeres independientes que usan el perfil perimetral.
Recurso de clúster
Optional
Inmutable
proxy
Si la red está detrás de un servidor proxy, completa esta sección.
De lo contrario, quita esta sección.
Recurso de clúster
Optional
Mutable
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 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
Optional
Inmutable
proxy.url
String. La dirección HTTP del servidor proxy. Incluye el número de puerto incluso si es el mismo que el puerto predeterminado del esquema.
Opcional. Booleano (true|false). Habilita o inhabilita seccomp en todo el clúster. Cuando este campo está inhabilitado, los contenedores sin un perfil seccomp en el archivo de configuración del clúster se ejecutan sin restricciones. Cuando este campo está habilitado, esos mismos contenedores están protegidos mediante el perfil predeterminado seccomp del entorno de ejecución del contenedor. Esta función está habilitada de forma predeterminada.
Después de la creación del clúster, este campo solo se puede activar o desactivar durante la actualización.
Para obtener más información, consulta Usa seccomp para restringir contenedores.
Recurso de clúster
Opcional
Mutable (solo actualización)
clusterSecurity.enableRootlessContainers
Opcional. Booleano (true|false). Habilita o inhabilita contenedores del sistema en equipos físicos sin raíz. Cuando este campo está habilitado, los contenedores del sistema de equipos físicos se ejecutan como un usuario no raíz con un ID de usuario en el rango de 2000-5000. Cuando está inhabilitado, los contenedores del sistema de equipos físicos se ejecutan como un usuario raíz. Esta función está habilitada de forma predeterminada. No se recomienda desactivar esta función, ya que ejecutar contenedores como usuario raíz implica un riesgo de seguridad. Después de la creación del 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 raíz.
Recurso de clúster
Opcional
Mutable (solo actualización)
clusterSecurity.authorization
Opcional. La autorización configura el acceso de los usuarios al clúster.
Recurso de clúster
Optional
Mutable
clusterSecurity.authorization.clusterAdmin
Opcional. Especifica el administrador del clúster para este clúster.
Opcional. El campo gcpAccounts especifica una lista de
cuentas a las que se les otorga 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 Connect
para ejecutar comandos kubectl en el clúster. Esto es útil si tienes varios clústeres para administrar, en particular en un entorno híbrido con clústeres de GKE y locales.
Este campo toma un array de nombres de cuentas. Se admiten cuentas de usuario y de servicio. Para los usuarios, especificas sus direcciones de correo electrónico de la
Google Cloud cuenta. Para las cuentas de servicio, especifica
las direcciones de correo electrónico en el siguiente formato:
SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com.
Por ejemplo:
Cuando actualices un clúster para agregar una cuenta, asegúrate de incluir todas las cuentas en la lista (tanto las existentes como las nuevas), ya que el comando de actualización reemplaza 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
Optional
Mutable
clusterSecurity.startUIDRangeRootlessContainers
Opcional. Número entero. Valor predeterminado: 2000. Los contenedores del sistema en el software de Google Distributed Cloud ayudan a instalar y administrar clústeres.
Los IDs de usuario (UID) y los IDs de grupo (GID) que usan estos contenedores se pueden controlar mediante el campo startUIDRangeRootlessContainers en la especificación del clúster. Los contenedores del sistema usan los UID y GID en el rango de startUIDRangeRootlessContainers a startUIDRangeRootlessContainers + 2999, lo que da un rango de 2000 a 4999 de forma predeterminada. Cuando actualices
startUIDRangeRootlessContainers, selecciona un valor que garantice
que los espacios de UID y GID que usan los contenedores del sistema no se superpongan
con los asignados a las cargas de trabajo del usuario. El valor de startUIDRangeRootlessContainers solo se puede cambiar durante las actualizaciones.
Obligatorio. String. Usa el campo path para especificar la ruta de la máquina host en la que se pueden descubrir los discos activados. Se crea un PersistentVolume (PV) local para cada activación. La ruta predeterminada es /mnt/localpv-share. Si deseas obtener instrucciones para configurar activaciones de nodos, consulta Configura activaciones de nodos LVP.
Recurso de clúster
Obligatorio
Inmutable
storage
Esta sección contiene la configuración del almacenamiento del clúster.
Recurso de clúster
Obligatorio
Inmutable
storage.lvpNodeMounts
En esta sección, se especifica la configuración (ruta) para volúmenes persistentes locales respaldados por discos activados. Debes dar formato a estos discos y activarlos. Puedes realizar esta tarea antes o después de crear el clúster. Para obtener más información, consulta Activaciones de nodos LVP.
Recurso de clúster
Obligatorio
Inmutable
storage.lvpShare
En esta sección, se especifica la configuración para volúmenes persistentes locales respaldados por subdirectorios en un sistema de archivos compartidos. Estos subdirectorios se crean automáticamente durante la creación del clúster.
Para obtener más información, consulta Uso compartido de LVP.
Recurso de clúster
Obligatorio
Inmutable
storage.lvpShare.path
Obligatorio. String. Usa el campo path para especificar la ruta de la máquina anfitrión en la que se pueden crear subdirectorios. Se crea un PersistentVolume (PV) local para cada subdirectorio. Si deseas obtener instrucciones para configurar tu recurso compartido de LVP, consulta Configura un recurso compartido de LVP.
Recurso de clúster
Obligatorio
Inmutable
storage.lvpShare.numPVUnderSharedPath
Obligatorio. String. Especifica la cantidad de subdirectorios que se crearán en lvpShare.path. El valor predeterminado es 5. Si deseas obtener instrucciones para configurar tu recurso compartido de LVP, consulta Configura un recurso compartido de LVP.
Recurso de clúster
Obligatorio
Inmutable
storage.lvpShare.storageClassName
Obligatorio. String. Especifica la StorageClass que se usará para crear volúmenes persistentes. StorageClass se crea durante la creación del clúster. El valor predeterminado es local-shared. Si deseas obtener instrucciones para configurar tu recurso compartido de LVP, consulta Cómo configurar un recurso compartido de LVP.
Recurso de clúster
Optional
Inmutable
type
Obligatorio. String. Especifica el tipo de clúster. El modelo de implementación estándar consta de un único clúster de administrador y uno o más clústeres de usuarios, que se administran mediante el clúster de administrador.
El software de Google Distributed Cloud admite los siguientes tipos de
clústeres:
De administrador: un clúster que se usa para administrar clústeres de usuario.
Usuario: un clúster que se usa para ejecutar cargas de trabajo.
Híbrido: un clúster único para el administrador y las cargas de trabajo que también puede administrar clústeres de usuario.
Independiente: un clúster único que puede administrarse a sí mismo y que también puede ejecutar cargas de trabajo, pero no puede crear ni administrar otros clústeres de usuarios.
El tipo de clúster se especifica en la creación del clúster y no se puede cambiar para actualizaciones. Si deseas obtener más información para crear un clúster, consulta Crea clústeres: descripción general.
Valores permitidos: admin | user | hybrid | standalone
No se puede modificar este valor para los clústeres existentes.
Recurso de clúster
Obligatorio
Inmutable
name
Obligatorio. String. Por lo general, el nombre del espacio de nombres usa un patrón de cluster-CLUSTER_NAME, pero el prefijo cluster- no es estrictamente obligatorio, ya que los clústeres de Anthos se alojan en la versión de software 1.7.2 de Google Distributed Cloud.
No se puede modificar este valor para los clústeres existentes.
Recurso del espacio de nombres
Obligatorio
Inmutable
clusterName
String. Obligatorio. El nombre del clúster en el que agregas 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 Agrega y quita 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 agregar a la cola de procesamiento para controlar los aumentos repentinos en las solicitudes. En cuanto comienza un retiro, se puede agregar una solicitud nueva a la fila. El valor predeterminado es 10. Este campo corresponde a la opción de configuración de registryBurst de kubelet (v1beta1).
El valor de registryPullQPS tiene prioridad sobre esta configuración. Por ejemplo, con la configuración predeterminada, se permiten ráfagas de hasta 10 consultas simultáneas, pero se deben procesar 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 establecer cada vez que creas, actualizas o mejoras un clúster, y el parámetro de configuración persiste en las actualizaciones del clúster. Para obtener más información, consulta Configura la configuración de extracción de imágenes de kubelet.
Recurso de NodePool
Optional
Mutable
kubeletConfig.registryPullQPS
Opcional. Número entero (no negativo). Especifica la tasa de procesamiento de las consultas para extraer imágenes de Container Registry en consultas por segundo (QPS).
Cuando registryPullQPS se establece en un valor superior a 0, la
tasa de consultas se restringe a esa cantidad de consultas por segundo. Si registryPullQPS se establece en 0, no hay restricciones en la frecuencia de consultas. El valor predeterminado es 5.
Este campo corresponde a la opción de configuración de registryPullQPS de kubelet (v1beta1).
Este campo se puede establecer cada vez que creas, actualizas o mejoras un clúster, y el parámetro de configuración persiste en las actualizaciones del clúster. Para obtener más información, consulta Configura la configuración de extracción de imágenes de kubelet.
Recurso de NodePool
Optional
Mutable
kubeletConfig.serializeImagePulls
Opcional. Booleano (true|false). Este campo especifica si las extracciones del registro de contenedores se procesan en paralelo o una a la vez. El valor predeterminado es true, que especifica que los extracciones se procesan de a una a la vez. Cuando se establece en false, kubelet
extrae imágenes en paralelo. Este campo corresponde a la opción de configuración de serializeImagePulls de kubelet (v1beta1).
Este campo se puede establecer cada vez que creas, actualizas o mejoras un clúster, y el parámetro de configuración persiste en las actualizaciones del clúster. Para obtener más información, consulta Configura la configuración de extracción de imágenes de kubelet.
Recurso de NodePool
Optional
Mutable
taints
Opcional. Objeto. Un taint de nodo te permite marcar un nodo a fin de que el programador evite o impida su uso para ciertos Pods. Un taint consiste en un par clave-valor y un efecto asociado. Los valores key y value son strings que usas para identificar el taint, y el valor effect especifica cómo se manejan los Pods para el nodo. El objeto taints puede tener varios taints.
El campo effect puede tener uno de los siguientes valores:
NoSchedule: ningún Pod puede programar 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 de inmediato y los que sí toleran el taint nunca se expulsan.
En el software de Google Distributed Cloud, los taints se concilian 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 los taints, consulta Taints and Tolerancias.
Por ejemplo:
taints:-key:statusvalue:testpooleffect:NoSchedule
Recurso de NodePool
Optional
Mutable
labels
Opcional. Asignación (pares clave-valor).
Las etiquetas se concilian con los nodos del grupo de nodos, a menos que la anotación baremetal.cluster.gke.io/label-taint-no-sync se aplique al clúster. Para obtener más información sobre las etiquetas, consulta Etiquetas de recurso y selectores.
Recurso de NodePool
Optional
Mutable
upgradeStrategy
Opcional. Esta sección contiene la configuración para configurar la estrategia de actualización de los nodos en un grupo de nodos trabajador. Para obtener más información, consulta Actualizaciones paralelas.
Nota: No agregues esta sección para los grupos de nodos del balanceador de cargas o del plano de control.
Recurso de NodePool
Optional
Mutable
upgradeStrategy.parallelUpgrade
Opcional. Esta sección contiene la configuración para configurar las actualizaciones de nodos
en paralelo de un grupo de nodos trabajador. En una actualización de clúster típica y predeterminada, cada
nodo del clúster se actualiza de manera secuencial, uno tras otro. Puedes
configurar grupos de nodos trabajador para que varios nodos se actualicen en paralelo
cuando actualices el clúster. La actualización de nodos en paralelo acelera las actualizaciones de clústeres
significativamente, en especial para los clústeres que tienen
cientos de nodos.
Para un grupo de nodos trabajador, puedes especificar la cantidad de nodos que se actualizarán
de forma simultánea y establecer un umbral mínimo para la cantidad de
nodos que pueden ejecutar cargas de trabajo durante el proceso de actualización.
Opcional. Número entero (positivo). Valor predeterminado: 1. Máx.: 15.
De forma predeterminada (1), los nodos se actualizan de forma secuencial,
uno tras otro. Cuando estableces concurrentNodes en un número superior a 1, este campo especifica la cantidad de nodos que se actualizarán en paralelo. Ten en cuenta las siguientes
restricciones para concurrentNodes:
El valor no puede exceder el menor de los siguientes valores: el 50% de la cantidad de nodos en el 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.
Cuando usas este campo junto con el campo minimumAvailableNodes, sus valores combinados no pueden superar la cantidad total de nodos en el grupo de nodos. Por ejemplo, si tu grupo de nodos tiene 20 nodos y
minimumAvailableNodes está configurado en 18,
concurrentNodes no puede superar 2.
Las actualizaciones en paralelo 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 una cantidad determinada de nodos permanezca disponible para ejecutar cargas de trabajo durante 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 detalles sobre los valores predeterminados de minimumAvailableNodes, consulta
Valores predeterminados de la actualización en paralelo. minimumAvailableNodes te permite especificar la cantidad de nodos en el grupo de nodos que deben permanecer disponibles durante el proceso de actualización. Un nodo se considera no disponible
cuando se está actualizando de forma activa. 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 se está conciliando
El nodo se detuvo en medio de una actualización
Cuando usas este campo junto con el campo concurrentNodes, sus valores combinados no pueden superar la cantidad total de nodos en el grupo de nodos. Por ejemplo, si tu grupo de nodos tiene 20 nodos y
concurrentNodes está configurado en 10,
minimumAvailableNodes no puede superar 10.
Un valor alto para 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 detenga esperando que los nodos
estén disponibles. Para obtener más información, consulta Actualizaciones paralelas.
Recurso de NodePool
Optional
Mutable
privateRegistries
Opcional. Usa esta sección para especificar un registro privado que se usará para las imágenes de la carga de trabajo. Este método de configuración del 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 trabajadores.
String. En este campo, se especifican el host y el puerto de un solo registro
privado. Puedes 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 especificas un registro
privado para un clúster híbrido o independiente.
Por ejemplo:
-host:10.200.0.2:5007
Credenciales
Optional
Mutable
privateRegistries.caCertPath
Opcional. String. Es la ruta de acceso del archivo de certificado de 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
Optional
Mutable
privateRegistries.pullCredentialConfigPath
Opcional. String. Es la ruta de acceso 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 del nodo.
Usa el campo pullCredentialConfigPath cuando configures un clúster híbrido o independiente para permitir que los nodos accedan a un registro privado que requiera autenticación.
Credenciales
Optional
Mutable
registryMirrors
Opcional. En esta sección, especifica una duplicación del registro que se usará para instalar clústeres, en lugar de Container Registry (gcr.io). Para obtener más información sobre el uso de una duplicación de registro, consulta Cómo usar una duplicación de registro para imágenes de contenedores.
String. El extremo de la duplicación, que consiste en la dirección IP y el número de puerto del servidor de registro. De forma opcional, 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 de extremo es REGISTRY_IP:PORT. Cuando usas un espacio de nombres, el formato del extremo es REGISTRY_IP:PORT/v2/NAMESPACE.
/v2 es obligatorio cuando se especifica un espacio de nombres.
El campo endpoint es obligatorio cuando especificas un espejo de registro. Puedes especificar varios espejos o extremos.
Opcional. String. Es la ruta de acceso del archivo de certificado de 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.
Duplicación de registro
Opcional
Mutable
registryMirrors.pullCredentialConfigPath
Opcional. String. Es la ruta de acceso 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 se aplica solo al uso de las duplicaciones de registro. Si el 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 para hosts que se duplican de forma local para la duplicación del registro determinada (endpoint). Cuando el entorno de ejecución del contenedor encuentra solicitudes de extracción de imágenes de un host especificado, primero verifica la duplicación del registro local. Para obtener información adicional, consulta Crea clústeres a partir del espejo del registro.
El archivo de configuración del clúster que genera bmctl incluye campos para especificar rutas de acceso a las credenciales y los archivos de claves en el sistema de archivos local. Estas credenciales y claves son necesarias para conectar los clústeres entre sí y con tu proyecto de Google Cloud.
String. Es la ruta de acceso a una clave de cuenta de servicio que tiene los permisos de IAM necesarios para acceder a los recursos de Container Registry.
Credenciales
Optional
Mutable
sshPrivateKeyPath
String. Es la ruta a la clave privada SSH. Se requiere SSH para el acceso a los nodos.
Credenciales
Optional
Mutable
gkeConnectAgentServiceAccountKeyPath
String. Es la 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 locales y Google Cloud.
String. Es la 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 usuarios con Google Cloud.
String. Es la ruta a la clave de la cuenta de servicio de operaciones.
Google Distributed Cloud usa la cuenta de servicio de operaciones para autenticarse con la Observabilidad de Google Cloud y acceder a la API de Logging y a la API de Monitoring. Con la
excepción de los clústeres de usuarios, se requiere la
clave de la cuenta de servicio de operaciones. Los clústeres de usuario usan las credenciales que se especificaron para el clúster de administración (administrador o híbrido).
No puedes inhabilitar Cloud Logging ni Cloud Monitoring para tus
clústeres.
Define la configuración del rango CIDR IPv4. Se debe proporcionar al menos uno de los campos ipv4 o ipv6 para el recurso ClusterCidrConfig.
Recurso ClusterCIDRConfig
Opcional
Inmutable
ipv4.cidr
String. Establece el bloque CIDR del nodo IPv4. Los nodos solo pueden tener un rango de cada familia. Este bloque CIDR debe coincidir con el CIDR del pod que se describe 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 para el bloque de CIDR IPv4 del nodo. Por ejemplo, el valor 24 se traduce a la 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 rango CIDR IPv6. Se debe proporcionar al menos uno de los campos ipv4 o ipv6 para el recurso ClusterCidrConfig.
Recurso ClusterCIDRConfig
Opcional
Inmutable
ipv6.cidr
String. Establece el bloque CIDR del nodo IPv6. Los nodos solo pueden tener un rango 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 para el bloque de CIDR IPv6 del nodo. Por ejemplo, el valor 120 se traduce a la 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 un valor predeterminado que se aplica a todos los nodos.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-02-14 (UTC)"],[],[]]