Tengo un clúster EKS (1.24) lanzado con el módulo AWS EKS de Terraform. Grupos de seguridad generados por el sistema. Subredes privadas o públicas.
El clúster tiene 1 nodo y el backplane. Cuando se conecta, el nodo se conecta y está listo. Aunque coredns está muy triste porque no puede recuperar la versión de la API del clúster.
Cuando se conecta, no hay señales de problema, pero no se conecta a la API del plano de control a través del bucle local. Y no tiene conexión 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'
Revisé la NACL con otra cuenta donde funciona y me parece bien. Lo probé con y sin VPC CNI.
A nivel de nodo, el nodo puede conectarse a Internet y extraer imágenes. ¿Qué me falta a nivel de pod? ¿Por qué no puede conectarse a la API y por qué no puede conectarse a Internet?
Respuesta1
Alguien a quien se le ocurrieron nuestras imágenes AMI personalizadas decidió establecerlas
sysctl net.ipv4.ip_forward
en 0, lo que bloqueó todo el tráfico de la red.