salt分組推送

在salt,minion正常連接情況下

              在/srv/salt/下創建union.sls nginx.sls 和 bind.sls

                           union.sls如下:

                                      include:

- nginx

- bind

                           nginx.sls如下:

                               

{%- if ( grains['host'] == "hw_1" ) %}

nginx:

pkg:

- name: nginx

- installed

service:

- name: nginx

- running

- reload: True

- watch:

- file: /etc/nginx/nginx.conf

/etc/nginx/nginx.conf:

file.managed:

- source: salt://files/nginx/nginx.conf

- user: root

- mode: 644

- backup: minion

{%- endif %}

  bind.sls如下:

                                             

{%- if ( grains['host'] == "hw_2" ) %}

bind:

pkg:

- installed

named:

service:

- running

- reload: True

- enable: True

- watch:

- file: /etc/named.conf

- file: /var/named/1.1.1.in-addr.arpa

- file: /var/named/2.2.2.in-addr.arpa

- file: /var/named/optest1.com

- file: /var/named/optest2.com

/etc/named.conf:

file.managed:

- source: salt://files/named/named.conf

- user: named

- mode: 644

- backup: minion

/var/named/1.1.1.in-addr.arpa:

file.managed:

- source: salt://files/named/1.1.1.in-addr.arpa

- user: root

- mode: 644

- backup: minion

/var/named/2.2.2.in-addr.arpa:

file.managed:

- source: salt://files/named/2.2.2.in-addr.arpa

- user: root

- mode: 644

- backup: minion

/var/named/optest1.com:

file.managed:

- source: salt://files/named/optest1.com

- user: root

- mode: 644

- backup: minion

/var/named/optest2.com:

file.managed:

- source: salt://files/named/optest2.com

- user: root

- mode: 644

- backup: minion

{%- endif %}

測試命令:salt '*' state.sls union test=true

注重點:

1.- watch

-file: /var/named/optest2.com 指定的是minion的目錄

2./etc/named.conf:指定的是minion的目錄需要被替換的目錄而非master的目錄

3.source: salt://files/named/named.conf 是指master的/srv/salt/files/named/named.conf

4.使用grains['host'] 獲取minion主機名進行判斷,將minion主機名更名爲ID

第二種方法:

只創建一個文件夾union.sls

{%- if ( grains['host'] == "hw_1" ) %}

nginx:

pkg:               #定義使用(pkg state module)

- name: nginx    #安裝nginx(yum安裝)

- installed

named:

service:   #保持服務是啓動狀態

- name: nginx

- running

- reload: True

- watch:

- file: /etc/nginx/nginx.conf

/etc/nginx/nginx.conf:       #絕對路徑

file.managed:

- source: salt://files/nginx/nginx.conf  #nginx.conf配置文件在salt上面的位置

- user: root

- mode: 644

- backup: minion

{%- endif %}

{%- if ( grains['host'] == "hw_2" ) %}

bind:

pkg:

- installed

service:

- running

- reload: True

- watch:

- file: /etc/named.conf

- file: /var/named/1.1.1.in-addr.arpa

- file: /var/named/2.2.2.in-addr.arpa

- file: /var/named/optest1.com

- file: /var/named/optest2.com

/etc/named.conf:

file.managed:

- source: salt://files/named/named.conf

- user: named

- mode: 644

- backup: minion

/var/named/1.1.1.in-addr.arpa:

file.managed:

- source: salt://files/named/1.1.1.in-addr.arpa

- user: root

- mode: 644

- backup: minion

/var/named/2.2.2.in-addr.arpa:

file.managed:

- source: salt://files/named/2.2.2.in-addr.arpa

- user: root

- mode: 644

- backup: minion

/var/named/optest1.com:

file.managed:

- source: salt://files/named/optest1.com

- user: root

- mode: 644

- backup: minion

/var/named/optest2.com:

file.managed:

- source: salt://files/named/optest2.com

- user: root

- mode: 644

- backup: minion

{%- endif %}


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