Identificar opções de plug-in
Um plug-in de rede é necessário para um cluster AKS para facilitar a comunicação pod-to-pod, comunicação pod-to-node e, em alguns casos, comunicação node-to-pod. Existem dois modelos de rede disponíveis no AKS: kubenet e Azure CNI. Há evoluções adicionais do Azure CNI, incluindo Azure CNI Overlay, Azure CNI para alocação de IP dinâmico e Azure CNI Powered by Cilium. Cada um destes modelos tem o seu próprio conjunto de características e limitações.
Kubenet
Por padrão, os clusters AKS usam kubenet. Com o kubenet, uma rede virtual, uma sub-rede e uma tabela de rotas do Azure são criadas automaticamente quando o cluster é implantado, mas os recursos de rede existentes podem ser fornecidos. Com kubenet:
- Os nós recebem um endereço IP da sub-rede de rede virtual do Azure.
- Os pods recebem um endereço IP de um espaço de endereço logicamente diferente da sub-rede do pool de nós.
- A conversão de endereços de rede (NAT) é então configurada para que os pods possam alcançar recursos na Rede Virtual do Azure.
- O endereço IP de origem do tráfego é convertido para o endereço IP primário do nó.
Os pods não podem se comunicar diretamente entre nós entre nós. Em vez disso, o UDR (Roteamento Definido pelo Usuário) e o encaminhamento IP são usados para conectividade entre pods entre nós. Por padrão, UDRs e configuração de encaminhamento IP são criados e mantidos pelo serviço AKS, mas você tem a opção de trazer sua própria tabela de rotas para gerenciamento de rotas personalizado.
Se a sua sub-rede personalizada não contiver uma tabela de rotas, o AKS criará uma para você e adicionará regras a ela durante todo o ciclo de vida do cluster. Se sua sub-rede personalizada contiver uma tabela de rotas quando você criar seu cluster, o AKS reconhecerá a tabela de rotas existente durante as operações de cluster e adicionará/atualizará as regras de acordo com as operações do provedor de nuvem.
Azure CNI
O plug-in CNI do Azure é uma opção de rede mais complexa com maior configurabilidade e mais recursos suportados. Com o Azure CNI, uma sub-rede pré-existente e uma rede virtual são necessárias para utilizar os clusters usando com a rede CNI do Azure exigem planejamento extra. O tamanho da sua rede virtual e sua sub-rede devem acomodar o número de pods que você planeja executar e o número de nós para o cluster. Com o Azure CNI:
- Os nós recebem um espaço de endereço IP da sub-rede da Rede Virtual do Azure.
- Cada pod recebe um endereço IP na sub-rede do pool de nós e pode se comunicar diretamente com outros pods e serviços.
- Seus clusters podem ser tão grandes quanto o intervalo de endereços IP especificado. No entanto, o intervalo de endereços IP deve ser planejado com antecedência, e todos os endereços IP são consumidos pelos nós AKS com base no número máximo de pods que eles podem suportar.
Com o Azure CNI, uma sub-rede pré-existente e uma rede virtual são necessárias para utilizar o plug-in de rede CNI do Azure. Esta sub-rede e rede virtual podem ser criadas durante o tempo de criação do cluster AKS.
Sobreposição do Azure CNI
O Azure CNI Overlay representa uma evolução do Azure CNI, abordando desafios de escalabilidade e planejamento decorrentes da atribuição de IPs de rede virtual a pods. O Azure CNI Overlay atribui IPs CIDR privados a pods. Os IPs privados são separados da rede virtual e podem ser reutilizados em vários clusters. A sobreposição CNI do Azure pode ser dimensionada além do limite de 400 nós imposto em clusters Kubenet. A Sobreposição CNI do Azure é a opção recomendada para a maioria dos clusters.
Azure CNI com Tecnologia Cilium
O Azure CNI Powered by Cilium usa o Cilium para fornecer rede, observabilidade e imposição de políticas de rede de alto desempenho. Ele se integra nativamente ao Azure CNI Overlay para gerenciamento escalável de endereços IP (IPAM).
Além disso, o Cilium impõe políticas de rede por padrão, sem exigir um mecanismo de diretiva de rede separado. O Azure CNI Powered by Cilium pode ser dimensionado além dos limites do Azure Network Policy Manager de 250 nós / pod de 20 K usando programas ePBF e uma estrutura de objeto de API mais eficiente.
O Azure CNI Powered by Cilium é a opção recomendada para clusters que exigem imposição de política de rede.
Use um plugin personalizado
Para clientes que planejam usar uma configuração de rede personalizada, não há requisitos de plug-in de rede. Você pode escolher entre provedores CNI como Cilium ou Flannel. No entanto, é melhor recorrer à sua própria documentação, uma vez que não é abrangida pela Microsoft.