reactor學習

最近在學習saltstack的reactor模塊,由於在業務上沒有有關reactor的需求。這裏只是舉個例子,方便將來參考使用。


原理:reactor分爲兩部分:tag和sls。reactor去匹配這個tag(event的tag),匹配到則執行對應的sls文件。這個需要結合event。其實這個類似於zabbix的triggers。


在配置文件目錄創建master.d/reactor.conf

reactor:

  - 'salt/job/*/ret/*':

    - /srv/reactor/start.sls

重啓master


創建/srv/reactor/start.sls

{% if data['id'] == '192.168.110.133' %}

cmd_run:

  cmd.cmd.run:(這裏寫的是salt可執行模塊,modules裏的模塊)

    - tgt: '192.168.110.132'

    - arg:

      - /bin/touch /tmp/demo

{% endif %}


觸發事件:

salt '192.168.110.133' test.ping
沒意外的話,會在192.168.110.132上創建/tmp/demo文件


關於event的信息請參考event文章


參考:

http://docs.saltstack.com/en/latest/topics/reactor/

http://vbyron.com/blog/infrastructure-management-saltstack-part-3-reactor-events/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章