在Hashicorp Vault中更新机密后如何重启Kubernetes Pod?

时间:2019-08-29 16:03:18

标签: kubernetes hashicorp-vault confd

已成功使用Kubernetes实现了Vault,并且在K8中运行的应用程序正在从Hashicorp Vault中获取其环境变量。一切都很棒!但是,要向前迈进并想在Vault中的机密发生更改时重新启动Pod,从现在开始,每当我们对Vault机密进行更改时,我们都必须手动重新启动Pod以重置环境变量。如何做到这一点?听说过confd,但不确定如何实现!

3 个答案:

答案 0 :(得分:2)

使用重新加载器https://github.com/stakater/Reloader。我们发现它在集群中非常有用。它进行滚动更新,因此您也可以在零停机时间内更改配置。另外,如果您在configmap中出错,则可以轻松进行回滚。

答案 1 :(得分:1)

几个想法,取决于您要付出多少努力:

  1. 只需如此频繁地重新启动Pod。一种可行的方法是使用活动探针,例如this answer。缺点是如果没有其他脚本,您将无法使用活动度探针作为真实的健康检查。

  2. 创建一个operator来轮询Vault以查找更改,并指示Kubernetes在检测到更改时重新启动Pod。不知道Vault是否具有可用于该事件的事件API。

答案 2 :(得分:0)

https://www.vaultproject.io/docs/agent/template#renewals-and-updating-secrets

如果机密或令牌不可更新或租赁,则Vault Agent将每5分钟获取一次机密。这是不可配置的。不可更新的机密包括(但不限于)KV版本2。