【问题标题】:Call internal service between many cluster in Google Kubernetes Engine在 Google Kubernetes Engine 中的多个集群之间调用内部服务
【发布时间】:2018-01-17 10:31:28
【问题描述】:

我在 Google Kubernetes Engine 中有三个集群。 (我叫集群 A,B C)。 在三个集群中,我部署了一些服务。

我正在尝试使用 flow 调用示例 api: Api调用集群A(Gke-A)中的服务A1,服务A1调用Gke-B中的服务B1,然后服务B1调用Gke C中的服务C1。 我正在使用 nginx 入口,此流程适用于公共流量。

现在我想通过网络内部服务 A1 调用服务 b1,服务 B1 调用服务 c1。 我在集群 B 和集群 C 中使用 VPC 对等互连。 在集群 B 的一个节点中,我尝试调用服务 C1,我工作了。 但是当我在 ccluster Gke-A 中调用服务 A1 时,它不起作用。

我检查了日志,发现 B1 的服务 C1 的请求不起作用。

会发生什么?谢谢!

【问题讨论】:

  • 我不认为内部调用可以在两个集群中的服务之间完成,因为谷歌云在内部构建集群的方式。如果我是对的,它是通过实例组完成的,其中实例通过负载均衡器相互通信。如果您想要确保到达某个服务的所有请求仅来自一个或一组授权服务,那么我建议您查看服务到服务身份验证

标签: kubernetes google-cloud-platform gcp


【解决方案1】:

这个问题虽然有点模糊,但总的来说,目前还没有适当的支持来访问在 GCE 内的另一个 Kubernetes 集群中运行的服务。

一种可行的方法是使用内部 GCE 负载平衡器和指向此 LB IP 的无头服务。但我不确定它是否/如何与 nginx Ingress 一起使用。

【讨论】:

    猜你喜欢
    • 2016-05-28
    • 1970-01-01
    • 2015-02-02
    • 2020-09-22
    • 1970-01-01
    • 1970-01-01
    • 2018-09-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多