自动化 Salt-Minion 安装

Automating Salt-Minion Installation

我必须设置一个新的盐配置。 对于 minion 设置,我想设计一种方法。我想到了这个。

  1. /etc/salt/roster 文件中输入新的 minion 以便我可以使用 salt-ssh.
  2. 运行 用于在这个新的 minion 上安装 salt-minion 的 salt 公式。
  3. 在 minion 上使用 salt-call key.finger --local 生成 minion 指纹,然后 以某种方式(仍在计算)让它掌握并在某个文件中维护它,直到 minion 实际尝试连接.
  4. 当 minion 实际尝试连接到 master 时,master 使用存储的指纹确定 minion 身份,然后接受密钥。

完成后,salt state 可以将 minion 提升到所需状态。

与此相关的手工作业:

  1. 我将不得不手动输入,即。 minion-idIPuser/etc/salt/roster 文件中,用于我想要的每个新随从。

    除此之外我想不出任何缺点。

我的问题是:

  1. 这种方法可行吗?
  2. 是否存在安全隐患?
  3. 是否已经有更好的方法?

P.S。 Master 和 Minion 可能在也可能不在 public 网络上。

salt-cloud 可以配置新节点。其中包括将使用 SSH 进行配置的提供程序 saltifySee 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-cloudsaltify。查看 Vagrant 命令包含的 cheatsheet.adoc