Helm Secrets

概述 #

Helm Secrets 是 Helm 的一个插件,能够利用 Helm 模板化 Secrets 资源。它使用 SOPS(Mozilla 研发)来加密 Secret。SOPS 是一个加密文件的编辑器,采用的是非对称加密,支持 YAML、JSON、ENV、INI 和二进制格式,并支持 AWS KMS、GCP KMS、Azure Key Vault 和 PGP 进行加密。

Helm Secrets 还支持其他后端,例如:vals,它是一种用于管理来自各种来源的配置值和秘密的工具。目前已经支持:

下文以 PGP 方式为例,进行说明。

安装 #

gpg:

brew install gpg

sops:

brew install sops

helm-secrets:

helm plugin install https://github.com/jkroepke/helm-secrets --version v3.12.0

原理 #

加密 #

  1. 加密敏感信息文件 secret.yaml
  2. 调用 helm secrets enc命令
  3. 读取 gpg 公钥
  4. 加密结果覆盖源文件

解密 #

  1. 解密文件 secret.yaml
  2. 调用 helm secrets dec命令
  3. 读取 gpg 私钥
  4. 解密结果写入新文件 secret.yaml.dec

参考资料 #