Dataplane V2

O Dataplane V2 é um plano de dados para o GKE e clusters do GKE otimizado para a rede do Kubernetes. Esta página disponibiliza uma visão geral das funções do Dataplane V2 e como ele funciona.

Introdução

O Dataplane V2 oferece:

  • uma experiência de usuário consistente para redes no GKE e em todos os ambientes de cluster do GKE. 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.

Escalabilidade

O Dataplane V2 foi projetado para melhorar o roteamento em clusters grandes. Ele não usa kube-proxy ou iptables.

Operações

Quando você cria um cluster com o Dataplane V2, a geração de registros de política de rede é integrada. Para ver quando os objetos de pod permitem e negam conexões, configure o CRD de geração de registros no cluster.

Consistência

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

Como o Dataplane V2 funciona

À medida que os pacotes chegam a um nó, 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ó e é responsável por interpretar objetos do Kubernetes e programar topologias de rede no eBPF. O controlador anetd substitui o kube-proxy de roteamento de serviço e o roteamento que ele executaria no namespace kube-system.

O Dataplane V2 nos clusters do GKE é executado no modo de rede de sobreposição. Nesse modo, todos os nós de cluster formam uma malha de túneis usando o protocolo de encapsulamento Geneve. Todo o tráfego de rede entre contêineres é roteado por esses túneis. A principal vantagem desse modelo é que os nós do cluster não precisam estar cientes da configuração de rede subjacente do Azure.

A seguir