将盐状态备份到 git repo 是有意义的,因为其中不应该有任何敏感数据。
但是支柱数据怎么办?我是否应该为此创建一个单独的 git repo,或者将其放在 S3 存储桶中,或者以某种方式加密数据?
答案1
您可以使用 GPG 加密您的 pillar 数据并在您的 salt-master 上保护密钥,这样您的 pillar 数据就不会在您的 git 存储库中显示私人信息。
Salt 可以使用 GPG 渲染器渲染状态文件。
您可以在主配置中设置如下内容来启用渲染器:
renderer: jinja | yaml | gpg
示例格式如下:
secret-data: |
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1
hQEMAweRHKaPCfNeAQf9GLTN16hCfXAbPwU6BbBK0unOc7i9/etGuVc5CyU9Q6um
QuetdvQVLFO/HkrC4lgeNQdM6D9E8PKonMlgJPyUvC8ggxhj0/IPFEKmrsnv2k6+
cnEfmVexS7o/U1VOVjoyUeliMCJlAz/30RXaME49Cpi6No2+vKD8a4q4nZN1UZcG
RhkhC0S22zNxOXQ38TBkmtJcqxnqT6YWKTUsjVubW3bVC+u2HGqJHu79wmwuN8tz
m4wBkfCAd8Eyo2jEnWQcM4TcXiF01XPL4z4g1/9AAxh+Q4d8RIRP4fbw7ct4nCJv
Gr9v2DTF7HNigIMl4ivMIn9fp+EZurJNiQskLgNbktJGAeEKYkqX5iCuB1b693hJ
FKlwHiJt5yA8X2dDtfk8/Ph1Jx2TwGS+lGjlZaNqp3R1xuAZzXzZMLyZDe5+i3RJ
skqmFTbOiA==
=Eqsm
-----END PGP MESSAGE-----
您还可以通过将以下行添加到包含 gpg 数据的任何支柱的顶部来逐个文件应用渲染器:
#!yaml|gpg
请参阅此处的文档:
http://docs.saltstack.com/en/latest/ref/renderers/all/salt.renderers.gpg.html