Critérios de decisão

Concluído

Escolher o melhor plugin de rede para o seu caso de uso depende dos seus critérios. Cada opção tem seus próprios prós, contras e compensações a serem considerados ao fazer uma seleção.

Critérios de decisão de alto nível

Exaustão do IPv4

Kubenet é projetado com a conservação do espaço de endereço IP em mente. O Azure CNI fornece pods com conectividade de rede completa, mas requer mais espaço de endereço IP e planejamento. O esgotamento do IPv4 ocorre quando o número de endereços atinge o limite e interrompe os nós de uma operação de escala ou atualização. Durante a exaustão, seu aplicativo exige muitos recursos e vacila para acompanhar.

Kubenet permite que os nós recebam endereços IP definidos, sem a necessidade de reservar um grande número de endereços IP antecipadamente para todos os pods potenciais que poderiam ser executados no cluster. Com o kubenet, você se preocupa menos com a exaustão do IPv4 e lida com um pequeno intervalo de endereços IP para suporte a clusters grandes e demandas de aplicativos.

Os seguintes cálculos básicos comparam o espaço de endereçamento nos modelos de rede:

  • kubenet: um simples intervalo de endereços IP /24 pode suportar até 251 nós no cluster (cada sub-rede de rede virtual do Azure reserva os três primeiros endereços IP para operações de gerenciamento). Essa contagem de nós pode suportar até 27.610 pods (com um máximo padrão de 110 pods por nó com kubenet).
  • Azure CNI: esse mesmo intervalo de sub-rede /24 básico só poderia suportar um máximo de 8 nós no cluster. Essa contagem de nós só pode oferecer suporte a até 240 pods (com um máximo padrão de 30 pods por nó com o Azure CNI).

Tamanho do cluster

O Kubenet tem um máximo rígido de 400 nós por cluster, enquanto o Azure CNI depende de como o plug-in está configurado.

Conectividade

No Kubenet, você deve gerenciar manualmente e manter rotas definidas pelo usuário (UDRs). Para alcançar pods de fora do cluster, um balanceador de carga deve ser usado. Com o Azure CNI, os pods obtêm conectividade de rede virtual completa e podem ser acessados diretamente por meio de seu endereço IP privado a partir de redes conectadas.

Suporte a vários clusters

No kubenet, vários clusters não podem usar a mesma sub-rede de nó. Com o Azure CNI, essa configuração é possível.

Latência

Em comparação com o Azure CNI, o Kubenet precisa de um salto extra, que pode introduzir alguma latência menor. Cargas de trabalho sensíveis à latência devem ser implantadas em clusters usando o Azure CNI.

Capacidades extras

O Azure CNI dá suporte a topologias de rede complexas com a rede CNI do Azure, como nós virtuais ou políticas de rede do Azure.

Esses recursos extras são:

  • Sub-rede por pool de nós
  • Alocação dinâmica de PI
  • Alocações de sub-rede de nó vs pod

Diferenças comportamentais entre Kubenet e Azure CNI

Além dos critérios de alto nível, há muitas diferenças comportamentais e discrepâncias no suporte a recursos:

Funcionalidade Kubenet Azure CNI Sobreposição do Azure CNI Azure CNI com Tecnologia Cilium
Implantar cluster em rede virtual nova ou existente Suportado - UDRs aplicados manualmente Suportado Suportado Suportado
Conectividade Pod-pod Suportado Suportado Suportado Suportado
Conectividade Pod-VM; VM na mesma rede virtual Funciona quando iniciado por pod Funciona nos dois sentidos Funciona quando iniciado por pod Funciona quando iniciado por pod
Conectividade Pod-VM; VM em rede virtual emparelhada Funciona quando iniciado por pod Funciona nos dois sentidos Funciona quando iniciado por pod Funciona quando iniciado por pod
Acesso local usando VPN ou Rota Expressa Funciona quando iniciado por pod Funciona nos dois sentidos Funciona quando iniciado por pod Funciona quando iniciado por pod
Acesso a recursos protegidos por pontos de extremidade de serviço Suportado Suportado Suportado
Acesso a recursos expostos por pontos de extremidade privados Suportado Suportado
Expor serviços do Kubernetes usando um serviço de balanceador de carga, App Gateway ou controlador de entrada Suportado Suportado Suportado Mesmas limitações ao usar o modo de sobreposição
DNS padrão do Azure e zonas privadas Suportado Suportado Suportado
Suporte para pools de nós do Windows Não suportado Suportado Suportado Disponível apenas para Linux
Nós virtuais Não suportado Suportado Não suportado
Vários clusters compartilhando uma sub-rede Não suportado Suportado Suportado
Políticas de rede suportadas Calico Políticas de rede do Calico e do Azure Calico, Azure Network Policies, Cilium Ciliuim