Esegui l'override della densità dei pod per un pool di nodi

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.

  1. 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.

  2. 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 di podDensity.

    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