我认为通过设计,应该通过公开的服务访问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/