Kubernetes GKE/EKS吊舱如何';可以从网络访问的IP地址?

Kubernetes GKE/EKS吊舱如何';可以从网络访问的IP地址?,kubernetes,google-kubernetes-engine,amazon-eks,Kubernetes,Google Kubernetes Engine,Amazon Eks,我认为,按照设计,应该通过公开服务访问pod。然而,我发现在GKE和EKS上,我可以从Kubernetes集群之外的实例ping pod地址 >> kubectl get pods -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE

我认为,按照设计,应该通过公开服务访问pod。然而,我发现在GKE和EKS上,我可以从Kubernetes集群之外的实例ping pod地址

>> 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>

>kubectl将吊舱设置为-o宽
名称就绪状态重新启动老化IP节点指定节点就绪门
dnsutils 1/1运行4 4h5m 10.80.12.19 ip-10-80-26-113.ap-northeast-2.compute.internal
网络测试1/1运行0 4h11m 10.80.11.192 ip-10-80-26-113.ap-northeast-2.compute.internal
ntest-6877545bdb-7h498 1/1运行0 8小时10.80.29.36 ip-10-80-60-104.ap-northeast-2.compute.internal
ntest2-854bd7cb6-tnbgt 1/1运行0 8h 10.80.116.168 ip-10-80-111-130.ap-northeast-2.compute.internal
以上是EKS的输出。我可以在同一VPC/子网内ping 10.80.x.x(pod)IP地址

当我在我的on-prem-Kubernetes集群上尝试同样的方法时,我无法做到这一点

>> 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>


它应该这样做吗?如果是,我如何在我的on-prem集群上设置相同的功能?

这可以通过使用的CNI插件实现。GKE使用GKE本地CNI,EKS使用

来自EKS文件

Amazon EKS通过Amazon VPC CNI支持本机VPC网络 Kubernetes插件。使用这个CNI插件可以让Kubernetes吊舱 pod内的IP地址与VPC网络上的相同


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

当您说您可以ping pod时,您可以从kubernetes集群外部ping它吗?可以-我在同一VPC/子网上创建了一个EC2实例,并且可以从EC2 ping pod。