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

时间:2016-03-18 20:26:13

标签: salt-stack

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

2 个答案:

答案 0 :(得分:5)

执行此操作的方法是使用reactor系统。具体怎么做取决于你在“连接时”的意思。如果你想让一个minion在每次连接时都是highstate,那么你想对事件标签作出反应:

salt/minion/*/start

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

salt/auth

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

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

# 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'] }}

执行此操作后,我在我的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

答案 1 :(得分:3)

John Hazen的方法绝对有效。您还可以启用一个更简单的选项:startup_states

如果你在minion配置中设置了这个,那么每次minion启动时都会运行一个highstate:

startup_states: highstate

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