En este documento, se describe cómo especificar la densidad de Pods para grupos de nodos individuales en tu clúster, lo que anula el parámetro de configuración de todo el clúster. Si bien las configuraciones a nivel del nodo suelen aplicarse a todo el clúster, puedes configurar la densidad de Pods en un grupo de nodos específico. Anular la densidad de Pods para grupos de nodos específicos puede mejorar la eficiencia de los recursos. Esta capacidad es útil para los grupos de nodos especializados, como los nodos con GPUs, en los que los requisitos específicos de la carga de trabajo o la asignación eficiente de direcciones IP requieren un valor diferente para la cantidad máxima de Pods por nodo.
La capacidad de anular el parámetro de configuración de densidad de Pods en todo el clúster está disponible para los clústeres de la versión 1.33 y posteriores.
Antes de comenzar
La capacidad de especificar la densidad de Pods para los grupos de nodos solo está disponible para los clústeres con una de las siguientes configuraciones de red:
Configura la densidad de Pods para un grupo de nodos
Configura la densidad del Pod dentro de la especificación NodePool
para anular la configuración a nivel del clúster. Esta configuración es opcional. El sistema deriva el tamaño del rango de CIDR asignado al nodo a partir del parámetro de cantidad máxima de Pods por nodo.
La configuración de maxPodsPerNode
es inmutable después de la creación del grupo de nodos. El sistema valida el parámetro de configuración de maxPodsPerNode
para garantizar que haya suficientes direcciones IP para los nodos del grupo de nodos. Esta validación usa una vinculación estricta de etiquetas, en la que un ClusterCIDRConfig
se vincula a un grupo de nodos con un selector de nodos. Puedes omitir esta validación si estableces la anotación baremetal.cluster.gke.io/skip-pod-cidr-size-check
en el CR de Cluster o a nivel de NodePool.
Crea un recurso
ClusterCIDRConfig
Este recurso se vincula a un NodePool específico a través de 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)
Reemplaza
NODE_POOL_NAME
por el nombre de tu NodePool.Crea el grupo de nodos con la densidad de Pods anulada.
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. ...
Reemplaza lo siguiente:
NODEPOOL_NAME
: Es el nombre del recurso del grupo de nodos cuyo valor máximo de Pods por nodo anulas.CLUSTER_NAMESPACE
: Es el espacio de nombres del clúster en el que reside el grupo de nodos.CLUSTER_NAME
: Es el nombre del clúster en el que anulas la configuración del grupo de nodos.MAX_PODS_PER_NODE
: Es la cantidad máxima de Pods que puedes ejecutar en un solo nodo del grupo de nodos especificado.
¿Qué sigue?
- Obtén más información sobre las diferencias entre los modelos de red de modo plano y modo isla.
- Obtén más información para implementar el modelo de red de modo IPv4 plano.
- Obtén información para crear un clúster con herramientas de redes de pila doble IPv4/IPv6.
- Obtén información sobre el operador de GPU de NVIDIA incluido.
- Comprende cómo se correlacionan los bloques CIDR de Pod, la cantidad de nodos y la densidad de Pod.