Kubernetes-发现并访问另一个群集服务,如自托管 我想要什么 群居 ClusterB拥有服务B在命名空间中选择PodB:default 在GKE(谷歌Kubernetes引擎)

Kubernetes-发现并访问另一个群集服务,如自托管 我想要什么 群居 ClusterB拥有服务B在命名空间中选择PodB:default 在GKE(谷歌Kubernetes引擎),kubernetes,google-cloud-platform,microservices,load-balancing,google-kubernetes-engine,Kubernetes,Google Cloud Platform,Microservices,Load Balancing,Google Kubernetes Engine,ClusterA中的PodA可以访问clusterB中的服务B,如api.default.svc.cluster.clusterB 我尝试过的解决方案 GKE内部负载平衡器: 它起作用了。但是我需要为每个服务创建很多ILB 我不认为手动配置kube代理是一个好的选择,因为我使用的是可抢占的VM 库贝菲德: 我没有挖得太深。这就像操纵多个集群并公开它们一样。我所知道的是它内部传达的信息 梅什 没有看到跨群集配置 伊斯蒂奥 对我来说有点复杂。不确定它是否适合这种情况

ClusterA中的PodA可以访问clusterB中的服务B,如
api.default.svc.cluster.clusterB

我尝试过的解决方案
  • GKE内部负载平衡器:
    • 它起作用了。但是我需要为每个服务创建很多ILB
    • 我不认为手动配置kube代理是一个好的选择,因为我使用的是可抢占的VM
  • 库贝菲德:
    • 我没有挖得太深。这就像操纵多个集群并公开它们一样。我所知道的是它内部传达的信息
  • 梅什
    • 没有看到跨群集配置
  • 伊斯蒂奥
    • 对我来说有点复杂。不确定它是否适合这种情况


欢迎提出任何解决方案或想法!举个例子会更好。

我找到了三种解决方案。用于多集群kubernetes体系结构

  • 链接:
  • 领事:
  • Istio:
我选择了Linked。非常容易设置,延迟好,文档好

如果有人感兴趣,我还用中文写了一篇文章。

这两个kubernetes群集是否在同一网络/平面网络中,您想使用serviceB.default.svc.cluster.local访问它?我不确定您所尝试的是否容易实现。请告诉我您尝试使用2个集群的原因是什么?您是否考虑过使用带有附加节点池的单个集群?通过使用
节点选择器
,您只能在其上生成特定的工作负载。如果你有兴趣,这里有一个链接:@NadeemHussain目前在同一个GCP项目和同一个地区。但我还需要访问GCP之外的其他集群<代码>服务b.default.svc.cluster.local正常。使用群集名称后缀会更好。@DawidKruk跨区域。跨云平台。所以更多的节点池对我来说不起作用。如果我明白,您的最终目标是从一个集群访问另一个集群,并且这两个集群可以位于不同的网络上,那么,为什么不通过内部负载均衡器nginx入口公开这些svc呢,这样,您就不必创建多个负载平衡器,只需为每个svc创建ingress crd即可