Vagrant 中 salt-minion 的配置

Configuration for salt-minion in Vagrant

我在 Vagrant 中有一个包含四个虚拟机的环境。我正在使用 SaltStack 来自动安装和配置应用程序。一个 VM 是 salt-master,三个是 salt-minions。目前,当我从零开始安装其中一个 minions 时,我必须通过 SSH 连接到该 VM,安装 Salt 并为此 minion 设置 grains。我想在一个文件中指定这些配置,该文件将在初始化期间传递给 VM,这样我就不需要通过 SSH 连接到 minion VM。

所以这里是 Vagrantfile 中一个小兵的部分:

  config.vm.define "loadbalancer" do |loadbalancer|
    loadbalancer.vm.box = "ubuntu/trusty64"
    loadbalancer.vm.hostname = "loadbalancer"

    loadbalancer.vm.provision :salt do |salt|
      salt.minion_config = "salt/minion"
    end

  end

并且 salt/minion 文件如下所示:

master: 192.168.10.10
grains:
  roles:
    - load-balancing

是否使用了正确的方法来完成这项任务?当我使用此设置 运行 vagrant up 时,我得到此错误输出:

 *  INFO: Running install_ubuntu_check_services()
 *  INFO: Running install_ubuntu_restart_daemons()
salt-minion start/running, process 9632
 *  INFO: Running daemons_running()
 * ERROR: salt-minion was not found running
 * ERROR: Failed to run daemons_running()!!!
 * ERROR: salt-minion was not found running. Pass '-D' to bootstrap-salt.sh when bootstrapping for additional debugging information...

发现配置是正确的。我收到此错误的原因是 salt-master 有这个 minion 的旧密钥。当我删除一个 minion 的键并再次重新创建该 minion 时,我让它按预期工作。