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 mínimo de um nó adicional para operações de atualização ou o número de nós definido pela opção Personalizar atualização de aumento de nó 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: Exemplo para um cluster de 50 nós: Exemplo para um cluster de 50 nós, preparando-se para escalar 10 nós extras com o aumento máximo padrão de 1 nó: 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 oaz 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
Azure Kubernetes Service