Dataplane V2


Esta página disponibiliza uma visão geral das funções do Dataplane V2 e como ele funciona.

Introdução

O Dataplane V2 é um plano de dados para clusters do GKE e do Anthos otimizado para a rede do Kubernetes. O Dataplane V2 oferece:

  • uma experiência de usuário consistente para redes no GKE e em todos os ambientes de cluster do Anthos. Consulte Disponibilidade do Dataplane V2 para informações sobre os ambientes compatíveis com o Dataplane V2;
  • visibilidade em tempo real da atividade da rede;
  • arquitetura mais simples que facilita o gerenciamento e a solução de problemas de clusters.

O Dataplane V2 é baseado nos nós do eBPF (em inglês) e do Linux para processar pacotes de rede de maneira flexível e eficiente no kernel usando metadados específicos do Kubernetes.

Vantagens do Dataplane V2

Segurança

A política de rede (em inglês) do Kubernetes está sempre ativada em clusters com o Dataplane V2. Não é preciso instalar e gerenciar complementos de software de terceiros, como o Calico, para aplicar a política de rede.

Escalonabilidade

O Dataplane V2 é implementado sem o kube-proxy (em inglês) e não depende do iptables do roteamento de serviços. Isso remove um grande gargalo para escalonar serviços do Kubernetes em clusters muito grandes.

Operações

Quando você cria um cluster com o Dataplane V2, a geração de registros de política de rede é integrada. Configure a CRD da geração de registros no cluster para ver quando as conexões são permitidas e negadas pelos pods.

Consistência

O Dataplane V2 está disponível e fornece os mesmos recursos no GKE e em outros ambientes de clusters do Anthos. Consulte a Disponibilidade do Dataplane V2 para mais detalhes.

Como o Dataplane V2 funciona

O Dataplane V2 é implementado com eBPF (filtro de pacote Berkeley estendido). À medida que os pacotes chegam a um nó do GKE, os programas eBPF instalados no kernel decidem como rotear e processar os pacotes. Ao contrário do processamento de pacotes com iptables, os programas eBPF podem usar metadados específicos do Kubernetes no pacote. Isso permite que o Dataplane V2 processe de maneira eficiente os pacotes de rede no kernel e informe as ações anotadas de volta ao espaço do usuário para geração de registros. O diagrama a seguir mostra o caminho de um pacote ao longo de um nó usando o Dataplane V2:

Um pacote que chega em um nó é processado no kernel do eBPF. Os programas eBPF realizam aplicação de políticas, resolução de serviços e rastreamento de conexão. Esta atividade é informada ao espaço do usuário para geração de registros. O payload do pacote é entregue a um pod.

O controlador do Dataplane V2 no nó é chamado de anetd. anetd é implantado como um DaemonSet para cada nó no cluster e é responsável por interpretar os objetos do Kubernetes e programar as topologias de rede desejadas no eBPF. O anetd substitui o roteamento de serviços e a aplicação da política de rede que seriam realizados pelo kube-proxy e pelo Calico, respectivamente, no namespace do sistema kube.

Especificações técnicas

O Dataplane V2 aceita clusters com as seguintes especificações:

Especificação GKE clusters do Anthos no VMware Anthos em bare metal
Número de nós por cluster 500* 500 500
Número de pods por cluster 50.000 15.000 27.500
Número de serviços do LoadBalancer por cluster 750 500 1.000

O Dataplane V2 mantém um mapa de serviços para acompanhar quais serviços se referem a quais pods como back-ends. O número de back-ends de pods de cada serviço somado em todos os serviços precisa caber no mapa, que pode conter até 64.000 entradas. Se esse limite for excedido, talvez o cluster não funcione conforme o esperado.

* É possível solicitar um aumento de cota de até 1.000 nós por cluster com o Dataplane V2 no GKE. Envie um tíquete de suporte e forneça o nome do cluster.

O número de serviços do LoadBalancer compatíveis nos clusters do Anthos no VMware depende do modo do balanceador de carga usado. 500 serviços do LoadBalancer são compatíveis nos clusters do Anthos no VMware ao usar o modo de balanceamento de carga em pacote (Seesaw). 250 são compatíveis ao usar o modo de balanceamento de carga integrado com F5. Consulte Escalonabilidade para mais informações.

Limitações

As limitações a seguir se aplicam ao GKE, aos clusters do Anthos no VMware e a todos os outros ambientes:

  • O Dataplane V2 só pode ser ativado ao criar um novo cluster. Os clusters atuais não podem ser atualizados para usar o Dataplane V2.
  • Os nós do Windows não são compatíveis com o Dataplane V2.
  • Em clusters que usam o Dataplane V2 eDNSLocal NodeCache , os pods em execução na rede do host poderão ter tempos limite de DNS se dnsPolicy está definido como ClusterFirstWithHostNet.
  • Caso o cluster tenha serviços dos tipos LoadBalancer e externalTrafficPolicy: Cluster (padrão), eles poderão sofrer perda de pacotes quando os nós forem inicializados ou encerrados e tornarem-se não íntegros porque os balanceadores de carga configurados dessa forma sempre falham nas verificações de integridade. Nessa situação, o balanceador de carga distribui novas conexões entre todos os back-ends, independentemente da integridade.

    Se o nó estiver íntegro, ele redirecionará o tráfego para um pod do serviço. Se um nó estiver chegando ou em processo de encerramento, ele não poderá redirecionar o tráfego, e o pacote será descartado.

Aplicação da política de rede sem o Dataplane V2

Consulte Como usar a aplicação de política de rede para instruções sobre como ativar a aplicação de política de rede em clusters que não usam o Dataplane V2.

A seguir