我有一個使用 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,這會阻止所有網路流量