【发布时间】:2016-08-31 07:58:41
【问题描述】:
问题:如何提供从运行在 GCE 网络中的(非 K8s)服务到运行在 Kubernetes 中的其他服务的可靠访问?
背景:我们在 Google Cloud Platform 中运行托管 K8s 设置。大多数服务都是 12factor 应用程序,并且在 K8s 中运行只是正常。一些后备存储(数据库)在 K8s 之外运行。通过使用带有手动定义的端点到固定内部 IP 的无头服务来访问它们很容易。这些服务通常不需要与 K8s 中的服务“对话”。
但是一些服务在内部 GCE 网络中运行(但在 K8s 之外)需要访问在 K8s 内运行的服务。我们可以使用spec.type: NodePort 公开 K8s 服务,并与任何 K8s 节点 IP 上的此端口通信。但是我们如何才能自动找到正确的 NodePort 和有效的 Worker Node IP?或者也许有更好的方法来解决这个问题。
这种设置可能不是 K8s 部署的典型用例,但我们希望采用这种方式,直到 K8s 中的 PetSets 和 Persistent Storage 足够成熟。
当我们谈论内部服务时,我想避免在这种情况下使用外部负载均衡器。
【问题讨论】:
标签: google-compute-engine kubernetes google-kubernetes-engine