我有一个使用 Terraform 的 AWS EKS 模块启动的 EKS 集群(1.24)。系统生成的安全组。私有或公共子网。
集群有 1 个节点和背板。它上线后,节点连接并处于就绪状态。不过 coredns 非常糟糕,因为它无法从 Cluster 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。
在节点级别,节点可以连接到互联网并提取图像。我在 pod 级别缺少什么,为什么它无法连接到 API,为什么它无法连接到互联网?
答案1
有人提出我们的自定义 AMI 映像,决定将其设置
sysctl net.ipv4.ip_forward
为 0,从而阻止所有网络流量