我怎样才能在连接上配置盐奴隶

Dr.*_*all 2 salt-stack

我有一个AWS设置,我有一个指定的盐主机,它接受所有传入的密钥和基于子网/指定IP地址的规定.如何在不登录主服务器的情况下立即配置连接器以进行连接?

Joh*_*zen 5

这样做的方法是使用反应器系统.具体怎么做取决于你在"连接时"的意思.如果你希望每次连接时minion都是highstate,那么你想对事件标记作出反应:

salt/minion/*/start
Run Code Online (Sandbox Code Playgroud)

如果你想只在第一次连接minion 时(当它的键被接受时)执行highstate ,那么你需要关闭自动接受,并对

salt/auth
Run Code Online (Sandbox Code Playgroud)

标签.(在这种情况下,你需要接受密钥,然后在等待minion实际连接之后执行highstate.)因为那更复杂,我会告诉你第一个.您应该能够推断后一种情况.

首先,您需要告诉salt-master对标记做出反应:

# File: /etc/salt/master.d/reactor.conf
reactor:
  - 'salt/minion/*/start':
    - /srv/reactor/highstate.sls
Run Code Online (Sandbox Code Playgroud)

然后你需要highstate.sls文件:

# File: /srv/reactor/highstate.sls
minion_highstate:
  local.state.highstate:
    - tgt: {{ data['id'] }}
Run Code Online (Sandbox Code Playgroud)

执行此操作后,我在我的minion日志中得到了这个(带有snippage):

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
Run Code Online (Sandbox Code Playgroud)