【发布时间】:2020-08-22 05:02:36
【问题描述】:
我有一组令牌,我需要将它们分发到 DaemonSet 中的每个 pod。令牌不能在运行时生成,而是提前生成的。
这种分布很容易用 StatefulSets 来完成——它可以用 volumeClaimTemplate 来完成,但我目前使用的机制是将所有令牌存储在一个秘密中,然后我从 pod 中获取后缀name 选择要读取的令牌。
但是 StatefulSet 会触发集群自动扩缩器。如果我使用反亲和确保每个节点只有一个pod,然后将副本数设置为集群中的最大节点数,会导致集群自动扩缩器扩展到最大节点数并停留在那里。
对于我正在尝试做的事情(每个节点一个 pod)来说,DaemonSet 是更好的模型,这就是为什么我按照我的方式来表达这个问题,但使用 StatefulSets 或其他任何东西的解决方案也可以接受。
【问题讨论】:
-
您是否考虑过一个
initContainer:,它可以执行您希望的任何计算并将令牌发送到它与主container:之间共享的emptyDir: {}卷? -
令牌是一个预共享密钥,不能通过计算创建。
标签: kubernetes