EKS 클러스터에는 포드 네트워킹이 없습니다.

EKS 클러스터에는 포드 네트워킹이 없습니다.

Terraform의 AWS EKS 모듈로 시작된 EKS 클러스터(1.24)가 있습니다. 시스템 생성 보안 그룹. 프라이빗 또는 퍼블릭 서브넷.

클러스터 인바운드: 클러스터 인바운드 보안 그룹 포트

노드 인바운드: 노드 수준 수신 보안 그룹 포트

노드 아웃바운드: 노드 수준 송신 보안 그룹 포트

클러스터에는 노드 1개와 백플레인이 있습니다. 온라인 상태가 되면 노드가 연결되고 준비 상태가 됩니다. coredns는 클러스터 API에서 버전을 가져올 수 없기 때문에 매우 슬프지만.

온라인 상태가 되면 문제의 징후는 없지만 로컬 루프백을 통해 제어 플레인 API에 연결되지 않습니다. 그리고 인터넷에 연결되어 있지 않습니다.

./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'

NACL이 작동하는 다른 계정과 비교하여 확인해 보니 괜찮은 것 같습니다. VPC CNI를 사용하거나 사용하지 않고 시도해 보았습니다.

노드 수준에서 노드는 인터넷에 연결하고 이미지를 가져올 수 있습니다. 포드 수준에서 누락된 부분은 무엇이며, API에 연결할 수 없고 인터넷에 연결할 수 없는 이유는 무엇입니까?

답변1

사용자 정의 AMI 이미지를 생각해낸 사람은 sysctl net.ipv4.ip_forward모든 네트워크 트래픽을 차단하는 0으로 설정하기로 결정했습니다.

관련 정보