【问题标题】:GKE cross cluster pod-to-pod communicationGKE 跨集群 pod 到 pod 通信
【发布时间】:2020-05-25 10:15:24
【问题描述】:

简化项目图:

我的目标是允许从 eu-cluster-b pod micro-service-pod-a 发送和接收 http 调用到 eu-cluster-a pod micro-service-pod-b。 我阅读了有关 VPC 连接(子网)的信息,但我不确定在这种情况下该怎么做,我不想搞砸整个网络。

【问题讨论】:

  • 您能告诉我集群位于哪些区域/地区吗?集群是否在同一个 VPC 上?

标签: kubernetes network-programming google-kubernetes-engine kubernetes-pod


【解决方案1】:

您可以将 istio 用于多云爆发 (https://codelabs.developers.google.com/codelabs/istio-multi-burst/#0)

另外,如果他们在同一个项目上,你需要确保他们有不同的 IP 范围,并且一个子网的范围是 routable 到另一个子网,然后使用类似 https://github.com/kubernetes-sigs/external-dns

这将允许您启动内部负载均衡器,它将创建type: Load Balancer 的服务,但不是您可能熟悉的面向公众的服务,而是一个内部的(受后端服务类型配额限制),我'以 mongodb 服务为例,应该是这个样子。

kind: Service
metadata:
  name: "mongodb"
  annotations:
    cloud.google.com/load-balancer-type: "Internal"
    external-dns.alpha.kubernetes.io/hostname: "db.mongodb.myinternaldns.test"
    external-dns.alpha.kubernetes.io/ttl: "10"
  labels:
    app: mongodb
spec:
  ports:
    - name: tcp-mongodb
      port: 27017
      protocol: TCP
      targetPort: 27017
  clusterIP: None
  selector:
    app: mongodb


在注释中,您指定您希望此服务拥有的 DNS 地址是什么,这是可以从两个集群访问的 dns 地址,它将在 Cloud-DNS 上创建一个 A 和 TXT 记录,其 IP 为内部负载均衡器,如果您确保您有正确的路由设置,流量将在集群之间流动。希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-26
    • 2020-04-20
    • 2021-12-30
    • 2019-09-25
    • 1970-01-01
    • 2020-06-16
    • 2020-01-16
    • 1970-01-01
    相关资源
    最近更新 更多