Neste documento, descrevemos como especificar a densidade de pods para pools de nós individuais no cluster, substituindo a configuração em todo o cluster. Embora as configurações no nível do nó geralmente se apliquem a todo o cluster, é possível configurar a densidade de pods em um pool de nós específico. Substituir a densidade de pods em pools de nós específicos pode melhorar a eficiência dos recursos. Essa capacidade é útil para pools de nós especializados, como nós com GPUs, em que requisitos específicos de carga de trabalho ou alocação eficiente de endereços IP exigem um valor diferente para o número máximo de pods por nó.
A capacidade de substituir a configuração de densidade de pods em todo o cluster está disponível para clusters na versão 1.33 e mais recentes.
Antes de começar
A capacidade de especificar a densidade de pods para pools de nós está disponível apenas para clusters com uma das seguintes configurações de rede:
Configurar a densidade de pods para um pool de nós
Configure a densidade de pods na especificação NodePool
para substituir as configurações no nível do cluster. Essa configuração é opcional. O sistema deriva o tamanho do intervalo CIDR atribuído ao nó do parâmetro "Pods máximos por nó".
A configuração maxPodsPerNode
é imutável após a criação do pool de nós. O sistema valida a configuração maxPodsPerNode
para garantir endereços IP suficientes para os nós no pool de nós. Essa validação usa vinculação estrita de identificadores, em que um
ClusterCIDRConfig
se vincula a um pool de nós usando um seletor de nós. Para pular essa validação, defina a anotação baremetal.cluster.gke.io/skip-pod-cidr-size-check
no CR do cluster ou no nível do NodePool.
Criar um recurso
ClusterCIDRConfig
.Esse recurso se vincula a um NodePool específico usando um seletor de nós.
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)
Substitua
NODE_POOL_NAME
pelo nome do seu NodePool.Crie o pool de nós com a densidade de pods substituída.
Especifique o campo
nodeConfigOverride
na definição do NodePool. Esse campo contém a configuraçãopodDensity
.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. ...
Substitua:
NODEPOOL_NAME
: o nome do recurso do pool de nós cujo valor máximo de pods por nó você está substituindo.CLUSTER_NAMESPACE
: o namespace do cluster em que o pool de nós está localizado.CLUSTER_NAME
: o nome do cluster em que você substitui as configurações do pool de nós.MAX_PODS_PER_NODE
: o número máximo de pods que você pode executar em um único nó no pool de nós especificado.
A seguir
- Saiba mais sobre as diferenças entre os modelos de rede no modo plano e em ilha.
- Saiba como implementar o modelo de rede no modo IPv4 plano.
- Saiba como criar um cluster com rede de pilha dupla IPv4/IPv6.
- Saiba mais sobre o NVIDIA GPU Operator agrupado.
- Entenda como os blocos CIDR de pod, o número de nós e a densidade de pods se correlacionam.