GKE跨集群Pod到Pod的通信

时间:2020-05-25 10:15:24

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

简化的项目图: Simplified project diagram:

我的目标是允许从eu-cluster-b pod micro-service-pod-b连接到发送并接收 http呼叫。 我读到有关VPC连接(子网)的信息,但是我不确定在这种情况下要做什么,并且我不想破坏整个网络。

1 个答案:

答案 0 :(得分:1)

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

如果它们在同一个项目中,则还需要确保它们具有不同的IP范围,并且一个子网的范围是routable到另一个子网,然后使用类似{{3} }

这将允许您启动内部负载均衡器,该负载均衡器将创建type: Load Balancer的服务,但不会向公众提供您可能熟悉的服务,而是内部的服务(取决于backend-services类型的配额),我将以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上创建IP地址为的A和TXT记录内部负载平衡器,如果您确保具有正确的路由设置,则流量将在群集之间流动。希望这会有所帮助!