Eu tenho um cluster EKS (1.24) lançado com o módulo AWS EKS do Terraform. Grupos de segurança gerados pelo sistema. Sub-redes privadas ou públicas.
O cluster possui 1 nó e o backplane. Ele fica on-line, o nó se conecta e fica em estado pronto. Embora o coredns seja mega triste porque não consegue buscar a versão da API do Cluster.
Quando fica on-line, não há sinal de problema, mas ele não se conecta à API do plano de controle por meio do loop back local. E não tem conectividade com a Internet.
./kubectl run -i --tty --rm debug --image=busybox -- sh
If you don't see a command prompt, try pressing enter.
/ # wget $KUBERNETES_PORT_443_TCP_ADDR:$KUBERNETES_PORT_443_TCP_PORT/version
Connecting to 172.20.0.1:443 (172.20.0.1:443)
wget: can't connect to remote host (172.20.0.1): Connection timed out
/ # nc gooogle.com
nc: bad address 'gooogle.com'
Verifiquei o NACL em outra conta onde está funcionando e parece bom para mim. Eu tentei com e sem o VPC CNI.
No nível do nó, o nó pode se conectar à Internet e extrair imagens. O que estou perdendo no nível do pod, por que ele não consegue se conectar à API e por que não consegue se conectar à Internet?
Responder1
Alguém que criou nossas imagens AMI personalizadas decidiu definir
sysctl net.ipv4.ip_forward
como 0, o que bloqueou todo o tráfego de rede