【发布时间】:2020-02-05 16:37:47
【问题描述】:
我们的系统有 2 个基于地理位置的端点。例如(east_url,west_url)。 我们的一个应用程序需要在这两个 url 之间进行负载平衡。在消费者应用程序中,创建了 2 个具有相同图像但环境变量不同的部署,例如“url=east_url”、“url=west_url”。
部署后,我有以下正在运行的 pod,它们每个都有标签:“app=consumer-app”和“region=east”或“region=west”
- consumer-east-pod-1
- consumer-east-pod-2
- consumer-west-pod-1
- consumer-west-pod-2
当我使用选择器创建 clusterIP 服务时:app=consumer-app,不知何故它只选择了一个副本集。我只是好奇这是否真的可以在 kubernates 中允许服务由不同的部署备份?
我能想到的另一种方法是创建 2 个服务,并让入口控制器对其进行负载平衡,这可能吗?我们使用 Kong 作为入口控制器。我正在寻找类似 openshift 的东西,它可以有“alternativeBackends”来服务于路线。 https://docs.openshift.com/container-platform/4.1/applications/deployments/route-based-deployment-strategies.html
【问题讨论】:
-
您还可以使用 2 个独立的服务,它们都支持同一个入口。这样,东方的交通流向东方的豆荚,而西方的交通流向西方的豆荚。如果他们都使用相同的服务,他们都会收到混合在一起的流量,所以没有地理位置
-
@PatrickW 是否可以创建一个指向 2 个 url 或 ip 的 k8s 服务,并且还能够在端点上定义活动检查?
-
每个入口可以有多个 URL
标签: docker kubernetes google-kubernetes-engine kubernetes-ingress