0

我在Google Container Engine上使用Kubernetes,并能够使用公开的LoadBalancer端口建立服务。我可以“卷曲”暴露的IP /端口,并从以外的任何位置(例如,从我的桌面连接到互联网)获得成功的响应。Kubenetes服务LoadBalancer暴露的IP /端口无法从gcloud shell访问,但可从群集外部访问

我的问题是,当我从“curl”我的gcloud外壳的时,我得到一个超时。

以下是我的配置,可能有助于诊断问题。

$ kubectl get services 

NAME   CLUSTER-IP  EXTERNAL-IP  PORT(S)   AGE 
some-service 10.3.255.17 104.198.60.137 6884:32318/TCP 5h 

下面是我的“卷曲”的命令:

curl 104.198.60.137:6884/testing 

这里是我的防火墙规则:

NETWORK SRC_RANGES   RULES       SRC_TAGS TARGET_TAGS 
default-allow-icmp      default 0.0.0.0/0   icmp 
default-allow-internal     default 10.128.0.0/9  tcp:0-65535,udp:0-65535,icmp 
default-allow-rdp      default 0.0.0.0/0   tcp:3389 
default-allow-ssh      default 0.0.0.0/0   tcp:22 
gke-cluster-1-d18be73f-all    default 10.0.0.0/14  tcp,udp,icmp,esp,ah,sctp 
gke-cluster-1-d18be73f-ssh    default 35.188.121.142/32 tcp:22         gke-cluster-1-d18be73f-node 
gke-cluster-1-d18be73f-vms    default 10.128.0.0/9  tcp:1-65535,udp:1-65535,icmp    gke-cluster-1-d18be73f-node 
k8s-fw-a313ec7ec45fb11e794e942010a8001a default 0.0.0.0/0   tcp:6881         gke-cluster-1-d18be73f-node 
k8s-fw-a3305409545fb11e794e942010a8001a default 0.0.0.0/0   tcp:6882         gke-cluster-1-d18be73f-node 
k8s-fw-a342a4afb45fb11e794e942010a8001a default 0.0.0.0/0   tcp:6883         gke-cluster-1-d18be73f-node 
k8s-fw-a3547a17b45fb11e794e942010a8001a default 0.0.0.0/0   tcp:6884         gke-cluster-1-d18be73f-node 
k8s-fw-a36214ad945fb11e794e942010a8001a default 0.0.0.0/0   tcp:6885         gke-cluster-1-d18be73f-node 
k8s-fw-a3736208545fb11e794e942010a8001a default 0.0.0.0/0   tcp:6886         gke-cluster-1-d18be73f-node 
k8s-fw-l7--2b2b408525a44e47    default 130.211.0.0/22  tcp:31949,tcp:32190,tcp:31936   gke-cluster-1-1e73cc9b-node 
k8s-fw-l7--858a1dc8bb79c2ef    default 130.211.0.0/22  tcp:30169,tcp:30621      gke-cluster-1-5494a47a-node 
+0

你可以使用'-vv'标志增加'curl'命令的详细程度吗?这个'gcloud shell'位于哪里? –

回答

0

如果您是在集群内也许那就使用群集意义IP。你能检查它是否像那样工作?

+0

我试图测试服务LoadBalancer,看它是否工作,并有两个测试用例:(1)从外部连接到互联网的笔记本电脑(等),和,(2)从gcloud外壳。通常我首先从gcloud shell中测试一些东西,因为它立即可用并且容易实现。通常情况下,我希望服务的LoadBalance的任何“外部”连接都可以从两者中获得。但是,如果我使用ClusterIP,那么我将无法从外部访问该功能 –