我认为通过设计,应该通过公开的服务访问pod。但是,我发现在GKE和EKS上,我可以从Kubernetes集群外部的实例ping主机地址。

>> kubectl get pods -o wide
NAME                     READY   STATUS    RESTARTS   AGE     IP              NODE                                               NOMINATED NODE   READINESS GATES
dnsutils                 1/1     Running   4          4h5m    10.80.12.19     ip-10-80-26-113.ap-northeast-2.compute.internal    <none>           <none>
network-test             1/1     Running   0          4h11m   10.80.11.192    ip-10-80-26-113.ap-northeast-2.compute.internal    <none>           <none>
ntest-6877545bdb-7h498   1/1     Running   0          8h      10.80.29.36     ip-10-80-60-104.ap-northeast-2.compute.internal    <none>           <none>
ntest2-854bd7cb6-tnbgt   1/1     Running   0          8h      10.80.116.168   ip-10-80-111-130.ap-northeast-2.compute.internal   <none>           <none>


以上是EKS的输出。我可以在同一个VPC /子网中ping 10.80.x.x(pod)IP地址。

当我在本地Kubernetes群集上尝试相同操作时,无法执行此操作。

应该这样做吗?如果是,如何在本地群集上进行设置?

最佳答案

使用的CNI插件可以做到这一点。 GKE使用GKE原生CNI,而EKS使用EKS CNI

从EKS文档



在prem群集中,您将无法使用这些CNI。

关于kubernetes - 如何从网络访问GKE/EKS Pod的IP地址?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60682127/

10-11 06:28