【问题标题】:GCP Routes with GKE (IP alias enabled)使用 GKE 的 GCP 路由(启用 IP 别名)
【发布时间】: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


【解决方案1】:

服务的集群 IP 不可路由,如 [1] 中所述

[1]https://cloud.google.com/kubernetes-engine/docs/how-to/alias-ips#restrictions

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-11
    • 2016-08-25
    • 2013-09-23
    • 1970-01-01
    • 1970-01-01
    • 2018-06-02
    相关资源
    最近更新 更多