2

Vagrant と Salt-Stack を使用して制御とプロビジョニングを処理する、比較的複雑なシステムを設計しようとしています。 基本的な考え方は、他のすべてのマシンが接続する Salt-Stack マスターを実行するマスターと呼ばれるマシンをプロビジョニングすることです。

これを行う以前の試みでは、ソルト マスターと dns サーバー パッケージをインストールするように指示されたソルト ミニオンを Vagrant にセットアップさせました。しかし、Vagrant の機能を使用してキーのトランスポートを簡素化したいと考えています。だから私がやりたいのは、Vagrantにソルトマスターとミニオンをインストールさせて、ミニオンがDNSサーバーをインストールできるようにし、Vagrantが私のキーを移動できるようにすることです。

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 構成に明らかなエラーはありますか? ヒントはありますか?

4

1 に答える 1

2

これは長い間答えられていないようです。したがって、個人的な最小限の Vagrant ソルト マスター ファイルをここに投稿します。この問題は、マスターのソルトミニオン構成へのエントリをセットアップするのを忘れたときに発生しましたmaster: localhost(デフォルトでは、ソルトと呼ばれるホストを探します)。

マスターのミニオンには独自のキーがあることに注意してください。

これはvagrant 1.7.2を実行しており、salt master 2015.5.0をインストールします

# Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :

# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

  config.vm.box = "chef/centos-7.0"

  # Deployment instance salt master
  config.vm.define :master do |master|
    master.vm.network :private_network, ip: "192.168.22.12"
    master.vm.hostname = 'master'

    master.vm.synced_folder "salt/roots/", "/srv/"

    master.vm.provision :salt do |config|
      config.install_master = true
      config.minion_config = "salt/minion"
      config.master_config = "salt/master"
      config.minion_key = "salt/keys/minion.pem"
      config.minion_pub = "salt/keys/minion.pub"
      config.master_key = "salt/keys/master.pem"
      config.master_pub = "salt/keys/master.pub"
      config.seed_master =
        {
          master: "salt/keys/minion.pub"
        }
      config.run_highstate = true
    end
  end

end

マスターの構成ファイル:

# salt/master
# empty, use only defaults

マスター上のミニオンの構成ファイル:

# salt/minion
master: localhost
于 2015-06-07T12:43:49.827 に答える