使用 EKS 的 AWS VPC CNI 插件,我可以通过 vpn 直接通过其 vpc ip 地址访问 pod 吗?

使用 EKS 的 AWS VPC CNI 插件,我可以通过 vpn 直接通过其 vpc ip 地址访问 pod 吗?

我的一般问题在标题中。我觉得我误解了 Pod 连接到 VPC 的方式。我假设这会使 Pod 在 VPC 上可路由,但似乎并非如此。

流量是否仍需要流经 eks 节点?

这是我当前的 vpc 配置:

中心 VPC -- 对等 -- 生产 VPC

我的 vpn 服务器位于 Hub VPC 中,而 eks 在 Prod VPC 中运行。

我可以通过 vpn ssh 进入 EKS 节点,因此 vpc 之间和 vpn 上的路由正常。

我无法从 vpn 服务器 ping 通 pod。

我可以从 eks 节点 ping 该 pod。

我可以从 Prod VPC 中启动的新实例 ping 该 pod。

我已经通过控制台启用了 aws vpc-cni 插件。

我有启用外部 SNAT通过

kubectl set env daemonset -n kube-system aws-node AWS_VPC_K8S_CNI_EXTERNALSNAT=true

我没有重新启动任何节点,因为文档似乎确实需要这样做。

我实际上认为它默认使用 vpc-cni 插件。

我正在运行 k8s1.21和 vpc-cni1.9.3

答案1

这实际上完全符合我的预期,我可以通过 vpn 连接直接访问 pod。结果发现这是一条安全组规则阻止了对我试图用于连接 pod 的端口的访问。

相关内容