使用Helm / Kubernetes设置独特用途的Pod

时间:2019-01-29 02:51:35

标签: kubernetes kubernetes-helm kubernetes-pod kubernetes-deployment

基于环境变量,我需要让n个容器做基本相同的事情,但要在不同的端点上运行。 例如,pod1将处理var1,pod2将处理var2等...

我可以在部署中具有唯一用途的Pod:向每个Pod传播唯一变量吗?还是我需要拥有n个看起来更重的状态集?

1 个答案:

答案 0 :(得分:2)

我认为单一部署是不可能的,因为这是无状态的,您需要维护状态。例如,如果pod1正在处理var1并且死亡,则应创建仅处理var1的新pod。因此,单部署是不可能的。

但是使用单个StatefulSet可以在应用程序本身中进行一些更改。您可以将这些env变量存储在某个地方(可能是数据库或卷),也可以将pod名称(在这种情况下是唯一的,因为它是StatefulSet)存储在每个var上。因此,而不是从env变量读取,而是根据Pod名称从存储中读取vars。

还可以使用labelSelector管理多个端点。