2016-03-18 1 views
2

AWSの設定では、すべての着信キーを受け入れる指定のsalt masterと、サブネット/指定されたIPアドレスに基づくプロビジョニングがあります。マスターサーバーにログインせずに、接続時に私のミニオンをすぐにプロビジョニングするにはどうしたらよいですか?接続時にsalt minionをプロビジョニングする方法

+0

なぜ賛成投票ですか?これは具体的で賢明な質問ではありませんか? –

答えて

5

これを行う方法はreactorシステムです。正確にそれを行う方法は、あなたが「接続する」ことによって何を意味するかによって異なります。あなたは手先が、それが接続するたびにhighstateしたい場合は、イベントタグに反応します:

salt/minion/*/start 

あなたがhighstateを実行したい場合はのみ手先は、(ときに初めて接続したときにそのキーが受け入れられた場合)、自動承認をオフにして、

salt/auth 

タグに反応する必要があります。 (この場合、キーを受け入れて、ミニオンが実際に接続するのを待ってから、ハイステートを実行する必要があります)。それはより複雑なので、最初のものを示します。後者の場合には外挿することができます。

まずあなたがタグに反応して、塩・マスターを伝える必要があります:

# File: /etc/salt/master.d/reactor.conf 
reactor: 
    - 'salt/minion/*/start': 
    - /srv/reactor/highstate.sls 

そしてあなたはhighstate.slsファイルが必要です。私はこれを取得し、これを実装した後

# File: /srv/reactor/highstate.sls 
minion_highstate: 
    local.state.highstate: 
    - tgt: {{ data['id'] }} 

を私のミニオンのログに(ちょっとしたことで)ログ:

2016-03-18 23:07:06,009 [salt.cli.daemons ][INFO ][21627] Setting up the Salt Minion "jhazentest05.example.net" 
2016-03-18 23:07:06,219 [salt.cli.daemons ][INFO ][21627] The salt minion is starting up 
2016-03-18 23:07:06,707 [salt.minion  ][INFO ][21627] Minion is ready to receive requests! 
2016-03-18 23:07:06,708 [salt.minion  ][INFO ][21627] User root Executing command state.highstate with jid 20160318230706334642 
2016-03-18 23:07:09,699 [salt.minion  ][INFO ][21700] Returning information for job: 20160318230706334642 
+0

ありがとうございました!これは非常に役に立ちます! –

3

ジョンヘイゼンのアプローチは間違いなく動作します。あなたが有効にすることができ、やや単純なオプションもあります:startup_states

あなたは手先の設定でこのセットを持っている場合は、highstateは手先が起動するたびに実行取得します:

startup_states: highstate

https://docs.saltstack.com/en/latest/ref/states/startup.html

+0

ミニオン設定を状態から管理できるかどうか知っていますか? OPが望んでいるものを実装するためのもう1つの有用な方法は、そこに 'startup_states:highstate 'を設定するミニオン設定を変更する状態を持つことです。 – thiagowfx

+0

はい、状態からミニオン設定を管理できます。 salt-minionデーモンを再起動して、変更が有効になるようにしてください。 –

関連する問題