【发布时间】:2019-02-12 10:40:44
【问题描述】:
我们有一个启用了 IP 别名的 GKE 集群,我希望能够访问 LoadBalancer 类型服务的 Cluster-IP,但我不能。超时。
这是场景:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)
istio-ingressgateway LoadBalancer 10.aa.bb.bb 35.aa.bb.cc 80:31380/TCP,443:31390/TCP,31400:31400/TCP,15011:31585/TCP,8060:31570/TCP,853:31552/TCP,15030:31762/TCP,15031:30685/TCP 52m
我有上面的服务,我想通过内部 IP 地址 (Cluster-IP) 访问,而不是外部的。我在我的项目中启用了 IP 别名,所以这看起来像 VPC。
既然 VPC 知道服务的 IP 地址,它应该能够将请求路由到集群吗?
我尝试不使用 IP 别名,并手动设置一条路由,将所有到 10.aa.bb.cc 的请求发送到 GKE 节点,然后从那里到达后端。这行得通,但并不整洁。
我不能做的一件事是将 LoadBalancer 类型的服务设置为内部,因为有很多端口,而且它是由 Istio 控制的,所以我什至不想碰它。
知道这是预期的行为还是有什么问题?
【问题讨论】:
-
您试图从哪里访问服务的内部 ip?在 gke 集群内形成?
-
没有。从集群将工作。从虚拟机,在项目中,在同一子网中。
-
你能把你正在使用的请求吗?
-
由于请求超时,它没有影响内部负载均衡器,因此请求并不重要。无论如何,这里是:
curl -kI --resolve istio.example.com:80:10.aa.bb.cc http://istio.example.com. -
istio.example.com 指向的 ip 是什么? :)
标签: google-cloud-platform google-kubernetes-engine