En este documento se describe cómo especificar la densidad de pods de grupos de nodos concretos de tu clúster, lo que anula el ajuste de todo el clúster. Aunque las configuraciones a nivel de nodo suelen aplicarse a todo el clúster, puedes configurar la densidad de pods en un grupo de nodos específico. Si anulas la densidad de pods de grupos de nodos específicos, puedes mejorar la eficiencia de los recursos. Esta función es útil para los grupos de nodos especializados, como los nodos con GPUs, en los que los requisitos específicos de las cargas de trabajo o la asignación eficiente de direcciones IP requieren un valor diferente para el número máximo de pods por nodo.
La capacidad de anular el ajuste de densidad de pods de todo el clúster está disponible en los clústeres con la versión 1.33 o posterior.
Antes de empezar
La capacidad de especificar la densidad de pods en los grupos de nodos solo está disponible en los clústeres con una de las siguientes configuraciones de red:
Configurar la densidad de pods de un grupo de nodos
Configura la densidad de los pods en la especificación NodePool
para anular los ajustes del nivel de clúster. Esta configuración es opcional. El sistema deriva el tamaño del intervalo CIDR asignado al nodo del parámetro "Máximo de pods por nodo".
La configuración de maxPodsPerNode
es inmutable después de crear el grupo de nodos. El sistema valida el ajuste maxPodsPerNode
para asegurarse de que haya suficientes direcciones IP para los nodos del pool de nodos. Esta validación usa un enlace de etiquetas estricto, donde a
ClusterCIDRConfig
se vincula a un grupo de nodos mediante un selector de nodos. Puedes omitir esta validación configurando la anotación baremetal.cluster.gke.io/skip-pod-cidr-size-check
en el CR de clúster o a nivel de NodePool.
Crea un
ClusterCIDRConfig
recurso.Este recurso se vincula a un NodePool específico mediante un selector de nodos.
apiVersion: networking.gke.io/v1alpha1 kind: ClusterCIDRConfig metadata: name: my-nodepool-cidr-config spec: nodeSelector: matchLabels: baremetal.cluster.gke.io/node-pool: NODE_POOL_NAME # ... other CIDR config fields (e.g., podCIDR, perNodeMaskSize)
Sustituye
NODE_POOL_NAME
por el nombre de tu NodePool.Crea el grupo de nodos con la densidad de pods sustituida.
Especifica el campo
nodeConfigOverride
en la definición de NodePool. Este campo contiene la configuración depodDensity
.apiVersion: baremetal.cluster.gke.io/v1 kind: NodePool metadata: name: NODEPOOL_NAME namespace: CLUSTER_NAMESPACE spec: cluster: CLUSTER_NAME nodeConfigOverride: podDensity: maxPodsPerNode: MAX_PODS_PER_NODE # ... other NodePoolSpec fields like nodeCount, taints, labels etc. ...
Haz los cambios siguientes:
NODEPOOL_NAME
: el nombre del recurso del grupo de nodos cuyo valor máximo de pods por nodo vas a anular.CLUSTER_NAMESPACE
: el espacio de nombres del clúster en el que reside el grupo de nodos.CLUSTER_NAME
: el nombre del clúster en el que anulas la configuración del grupo de nodos.MAX_PODS_PER_NODE
: número máximo de pods que puedes ejecutar en un solo nodo del grupo de nodos especificado.
Siguientes pasos
- Consulta las diferencias entre los modelos de red de modo plano y de modo isla.
- Consulta cómo implementar el modelo de red de modo IPv4 plano.
- Consulta cómo crear un clúster con una red de doble pila IPv4/IPv6.
- Consulta información sobre el operador de GPU NVIDIA incluido.
- Consulta cómo se relacionan los bloques CIDR de pods, el número de nodos y la densidad de pods.