Ce document explique comment spécifier la densité de pods pour des pools de nœuds individuels dans votre cluster, en remplaçant le paramètre à l'échelle du cluster. Bien que les configurations au niveau des nœuds s'appliquent généralement à l'ensemble du cluster, vous pouvez configurer la densité de pods sur un pool de nœuds spécifique. Remplacer la densité de pods pour des pools de nœuds spécifiques peut améliorer l'efficacité des ressources. Cette fonctionnalité est utile pour les pools de nœuds spécialisés, tels que les nœuds avec GPU, où des exigences de charge de travail spécifiques ou une allocation efficace d'adresses IP nécessitent une valeur différente pour le nombre maximal de pods par nœud.
La possibilité de remplacer le paramètre de densité de pods à l'échelle du cluster est disponible pour les clusters de la version 1.33 et ultérieure.
Avant de commencer
La possibilité de spécifier la densité de pods pour les pools de nœuds n'est disponible que pour les clusters avec l'une des configurations réseau suivantes :
Configurer la densité des pods pour un pool de nœuds
Configurez la densité des pods dans la spécification NodePool
pour remplacer les paramètres au niveau du cluster. Cette configuration est facultative. Le système déduit la taille de la plage CIDR attribuée au nœud à partir du paramètre "Nombre maximal de pods par nœud".
La configuration maxPodsPerNode
est immuable après la création du pool de nœuds. Le système valide le paramètre maxPodsPerNode
pour s'assurer qu'il y a suffisamment d'adresses IP pour les nœuds du pool de nœuds. Cette validation utilise une liaison d'étiquette stricte, où un ClusterCIDRConfig
est lié à un pool de nœuds à l'aide d'un sélecteur de nœuds. Vous pouvez ignorer cette validation en définissant l'annotation baremetal.cluster.gke.io/skip-pod-cidr-size-check
sur la CR du cluster ou au niveau du NodePool.
Créer une ressource
ClusterCIDRConfig
Cette ressource est liée à un NodePool spécifique à l'aide d'un sélecteur de nœuds.
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)
Remplacez
NODE_POOL_NAME
par le nom de votre NodePool.Créez le pool de nœuds avec une densité de pods remplacée.
Spécifiez le champ
nodeConfigOverride
dans la définition NodePool. Ce champ contient la configurationpodDensity
.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. ...
Remplacez les éléments suivants :
NODEPOOL_NAME
: nom de la ressource de pool de nœuds dont vous remplacez la valeur maximale de pods par nœud.CLUSTER_NAMESPACE
: espace de noms du cluster dans lequel réside le pool de nœuds.CLUSTER_NAME
: nom du cluster dans lequel vous remplacez les paramètres du pool de nœuds.MAX_PODS_PER_NODE
: nombre maximal de pods pouvant être exécutés sur un seul nœud du pool de nœuds spécifié.
Étapes suivantes
- Découvrez les différences entre les modèles de réseau en mode plat et en mode île.
- Découvrez comment implémenter un modèle de réseau IPv4 en mode plat.
- Découvrez comment créer un cluster avec une mise en réseau à double pile IPv4/IPv6.
- En savoir plus sur l'opérateur GPU NVIDIA fourni
- Comprendre la corrélation entre les blocs CIDR de pod, le nombre de nœuds et la densité de pods