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

Questo documento descrive come specificare la densità dei pod per i singoli node pool 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. La sostituzione della densità dei pod per node pool specifici può migliorare l'efficienza delle risorse. Questa funzionalità è utile per i node pool specializzati, ad esempio i nodi con GPU, in cui i requisiti specifici dei workload o l'allocazione efficiente degli indirizzi IP richiedono un valore diverso per il numero massimo di pod per nodo.

La funzionalità per sostituire l'impostazione della densità dei pod a livello di cluster è disponibile per i cluster con la versione 1.33 e successive.

Prima di iniziare

La funzionalità per specificare la densità dei pod per i node pool è disponibile solo per i cluster con una delle seguenti configurazioni di rete:

Configurare la densità dei pod per un pool di nodi

Configura la densità dei pod nella specifica NodePool per sostituire le impostazioni a livello di cluster. Questa configurazione è facoltativa. Il sistema deriva le dimensioni dell'intervallo CIDR assegnato al nodo dal parametro del numero massimo di pod per nodo.

La configurazione maxPodsPerNode è immutabile dopo la creazione 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 l'associazione di etichette rigorosa, in cui un ClusterCIDRConfig si associa a un pool di nodi utilizzando un selettore di nodi. Puoi saltare 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 si associa 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à dei pod sostituita.

    Specifica il campo nodeConfigOverride nella definizione NodePool. Questo campo contiene la configurazione 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 del pool di nodi di cui stai sostituendo il valore del numero massimo di pod per nodo.

    • CLUSTER_NAMESPACE: lo spazio dei nomi del cluster in cui si trova il pool di nodi.

    • CLUSTER_NAME: il nome del cluster in cui sostituisci le 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