【发布时间】:2020-10-26 08:21:51
【问题描述】:
我遇到过大多数主要秘密提供者的 Kubernetes 注入器/驱动程序/等等,但这些解决方案的共同主题是它们只能单向同步,即只能从保险库同步到集群。我也希望能够从我的 Kubernetes 集群更新机密。
这样做的推荐模式是什么? (除了编写与保险库通信的自定义服务的明显解决方案)
【问题讨论】:
标签: kubernetes azure-keyvault hashicorp-vault kubernetes-secrets
我遇到过大多数主要秘密提供者的 Kubernetes 注入器/驱动程序/等等,但这些解决方案的共同主题是它们只能单向同步,即只能从保险库同步到集群。我也希望能够从我的 Kubernetes 集群更新机密。
这样做的推荐模式是什么? (除了编写与保险库通信的自定义服务的明显解决方案)
【问题讨论】:
标签: kubernetes azure-keyvault hashicorp-vault kubernetes-secrets
我会说这是一种反模式,这意味着你不应该这样做。
如果您在 k8s 中从文件中创建您的秘密,那意味着您要么将其置于版本控制中,而这是您永远不应该做的事情。或者您没有在版本控制中使用它,也没有从文字中创建它,这很好,但是您既没有更改历史记录/日志,也没有关于您的秘密的真实文档。我想这可以解释为什么主要的秘密提供者不支持这一点。
您应该使用密钥保管库设置机密,并使用 Terraform 将其应用到您的集群。
Terraform 支持 azure key vault secret https://www.terraform.io/docs/providers/azurerm/r/key_vault_secret.html 和 Kubernetes secret https://www.terraform.io/docs/providers/kubernetes/r/secret.html
您可以简单地导入密钥库机密并在 k8s 机密中使用它。每次更新密钥保管库机密时,都会使用 Terraform 应用更改。
【讨论】: