当Hashicorp Vault中的机密更新时,如何重新启动Kubernetes pod?

当Hashicorp Vault中的机密更新时,如何重新启动Kubernetes pod?,kubernetes,hashicorp-vault,confd,Kubernetes,Hashicorp Vault,Confd,已成功使用Kubernetes实现Vault,并且在K8s中运行的应用程序正在从Hashicorp Vault获取环境变量。一切都很好!但是,如果我们想向前迈出一步,并希望在对Vault中的机密进行更改时重新启动pod,那么现在,我们必须手动重新启动pod,以便在对Vault机密进行更改时重置环境变量。如何做到这一点?听说过confd,但不确定如何实施 一些想法,取决于你想投入多少精力: 只要每隔一段时间重新启动吊舱。一个简单的方法是使用活性探针,比如。缺点是,如果没有额外的脚本,就无法将liv

已成功使用Kubernetes实现Vault,并且在K8s中运行的应用程序正在从Hashicorp Vault获取环境变量。一切都很好!但是,如果我们想向前迈出一步,并希望在对Vault中的机密进行更改时重新启动pod,那么现在,我们必须手动重新启动pod,以便在对Vault机密进行更改时重置环境变量。如何做到这一点?听说过confd,但不确定如何实施

一些想法,取决于你想投入多少精力:

  • 只要每隔一段时间重新启动吊舱。一个简单的方法是使用活性探针,比如。缺点是,如果没有额外的脚本,就无法将liveness探测器用作真正的运行状况检查

  • 创建一个用于轮询Vault的更改,并在检测到更改时指示Kubernetes重新启动pod。不确定Vault是否有可用于此目的的事件API

  • 如果秘密或令牌不可续借或租赁,保险库代理将每5分钟获取一次该秘密。这是不可配置的。不可更新的秘密包括(但不限于)KV版本2

    使用重新加载程序。我们发现它在我们的集群中非常有用。它进行滚动更新,因此您也可以在零停机的情况下更改配置。此外,如果您在configmap中出错,您可以轻松地执行回滚