Vous pouvez configurer la densité des pods pour des pools de nœuds individuels afin de remplacer le paramètre à l'échelle du cluster, ce qui vous aide à 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ù les exigences de charge de travail ou l'allocation efficace d'adresses IP nécessitent une valeur différente pour le nombre maximal de pods par nœud.
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 dotés de 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 du 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 ressource personnalisée du cluster ou au niveau du pool de nœuds.
Créer une ressource
ClusterCIDRConfigCette 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_NAMEpar le nom de votre NodePool.Créez le pool de nœuds avec une densité de pods remplacée.
Spécifiez le champ
nodeConfigOverridedans la définition de 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 se trouve 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 que vous pouvez exécuter sur un même nœud dans le 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.
- Découvrez l'opérateur GPU NVIDIA intégré.
- Comprendre la corrélation entre les blocs CIDR de pods, le nombre de nœuds et la densité de pods