Dimensionando a rede
Saber o número de pods e nós é essencial antes de determinar quantos endereços IP você precisa. Agora que você sabe o número de pods e nós necessários, vamos examinar o dimensionamento da rede.
Dimensionando a sub-rede da rede virtual
Você deseja ter um máximo de sete VMs para os nós de cluster do Kubernetes. Lembre-se de que um nó extra é adicionado temporariamente aos clusters do AKS (Serviço de Kubernetes do Azure) durante o processo de atualização. Portanto, você precisa fazer cálculos de tamanho de rede com base em oito VMs (máquinas virtuais).
Maximum 7 VMs + 1 VM for upgrades = 8 node IP addresses
Por padrão, os clusters do AKS que usam o plug-in CNI (Interface de Rede de Contêiner) do Azure são configurados para permitir um máximo de 30 pods por nó. Esse valor pode ser configurado com qualquer valor entre 10 e 250 pods. Os cálculos de dimensionamento de rede devem permitir que o número máximo de pods seja implantado.
8 VMs x 30 pods per node maximum = 240 pod IP addresses
Você precisa de 8 endereços IP para nós e 240 endereços IP para pods.
8 node IP addresses + 240 pod IP addresses = 248 IP addresses
Dica
Se você planeja usar um Azure Load Balancer interno com seu cluster, ele também requer um endereço IP. É uma prática comum usar uma sub-rede dedicada para balanceadores de carga, mas se você planeja usar a mesma sub-rede que seus nós, precisará considerar isso.
Neste design, você decidiu manter a configuração padrão do pool de nós. A configuração padrão usa um único pool de nós em modo sistema que executa tudo. Se você quiser garantir que os componentes do sistema estejam isolados dos aplicativos, você precisará de pelo menos dois pools de nós. Você deve ajustar os cálculos do intervalo de endereços IP para considerar isso.
Agora você pode abordar a equipe responsável pela alocação de rede em sua organização e solicitar uma sub-rede com suporte a 248 endereços IP. Quando você cria uma sub-rede em uma Rede Virtual do Azure, cinco endereços IP são reservados para uso do sistema. Um intervalo de endereços /24 teria 251 endereços IP utilizáveis, o que o tornaria uma boa opção para o cluster.
Selecionando um intervalo de endereços do serviço de Kubernetes
Com o nó e a sub-rede de pod selecionados, há apenas mais um intervalo de endereços a ser selecionado: o intervalo de endereços para o Serviço do Kubernetes. O Serviço do Kubernetes fornece um endereço IP virtual estático que permite que o tráfego seja roteado para seus pods. Esse intervalo de endereços só é usado para rotear o tráfego dentro do seu cluster. O intervalo de endereços nunca é usado ou exposto fora do cluster. Portanto, você precisa selecionar um intervalo de endereços de rede privada que não esteja em uso em nenhum outro lugar no Azure ou em suas redes locais.
Dica
Como o intervalo de endereços de serviço do Kubernetes nunca é usado fora do cluster, é possível reutilizar esse intervalo de endereços em vários clusters.
As regras para selecionar um intervalo de endereços de serviço incluem:
- O intervalo não pode estar dentro do intervalo de endereços IP da rede virtual usada para o cluster.
- O intervalo não pode estar dentro do intervalo de endereços IP de outras redes virtuais emparelhadas com a rede de cluster.
- O intervalo não pode se sobrepor a nenhum intervalo de endereços IP que você usa em redes locais.
- O intervalo não pode estar nos intervalos de endereços IP 169.254.0.0/16, 172.30.0.0/16, 172.31.0.0/16 ou 192.0.2.0/24.
Normalmente, você não precisa de muitos endereços IP para serviços em um cluster. Normalmente, você terá um serviço na frente de um grupo de pods que executa várias réplicas de um aplicativo. Nesse caso, você tem oito serviços diferentes formando o aplicativo, portanto, você só precisa de oito endereços IP de serviço.
Outros serviços em execução no cluster, como controladores de entrada ou malhas de serviço, podem consumir mais endereços IP de serviço. É melhor considerar espaço extra para outros serviços que você pode usar no futuro. Geralmente, é uma boa ideia usar um intervalo de endereços generoso. Um intervalo de endereços /24 fornece bastante espaço para o cluster trabalhar.
Selecionando um endereço IP do serviço DNS
O Kubernetes usa um serviço DNS (Sistema de Nomes de Domínio) integrado para fornecer recursos de descoberta de serviço dentro do cluster. O serviço DNS precisa de um endereço IP dentro do intervalo de endereços do serviço Kubernetes. Você não pode usar o primeiro endereço IP do intervalo de endereços do serviço Kubernetes, mas qualquer outro valor é aceitável.
Agora você tem todas as informações necessárias para implantar o cluster.