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

Puoi configurare la densità dei pod per i singoli node pool in modo da eseguire l'override dell'impostazione a livello di cluster, il che ti aiuta a migliorare l'efficienza delle risorse. Questa funzionalità è utile per i node pool specializzati, come i nodi con GPU, in cui i requisiti del workload o l'allocazione efficiente degli indirizzi IP richiedono un valore diverso per il numero massimo di pod per nodo.

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 ricava 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 rigida, 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 sulla 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 densità dei pod sottoposta a override.

    Specifica il campo nodeConfigOverride nella definizione di 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 eseguendo l'override del 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 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