gpt4 book ai didi

kubernetes-helm - 在变化中配置 sops/helm-secrets

转载 作者:行者123 更新时间:2023-12-03 23:49:30 33 4
gpt4 key购买 nike

我目前通过 Helm chart 在我的集群中安装了 Flux 和 Helm 操作符。通量部署正在监控一个 git 存储库,其中我有一个 .flux.yaml,我通过通量部署 git-path 传递文件夹上下文旗帜。这用于运行 kustomize 以修补我想用于部署的值文件。其中一些环境具有通过 sops 加密的文件。

我已将 Flux 配置为启用了 sops。 sops/helm secrets 使用的是 aws kms key ,因此在本地,我承担了一个角色,我已授予该角色使用指定的 kms arn 进行加密/解密的权限。我遇到的问题是在 helm 部署之前解密这些 secret 。我目前在最终的 kubernetes 资源中得到了加密值。似乎找不到任何关于配置 aws 访问/ secret key 以供在通量方面的 sops 使用的附加文档,也找不到任何关于 helm 运算符(operator)的任何可能通过 helm secrets 执行此操作的文档。任何提示将非常感谢!

最佳答案

事实证明,解密 secret 没有问题。 Flux Pod 使用节点角色运行 sops(我已授予使用必要的 kms key 访问 decypt 的权限),并成功解密了 secret 。我通过执行到 pod 并尝试 sops -d 来测试这个在包含我的 secret 的文件上。

问题最终是我实际上并没有将解密的文件传递给我的 helmrelease。我最终通过使用以下 .flux.yaml 来完成此操作:

version: 1
patchUpdated:
generators:
- command: sops -d --output secrets.yaml secrets.enc.yaml && kustomize build .
- command: rm secrets.yaml
patchFile: ../base/flux-patch.yaml

我最初将我的 secret 文件格式化为 helm 值文件,但对其进行了更新,以便能够使用解密值修补基本 helmrelease 文件值部分。这导致 helmrelease 消耗了所有解密的值。第二个命令删除解密后的 secrets.yaml 文件,这样它就不会被提交回 repo。

请记住,这会导致集群中的 helmrelease 包含您的所有 secret ,因此您需要相应地管理对 helmrelease 对象的访问。

关于kubernetes-helm - 在变化中配置 sops/helm-secrets,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59889234/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com