Este documento descreve como especificar a densidade de pods para pools de nós individuais no seu cluster, substituindo a definição ao nível do cluster. Embora as configurações ao nível do nó se apliquem normalmente a todo o cluster, pode configurar a densidade de pods num pool de nós específico. A substituição da densidade de pods para pools de nós específicos pode melhorar a eficiência dos recursos. Esta capacidade é útil para pools de nós especializados, como nós com GPUs, em que requisitos específicos da carga de trabalho ou uma atribuiçã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 definição de densidade de pods ao nível do cluster está disponível para clusters na versão 1.33 e superior.
Antes de começar
A capacidade de especificar a densidade de pods para pools de nós só está disponível para clusters com uma das seguintes configurações de rede:
Configure a densidade de pods para um node pool
Configure a densidade de pods na especificação NodePool
para substituir as definições ao nível do cluster. Esta configuração é opcional. O sistema deriva o tamanho do intervalo CIDR atribuído ao nó do parâmetro Máximo de pods por nó.
A configuração maxPodsPerNode
é imutável após a criação do conjunto de nós. O sistema valida a definição maxPodsPerNode
para garantir que existem endereços IP suficientes para os nós no conjunto de nós. Esta validação usa a associação estrita de etiquetas, em que uma
ClusterCIDRConfig
é associada a um conjunto de nós através de um seletor de nós. Pode ignorar esta validação definindo a anotação baremetal.cluster.gke.io/skip-pod-cidr-size-check
no CR do cluster ou ao nível do NodePool.
Crie um recurso
ClusterCIDRConfig
.Este recurso é associado a um NodePool específico através de 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 node pool com a densidade de pods substituída.
Especifique o campo
nodeConfigOverride
na definição NodePool. Este 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 o seguinte:
NODEPOOL_NAME
: o nome do recurso do conjunto de nós cujo valor máximo de pods por nó está a substituir.CLUSTER_NAMESPACE
: o espaço de nomes do cluster onde reside o node pool.CLUSTER_NAME
: o nome do cluster onde substitui as definições do node pool.MAX_PODS_PER_NODE
: o número máximo de pods que pode executar num único nó no conjunto de nós especificado.
O que se segue?
- Saiba mais sobre as diferenças entre os modelos de rede de modo simples e modo isolado.
- Saiba como implementar o modelo de rede de modo IPv4 simples.
- Saiba como criar um cluster com rede de pilha dupla IPv4/IPv6.
- Saiba mais sobre o operador de GPU da NVIDIA incluído.
- Compreenda como os blocos CIDR de pods, o número de nós e a densidade de pods estão correlacionados.