【发布时间】:2014-04-03 13:47:03
【问题描述】:
我正在尝试设计一个相对复杂的系统,使用 Vagrant 和 Salt-Stack 来处理控制和配置。 基本思想是配置一台机器,称为 master,它运行我所有其他机器都将连接到的 Salt-Stack master。
在之前的尝试中,我只是让 Vagrant 设置了一个 Salt minion,它被指示安装 salt master 和一个 dns 服务器包。但我想通过使用 Vagrant 的设施来简化关键传输。所以我想做的是让 Vagrant 安装一个 Salt Master 和一个 Minion,以便 Minion 可以安装 dns 服务器,这样 Vagrant 就可以为我移动我的密钥。
这是 master 的配置,在 Vagrantfile 中:
config.vm.define :master do |master|
master.vm.provider "virtualbox" do |vbox|
vbox.cpus = 1
vbox.memory = 384
end
master.vm.network "private_network", ip: "10.47.94.2"
master.vm.network :forwarded_port, guest: 53, host: 53
master.vm.hostname = "master"
master.vm.provision :salt do |salt|
salt.verbose = true
salt.minion_config = "salt/master"
salt.run_highstate = true
salt.install_master = true
salt.master_config = "salt/master"
salt.master_key = "salt/keys/master.pem"
salt.master_pub = "salt/keys/master.pub"
salt.minion_key = "salt/keys/master.pem"
salt.minion_pub = "salt/keys/master.pub"
salt.seed_master = {master: "salt/keys/master.pub"}
salt.run_overstate = true
end
end
但我收到了消息:
Executing job with jid 20140403131604825601
-------------------------------------------
Execution is still running on master
Execution is still running on master
Execution is still running on master
Execution is still running on master
master:
Minion did not return
当我查看 master:/var/log/salt/minion 时,它是空的。
我的 Vagrantfile 配置是否有明显错误?有什么提示吗?
【问题讨论】:
-
salt.seed_master = {master: "salt/keys/master.pub"}...你的奴才 ID == master?
-
是的,通过设置 master.vm.hostname = "master"。我最终将盐供应步骤拆分为对 vm.master.provision 的两个调用。一个安装 salt minion 并运行 high_state,下一个安装 master 和 keys。
-
啊,没看到那行。那是唯一看到的东西……把它分开有用吗?
-
salt-minion 是否已安装并正在运行?如果
/var/log/salt/minion为空,则可能意味着安装了salt-minion 后尚未运行。 -
您确定不要
run_highstate=false?
标签: vagrant salt-stack