Kubernetes最佳实践-将任意数量的Pod暴露给互联网

时间:2020-02-28 08:30:14

标签: kubernetes kubernetes-pod kubernetes-service kubernetes-networkpolicy kubernetes-networking

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

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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