-1

我的应用程序需要任意数量的 pod 才能将它们的服务公开到 Internet。我不确定允许从外部服务器(我们称其为客户端)发现这些 pod 的最佳方法是什么。

该工作流由一个外部服务器(客户端)组成,该服务器请求创建一个“车间”部署,并提供一个车间 ID。然后 Kubernetes 创建部署,并在其旁边创建一个 Pod,客户端将使用该 API 在 Pod 上的容器中运行。

客户端应该能够看到所有 Workshop pod 实例,并且必须能够识别哪个 Pod 属于哪个 Workshop。

我已经简化了实际的 kubernetes 基础设施。它使用 CRD 和操作符来设置更复杂的基础设施,但只有 pod 的 API 及其可发现性应该是客户端关心的。解决这个问题的最佳方法是什么?

4

1 回答 1

1

如果 API 是 HTTP,我们可能使用入口?您刚刚使用 nodePort 公开了入口控制器(如 traefik),它负责代理到所需的特定于客户端的 API 服务。如果它们不是 HTTP,您可以使用例如 nginx 设置这种反向代理。想法是相同的 - 所有客户端的单一 API 端点,并通过子域或路径处理代理。

关于发现 - 为什么不向客户端提供命名空间的 kubeconfig?

于 2020-02-29T22:17:08.523 回答