Planejamento de endereço IP para seus clusters do Serviço de Kubernetes do Azure (AKS)
Este artigo fornece diretrizes sobre o planejamento de endereço IP para clusters do Serviço de Kubernetes do Azure (AKS).
Para obter diretrizes específicas sobre o planejamento de endereço IP para opções de CNI individuais, consulte a seção próximas etapas para obter links para a documentação do plug-in.
Dimensionamento da sub-rede
Sua sub-rede VNet do Azure deve ser grande o suficiente para acomodar seu clusters, o que depende se você está usando uma rede de sobreposição ou uma rede simples.
Redes de sobreposição
Com redes de sobreposição, como Sobreposição da 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 exigirão IPs de VNet. A sub-rede VNet usada para o cluster pode ser menor do que com redes simples.
É importante garantir que você aloque espaço suficiente no intervalo CIDR privado para os pods considerarem a colocação em escala. Ao planejar os tamanhos do intervalo de endereços IP, você deve calcular sua contagem máxima de pods. Cada nó em seu cluster recebe 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 simples
Redes simples, como Sub-rede de pod da CNI do Azure, exigem uma sub-rede grande o suficiente para acomodar os nós e pods. Como os nós e pods recebem IPs de sua VNet, você precisa planejar o número máximo de nós e pods que espera executar. A sub-rede de pod da 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ço IP
Considerações de atualização e colocação em escala
Ao planejar o endereço IP para o cluster do AKS, considere o número de endereços IP necessários para operações de atualização e colocação em escala. Se você definir o intervalo de endereços IP para dar suporte a apenas um número fixo de nós, não poderá atualizar ou escalar o cluster.
Quando você atualiza seu cluster do AKS, um novo nó é implantando 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 a serem disponibilizados. A contagem de nós é n + 1
, em que n
é o número de nós no cluster.
Quando você escala um cluster do 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ê pode aumentar o número de nós e pods ao qual seu cluster pode dar suporte. Um mínimo de um nó adicional para operações de atualização ou o número de nós definidos pela opção Personalizar atualização de aumento de nó também deve ser incluído. Sua contagem de nós, em seguida, é n + number-of-additional-scaled-nodes-you-anticipate + max surge
.
Se você estiver usando a Sub-rede de pod da CNI do Azure e espera que seus nós executem o número máximo de pods, destruam e implantem os pods regularmente, também deve incluir alguns endereços IP adicionais por nó. Pode haver uma latência de alguns segundos necessária 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 consideram essa possibilidade.
O plano de endereço IP de um cluster do 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 do Kubernetes.
Recursos do Azure | Intervalo de endereços | Limites e Dimensionamento |
---|---|---|
Rede Virtual do Azure | Tamanho máximo /8. Limite de endereço IP configurado em 65.536. Consulte Alocação de bloco estático de sub-rede do pod da CNI do Azure para obter a exceção | A sobreposição de espaços de endereço em sua 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 Azure Load Balancer interno, os IPs de 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 ou futuras necessidades de colocação em 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 verticalmente um número extra de 10 nós 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 seu cluster, o número máximo de pods por nó será definido como 30. O número mínimo de endereços IP necessário tem base nesse valor. Se você calcular seus requisitos mínimos de endereço IP com um valor máximo diferente, consulte Máximo de pods por nó para definir esse valor ao implantar o cluster. |
Intervalo de endereços de serviço do Kubernetes | Qualquer elemento de rede ligado ou conectado a essa rede virtual não deve usar esse intervalo. | O endereço de serviço CIDR deve ser menor do que /12. Você pode reutilizar esse intervalo em diferentes clusters do AKS. |
Endereço IP do serviço DNS do Kubernetes | Endereços IP dentro do intervalo de endereços de serviço do Kubernetes usados pela descoberta do serviço de cluster. | Não use o primeiro endereço IP no intervalo de endereços. O primeiro endereço no seu intervalo de sub-rede é usado para o endereço kubernetes.default.svc.cluster.local. |
Máximo de pods por nó
O número máximo de pods por nó em um cluster do AKS é 250. O número máximo padrão de pods por nó varia entre o kubenet e a rede CNI do Azure, bem como o método de implantação do cluster.
CNI | Pods máximos padrão | Configurável na implantação |
---|---|---|
Sobreposição de CNI do Azure | 250 | Sim (até 250) |
Sub-rede do pod da CNI do Azure | 110 | Sim (até 250) |
CNI do Azure (Herdado) | 30 | Sim (até 250) |
Kubenet | 110 | Sim (até 250) |
Configurar o máximo de pods por nó para seus clusters
Configure o número máximo de pods por nó no momento da implantação do cluster ou conforme você adiciona novos pools de nós. O valor máximo de pods por nó pode ser definido como até 250.
Um valor mínimo para o máximo de pods por nó é imposto para garantir o espaço dos pods do sistema que são críticos para a integridade do cluster. O valor mínimo que pode ser definido para o máximo de pods 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 exige que cada pool de nós individual tenha um mínimo de três nós. Esse requisito se aplica a cada novo pool de nós criado também, portanto, se 10 for definido como o máximo de pods por nó, cada pool de nós subsequente adicionado deverá ter, pelo menos, três nós.
Rede | Mínimo | Máximo |
---|---|---|
CNI do Azure | 10 | 250 |
Kubenet | 10 | 250 |
Observação
O valor mínimo na tabela anterior é estritamente imposto pelo serviço do AKS. Não é possível definir um valor para maxPods menor do que o 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: especifica o argumento
--max-pods
ao implantar um cluster com o comandoaz aks create
. - Modelo do Azure Resource Manager: especifique a propriedade
maxPods
no objeto [ManagedClusterAgentPoolProfile] ao implantar um cluster com um modelo do Azure Resource Manager. - Portal do Azure: altere o campo
Max pods per node
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. Caso precise 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 de nós mais antigo.
Próximas etapas
Azure Kubernetes Service