Planear a rede para pods no Azure Kubernetes Service (AKS)

Neste artigo, aprende opções de pod networking para o Azure Kubernetes Service (AKS). Primeiro colocamos uma pergunta para orientar o seu planeamento e depois fornecemos opções, recomendações e boas práticas.

Precisas de acesso direto ao IP do pod?

A rede de pods controla como os pods têm endereços IP atribuídos e define como os pods comunicam entre si, os nós do cluster e os destinos fora do cluster. O Kubernetes fornece rede pod através de um plugin Container Network Interface (CNI ), responsável pela gestão dos endereços IP pod e da conectividade de rede.

Ao configurar rede pod, é necessário planear a gestão de endereços IP (IPAM) e o encaminhamento e transporte (plano de dados).

Opções de gestão de endereços IP (IPAM)

Ao configurar o IPAM, pode escolher entre um Modelo de Rede Overlay com Azure CNI Overlay e um Modelo de Rede Plana com Azure CNI Pod Subnet ou Azure CNI Node Subnet:

Opções de IPAM Diagrama dos componentes de rede Características e funcionalidades
Modelo de Rede de Sobreposição (com Azure CNI Overlay) Captura de ecrã de um diagrama dos componentes de rede de um Modelo de Rede Overlay. IPs dos pods vêm de um intervalo de sobreposição que não faz parte do espaço VNet.
• Rede altamente escalável, com até 5.000 nós e 250.000 pods.
• Reutilizar o espaço de sobreposição de pods em todos os clusters sem conflito. Coisas como peering de VNet ou ligações diretas de ExpressRoute podem causar conflitos com o espaço IP privado.
• Suporte de dual-stack (IPV4/IPV6).
• Os pods não podem ser acessados diretamente de fora do cluster.
Modelo de Rede Flat (com Sub-rede do Pod CNI do Azure, ou Sub-rede de Node) Captura de ecrã de um diagrama dos componentes de rede de um Modelo de Rede Plana. • IPs de nós e pods provêm do espaço VNet.
• Os pods podem ser acedidos diretamente a partir de fora do cluster.
• As opções Azure CNI Pod Subnet incluem Alocação Dinâmica de IP para eficiência ou Alocação de Blocos Estáticos para escala.

Considerações para opções de Modelo de Rede Plana

Tenha em mente as seguintes considerações ao decidir entre a Subnet Azure CNI Pod com Alocação Dinâmica de IP, a Subnet Azure CNI Pod com Alocação de Blocos Estáticos e a Subrede de Nó CNI do Azure:

Opção de Modelo de Rede Plana Considerações
Azure CNI Pod Subnet com Alocação Dinâmica de IP • Envolve alguma complexidade e gestão. Tens de delegar uma sub-rede para os teus nós e pods, e garantir que a defines corretamente para lidar com a escala de que precisas.
• Limitação de 64.000 IPs.
Sub-rede de Pods do Azure CNI com Atribuição de Bloco Estático • Requer um planeamento cuidadoso, pois precisa de alocar um intervalo específico de IPs para os seus pods e garantir que não se sobrepõe a outras sub-redes.
• Pode obter até 1.000.000 de IPs.
• IPs podem não ser usados de forma tão eficiente, o que pode levar a desperdício.
Azure CNI Node Subnet • O AKS gere a sub-rede por si, simplificando a configuração.
• Limitação de 64.000 IPs.

Opções de encaminhamento e transporte (plano de dados)

Ao configurar o seu data plane, pode escolher entre Azure CNI Powered by Cilium eBPF data plane, Azure IPTables data plane e BYO CNI:

Opções de plano de dados Características e funcionalidades
Azure CNI Powered by Cilium • Escala e desempenho melhorados.
• Gestor de Políticas de Rede (NPM) incorporado.
• Políticas de rede melhoradas, como filtragem FQDN com Advanced Container Network Services.
Azure IPTables • Instale Calico ou Azure NPM (não recomendado) para o seu Network Policy Manager.
• Suporta todas as Políticas de Rede do Kubernetes.
BYO CNI • Sem plugin CNI gerido instalado – pode usar qualquer opção que suporte AKS.
• A Microsoft não suporta problemas relacionados com CNI.

Recommendations

A nossa recomendação geral é usar o Azure CNI Overlay. Se precisar de acesso direto ao IP e tiver requisitos de eficiência ou escala, considere usar a sub-rede Azure CNI Pod com Alocação Dinâmica de IP ou a sub-rede Azure CNI Pod com Alocação de Blocos Estáticos. Se precisas de acesso direto ao pod IP e queres uma gestão simplificada, considera usar o Azure CNI Node Subnet.