View a markdown version of this page

Configuração da CNI para o gateway do Hybrid Nodes - Amazon EKS

Ajudar a melhorar esta página

Para contribuir com este guia de usuário, escolha o link Editar esta página no GitHub, disponível no painel direito de cada página.

Configuração da CNI para o gateway do Hybrid Nodes

O gateway do Amazon EKS Hybrid Nodes requer configurações específicas do Cilium para viabilizar a conectividade baseada no protocolo VXLAN entre a VPC e os nós híbridos. Você deve habilitar o suporte ao Cilium VTEP (VXLAN Tunnel Endpoint) e desabilitar o proxy de Camada 7.

Pré-requisitos

nota

O Cilium VTEP é compatível apenas com as seguintes versões mínimas do Cilium para EKS:

  • Cilium 1.17.13-1 ou versões posteriores

  • Cilium 1.18.8-1 ou versões posteriores

  • Cilium 1.19.2-1 ou versões posteriores

Se você estiver executando uma versão anterior, atualize o Cilium antes de habilitar o componente VTEP. Para obter instruções de atualização, consulte Configurar a CNI para nós híbridos.

Habilitação do componente VTEP e desabilitação do proxy de Camada 7

Defina a versão do Cilium e execute o comando helm upgrade para habilitar o componente VTEP e desabilitar o proxy de Camada 7 na instalação existente do Cilium. A versão de patch mais recente disponível pode ser encontrada na Galeria Pública do Amazon ECR: eks/cilium/cilium.

helm upgrade cilium oci://public.ecr.aws/eks/cilium/cilium \ --version CILIUM_VERSION \ --namespace kube-system \ --reuse-values \ --set vtep.enabled=true \ --set l7Proxy=false

Após a conclusão do upgrade, reinicie o DaemonSet do Cilium para aplicar a nova configuração:

kubectl rollout restart daemonset/cilium -n kube-system kubectl rollout status daemonset/cilium -n kube-system

Configurações necessárias

Configuração Valor Descrição

vtep.enabled

true

Habilita o suporte ao componente VXLAN Tunnel Endpoint do Cilium. Com isso, os agentes do Cilium nos nós híbridos podem encapsular o tráfego com destino à VPC e encaminhá-lo ao gateway.

l7Proxy

false

Desabilita o proxy de Camada 7 do Cilium. Essa ação é obrigatória para o funcionamento correto do VTEP. Se o proxy de Camada 7 estiver habilitado, o tráfego do VTEP pode ser interceptado e descartado.

Verificação da configuração

Após o upgrade do Cilium, verifique se o VTEP está habilitado e se o proxy de Camada 7 está desabilitado:

kubectl get configmap cilium-config -n kube-system -o yaml | grep -E "enable-vtep|enable-l7-proxy"

O resultado exibido deve ser semelhante a:

enable-l7-proxy: "false" enable-vtep: "true"

Configuração da CNI da VPC para o tráfego de pods híbridos

Por padrão, a CNI da AWS VPC aplica NAT de origem (SNAT, na sigla em inglês) a todo o tráfego de pods que egressa do nó. Para garantir que os serviços ClusterIP do Kubernetes com endpoints de pods híbridos funcionem corretamente dos nós da nuvem, exclua os CIDRs de pods híbridos da SNAT. Dessa forma, o tráfego submetido a DNAT pelo kube-proxy consegue utilizar corretamente o roteamento da VPC.

Defina a variável de ambiente AWS_VPC_K8S_CNI_EXCLUDE_SNAT_CIDRS no DaemonSet aws-node para os CIDRs de pods híbridos:

kubectl set env daemonset aws-node -n kube-system \ AWS_VPC_K8S_CNI_EXCLUDE_SNAT_CIDRS=POD_CIDRS

Substitua o valor pelos CIDRs de pods híbridos reais (separados por vírgula, se forem múltiplos).

Essa configuração adiciona os CIDRs dos pods híbridos às regras de IP da CNI da VPC, de forma que o tráfego destinado aos pods híbridos seja roteado pela tabela de roteamento principal, que contém a rota da VPC para a ENI do gateway.

nota

Essa etapa é necessária para o tráfego do serviço ClusterIP entre pods na nuvem e endpoints de pods híbridos. A conectividade direta de pod para pod por endereço IP funciona sem essa configuração.

Próximas etapas

Após configurar o Cilium e a CNI da VPC, prossiga para a instalação do gateway do Hybrid Nodes. Consulte Comece a usar o gateway do EKS Hybrid Nodes.