如何将部署或状态集的规模暴露给其中的Pod?

时间:2019-01-13 23:47:12

标签: kubernetes kubernetes-statefulset kubernetes-deployment

我的第一个想法是使用downward API,但这似乎并未暴露出部署/状态集的规模。我希望能够避免手动将其作为单独的环境变量添加,或者尽可能地依靠Pod相互发现来确定比例。

用例:为连接到外部服务的应用程序部署许多Pod。所述服务会执行某种形式的一致性哈希(我相信这是对吗?),以便将数据发送给客户端,因此连接的客户端会发送一个ID编号(从0-N-1)和一个客户端总数N。在这种情况下,部署/状态集规模为N。

1 个答案:

答案 0 :(得分:2)

您绝对必须为此使用StatefulSet,但我认为您不能从DownwardAPI中提取它,因为副本数不是pod规范的一部分(它是statefulset规范的一部分)。您可以获取父对象的名称,然后设置一个服务帐户以查询API来获取副本计数,但这似乎比将值放入标签或env var还要多。