自动化 Salt-Minion 安装
Automating Salt-Minion Installation
我必须设置一个新的盐配置。
对于 minion 设置,我想设计一种方法。我想到了这个。
- 在
/etc/salt/roster
文件中输入新的 minion 以便我可以使用 salt-ssh
.
- 运行 用于在这个新的 minion 上安装 salt-minion 的 salt 公式。
- 在 minion 上使用
salt-call key.finger --local
生成 minion 指纹,然后 以某种方式(仍在计算)让它掌握并在某个文件中维护它,直到 minion 实际尝试连接.
- 当 minion 实际尝试连接到 master 时,master 使用存储的指纹确定 minion 身份,然后接受密钥。
完成后,salt state 可以将 minion 提升到所需状态。
与此相关的手工作业:
我将不得不手动输入,即。 minion-id
、IP
和 user
在 /etc/salt/roster
文件中,用于我想要的每个新随从。
除此之外我想不出任何缺点。
我的问题是:
- 这种方法可行吗?
- 是否存在安全隐患?
- 是否已经有更好的方法?
P.S。 Master 和 Minion 可能在也可能不在 public 网络上。
有 salt-cloud
可以配置新节点。其中包括将使用 SSH 进行配置的提供程序 saltify
。 See here for the online documentation. 它将一步完成以下所有操作:
- 为 minion 创建一组新的键
- 向master注册minion的key
- 使用 SSH 连接到 minion,bootstrap 使用 salt 和 minion 的密钥连接到 minion
如果您希望 minions 在连接后验证 master 的密钥,您可以向 minions 发布证书并使用该证书签署 master 的密钥 like described here。请仔细检查 saltify
是否已经支持此功能。
前段时间我准备了一个 salt-cloud
设置,它可以与 DigitalOcean 和 Vagrant on my Github account 一起使用。 Vagrant 配置使用 salt-cloud
和 saltify
。查看 Vagrant 命令包含的 cheatsheet.adoc
。
我必须设置一个新的盐配置。 对于 minion 设置,我想设计一种方法。我想到了这个。
- 在
/etc/salt/roster
文件中输入新的 minion 以便我可以使用salt-ssh
. - 运行 用于在这个新的 minion 上安装 salt-minion 的 salt 公式。
- 在 minion 上使用
salt-call key.finger --local
生成 minion 指纹,然后 以某种方式(仍在计算)让它掌握并在某个文件中维护它,直到 minion 实际尝试连接. - 当 minion 实际尝试连接到 master 时,master 使用存储的指纹确定 minion 身份,然后接受密钥。
完成后,salt state 可以将 minion 提升到所需状态。
与此相关的手工作业:
我将不得不手动输入,即。
minion-id
、IP
和user
在/etc/salt/roster
文件中,用于我想要的每个新随从。除此之外我想不出任何缺点。
我的问题是:
- 这种方法可行吗?
- 是否存在安全隐患?
- 是否已经有更好的方法?
P.S。 Master 和 Minion 可能在也可能不在 public 网络上。
有 salt-cloud
可以配置新节点。其中包括将使用 SSH 进行配置的提供程序 saltify
。 See here for the online documentation. 它将一步完成以下所有操作:
- 为 minion 创建一组新的键
- 向master注册minion的key
- 使用 SSH 连接到 minion,bootstrap 使用 salt 和 minion 的密钥连接到 minion
如果您希望 minions 在连接后验证 master 的密钥,您可以向 minions 发布证书并使用该证书签署 master 的密钥 like described here。请仔细检查 saltify
是否已经支持此功能。
前段时间我准备了一个 salt-cloud
设置,它可以与 DigitalOcean 和 Vagrant on my Github account 一起使用。 Vagrant 配置使用 salt-cloud
和 saltify
。查看 Vagrant 命令包含的 cheatsheet.adoc
。