Questo documento descrive come specificare la densità dei pod per i singoli pool di nodi nel cluster, sostituendo l'impostazione a livello di cluster. Sebbene le configurazioni a livello di nodo in genere si applichino all'intero cluster, puoi configurare la densità dei pod in un pool di nodi specifico. L'override della densità dei pod per node pool specifici può migliorare l'efficienza delle risorse. Questa funzionalità è utile per i node pool specializzati, come i nodi con GPU, in cui requisiti di workload specifici o un'allocazione efficiente degli indirizzi IP richiedono un valore diverso per il numero massimo di pod per nodo.
La possibilità di ignorare l'impostazione della densità dei pod a livello di cluster è disponibile per i cluster con versione 1.33 e successive.
Prima di iniziare
La possibilità di specificare la densità dei pod per i node pool è disponibile solo per i cluster con una delle seguenti configurazioni di rete:
Configura la densità dei pod per un pool di nodi
Configura la densità dei pod all'interno della specifica NodePool
per eseguire l'override delle impostazioni a livello di cluster. Questa configurazione è facoltativa. Il sistema deriva le dimensioni dell'intervallo CIDR assegnato al nodo dal parametro Numero massimo di pod per nodo.
La configurazione maxPodsPerNode
è immutabile dopo la creazione del pool di nodi. Il sistema
convalida l'impostazione maxPodsPerNode
per garantire un numero sufficiente di indirizzi IP
per i nodi nel pool di nodi. Questa convalida utilizza un binding rigido delle etichette, in cui un
ClusterCIDRConfig
viene associato a un pool di nodi utilizzando un selettore di nodi. Puoi ignorare questa
convalida impostando l'annotazione baremetal.cluster.gke.io/skip-pod-cidr-size-check
nel CR del cluster o a livello di NodePool.
Crea una risorsa
ClusterCIDRConfig
.Questa risorsa è associata a un NodePool specifico utilizzando un selettore di nodi.
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)
Sostituisci
NODE_POOL_NAME
con il nome del tuo NodePool.Crea il pool di nodi con la densità di pod sottoposta a override.
Specifica il campo
nodeConfigOverride
nella definizione di NodePool. Questo campo contiene la configurazione dipodDensity
.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. ...
Sostituisci quanto segue:
NODEPOOL_NAME
: il nome della risorsa pool di nodi di cui stai sostituendo il valore massimo di pod per nodo.CLUSTER_NAMESPACE
: lo spazio dei nomi del cluster in cui si trova ilpool di nodil.CLUSTER_NAME
: il nome del cluster in cui esegui l'override delle impostazioni pool di nodi.MAX_PODS_PER_NODE
: il numero massimo di pod che puoi eseguire su un singolo nodo nel pool di nodi specificato.
Passaggi successivi
- Scopri le differenze tra i modelli di rete in modalità flat e in modalità isolata.
- Scopri come implementare il modello di rete in modalità IPv4 flat.
- Scopri come creare un cluster con networking a doppio stack IPv4/IPv6.
- Scopri di più sull'operatore GPU NVIDIA in bundle.
- Scopri la correlazione tra i blocchi CIDR dei pod, il numero di nodi e la densità dei pod.