Partilhar via


Planejamento de endereço IP para seus clusters do Serviço Kubernetes do Azure (AKS)

Este artigo fornece orientação sobre o planejamento de endereços IP para clusters do Serviço Kubernetes do Azure (AKS).

Para obter orientações específicas sobre o planejamento de endereços IP para opções individuais de CNI, consulte a próxima seção de etapas para obter links para a documentação do plugin.

Dimensionamento da sub-rede

Sua sub-rede VNet do Azure deve ser grande o suficiente para acomodar seu cluster, o que depende se você está usando uma rede de sobreposição ou uma rede plana.

Redes de sobreposição

Com redes de sobreposição, como a Sobreposição CNI do Azure, sua sub-rede precisa ser grande o suficiente para atribuir IPs aos seus nós. Os pods recebem IPs de um intervalo CIDR privado separado e não exigem IPs VNet. A sub-rede VNet que você usa para seu cluster pode ser menor do que com redes planas.

É importante garantir que você aloque espaço suficiente em sua faixa CIDR privada para que seus pods levem em conta o dimensionamento. Ao planejar os tamanhos do intervalo de endereços IP, você deve calcular sua contagem máxima de pods. A cada nó do cluster é atribuída uma sub-rede /24 (256 endereços IP) para pods. Você deve planejar sua sub-rede de rede de sobreposição para acomodar o número máximo de nós que você espera executar.

Redes planas

Redes planas, como a Sub-rede de Pod CNI do Azure, exigem uma sub-rede grande o suficiente para acomodar nós e pods. Como nós e pods recebem IPs da sua rede virtual, você precisa planejar o número máximo de nós e pods que espera executar. A Sub-rede de Pod CNI do Azure usa uma sub-rede para seus nós e uma sub-rede separada para seus pods, portanto, você precisa planejar ambos.

Dimensionamento de endereços IP

Considerações sobre atualização e dimensionamento

Ao planejar o endereço IP para seu cluster AKS, você deve considerar o número de endereços IP necessários para operações de atualização e dimensionamento. Se você definir o intervalo de endereços IP para suportar apenas um número fixo de nós, não poderá atualizar ou dimensionar seu cluster.

Quando você atualiza seu cluster AKS, um novo nó é implantado no cluster. Serviços e cargas de trabalho começam a ser executados no novo nó e um nó mais antigo é removido do cluster. Esse processo de atualização contínua requer um mínimo de um bloco adicional de endereços IP para estar disponível. Sua contagem de nós é, então, n + 1 onde n está o número de nós em seu cluster.

Quando você dimensiona um cluster AKS, um novo nó é implantado no cluster. Serviços e cargas de trabalho começam a ser executados no novo nó. Seu intervalo de endereços IP precisa levar em consideração como você deseja aumentar o número de nós e pods que seu cluster pode suportar. Um nó adicional para operações de atualização também deve ser incluído. Sua contagem de nós é então n + number-of-additional-scaled-nodes-you-anticipate + max surge.

Se você estiver usando a Sub-rede de Pod CNI do Azure e espera que seus nós executem o número máximo de pods e destrua e implante pods regularmente, também deve considerar endereços IP extras por nó. Pode haver alguns segundos de latência necessários para excluir um serviço e liberar seu endereço IP para que um novo serviço seja implantado e adquira o endereço. Os endereços IP adicionais têm em conta esta possibilidade.

O plano de endereço IP para um cluster AKS consiste em uma rede virtual, pelo menos uma sub-rede para nós e pods e um intervalo de endereços de serviço Kubernetes.

Recurso do Azure Intervalo de endereços Limites e dimensionamento
Rede Virtual do Azure Tamanho máximo /8. 65.536 limites de endereços IP configurados. Consulte Azure CNI Pod Subnet Static Block Allocation para exceção A sobreposição de espaços de endereço na rede pode causar problemas.
Sub-rede Deve ser grande o suficiente para acomodar nós, pods e todos os recursos do Kubernetes e do Azure em seu cluster. Por exemplo, se você implantar um Balanceador de Carga do Azure interno, seus IPs front-end serão alocados da sub-rede do cluster, não IPs públicos. O tamanho da sub-rede também deve levar em conta as operações de atualização e as necessidades futuras de escala.

Use a seguinte equação para calcular o tamanho mínimo da sub-rede, incluindo um nó extra para operações de atualização: (number of nodes + 1) + ((number of nodes + 1) * maximum pods per node that you configure)

Exemplo para um cluster de 50 nós: (51) + (51 * 30 (default)) = 1,581 (/21 ou maior)

Exemplo para um cluster de 50 nós, preparando-se para aumentar a escala de 10 nós extras: (61) + (61 * 30 (default)) = 1,891 (/21 ou maior)

Se você não especificar um número máximo de pods por nó ao criar o cluster, O número máximo de pods por nó é definido como 30. O número mínimo de endereços IP necessários baseia-se nesse valor. Se você calcular seus requisitos mínimos de endereço IP em um valor máximo diferente, consulte Máximo de pods por nó para definir esse valor ao implantar seu cluster.

Intervalo de endereços de serviço do Kubernetes Qualquer elemento de rede nessa rede virtual ou conectado a ela não deve usar esse intervalo. O endereço de serviço CIDR deve ser menor que /12. Você pode reutilizar esse intervalo em diferentes clusters AKS.
Endereço IP do Serviço DNS do Kubernetes Endereço IP dentro do intervalo de endereços de serviço do Kubernetes usado pela descoberta do serviço de cluster. Não use o primeiro endereço IP no seu intervalo de endereços. O primeiro endereço no intervalo de sub-redes é usado para o endereço kubernetes.default.svc.cluster.local .

Pods máximos por nó

O número máximo de pods por nó em um cluster AKS é 250. O número máximo padrão de pods por nó varia entre kubenet e rede CNI do Azure e o método de implantação de cluster.

CNI Pods máximos padrão Configurável na implantação
Sobreposição do Azure CNI 250 Sim (até 250)
Sub-rede do Azure CNI Pod 110 Sim (até 250)
Azure CNI (Legado) 30 Sim (até 250)
Kubenet 110 Sim (até 250)

Configurando o máximo de pods por nó para seus clusters

Você pode configurar o número máximo de pods por nó no momento da implantação do cluster ou à medida que adiciona novos pools de nós. Você pode definir o valor máximo de pods por nó como 250.

Um valor mínimo para pods máximos por nó é imposto para garantir espaço para pods de sistema críticos para a integridade do cluster. O valor mínimo que pode ser definido para pods máximos por nó é 10 se e somente se a configuração de cada pool de nós tiver espaço para um mínimo de 30 pods. Por exemplo, definir o máximo de pods por nó para o mínimo de 10 requer que cada pool de nós individual tenha um mínimo de três nós. Esse requisito também se aplica a cada novo pool de nós criado, portanto, se 10 for definido como pods máximos por nó, cada pool de nós subsequente adicionado deve ter pelo menos três nós.

Rede Mínimo Máximo
Azure CNI 10 250
Kubenet 10 250

Nota

O valor mínimo na tabela anterior é estritamente aplicado pelo serviço AKS. Não é possível definir um valor para maxPods inferior ao mínimo mostrado, pois isso pode impedir que o cluster seja iniciado.

Novos clusters

Você pode definir o máximo de pods por nó ao criar um novo cluster usando um dos seguintes métodos:

  • CLI do Azure: especifique o --max-pods argumento ao implantar um cluster com o az aks create comando.
  • Modelo do Azure Resource Manager: especifique a maxPods propriedade no objeto [ManagedClusterAgentPoolProfile] ao implantar um cluster com um modelo do Azure Resource Manager.
  • Portal do Azure: altere o Max pods per node campo nas configurações do pool de nós ao criar um cluster ou adicionar um novo pool de nós.

Clusters existentes

Você pode definir o máximo de pods por nó ao criar um novo pool de nós. Se você precisar aumentar a configuração de maxPods em um cluster existente, adicione um novo pool de nós com a nova contagem de maxPods desejada. Depois de migrar seus pods para o novo pool, exclua o pool mais antigo do nó.

Passos Seguintes