如何在helm values.yaml文件中隐藏密码

时间:2020-05-19 10:01:21

标签: kubernetes-helm

我们正在使用产品的头盔图表,我们需要找出如何在头盔图表中隐藏密码或机密。有人可以帮助我们吗?

2 个答案:

答案 0 :(得分:1)

即使您使用通用标签创建,Kubernetes机密也只是base64机密,它们显示为不透明,但对于生产而言,这仍然是一个责任。

您的kubernetes群集托管在哪里?是托管集群还是裸机集群?您是否要使用不可知的云解决方案,因为kubernetes是不可知的云。如果不是,则可以使用各种云供应商提供的密钥库。但是,如果再次丢失该密钥,您将冒着一切流程受阻的风险。

您可以做的是,因为您已经在使用头盔,所以可以为头盔安装helm-vault插件。您可以参考下面将要粘贴的描述性博客和自述文件。 https://github.com/da1l6/mpv用于更好地理解,而Blog用于实现。

但是,您将需要保管库群集作为先决条件。另外,如果您可以通过领事实例支持它,那将是非常不错的。但这将确保生产需求。

如果您只是尝试,在运行时创建一个秘密并加载到您的掌舵部署中需要花费几分钟。说到这,您还可以使用kubernetes cron作业来刷新您的秘密。

更新:由于您使用的是EKS,因此无需保管库/领事的更简单方法是通过AWS Key Vault Service,但它又有其优点/缺点。可以通过Zendesk开发的另一个头盔插件Github Project Readme来实现。

答案 1 :(得分:0)

我认为您需要做的是在Helm命令外部创建一个秘密,例如:

kubectl create secret generic my-secret --from-literal=password=Y4nys7f11

然后在values.yaml中使用此秘密名称并将其传递到templates/*中。我认为没有更好的整合Helm方式。

您可以看到示例here