安裝服務端和客戶端
? 服務端(marster)
? yum install salt-master -y
? 客戶端(slave)
? yum install salt-minion -y
marster
? 192.168.11.17
? /etc/init.d/salt-master start
? 配置文件:?
??? vi /etc/salt/master
??? cat master|egrep -v ';|#|^$'
??? auto_accept:True? #設置自動接受
? 日志: /var/log/salt/master
? debug模式查看: salt-master -l debug
? chkconfig?salt-master?on
??? interface:?192.168.11.17?#服務端master的IP地址
??? publish_port:?4505?????? #監聽salt的消息發布系統端口
??? ret_port:?4506?????????? #salt客戶端與服務端通信的端口
?? 必須保證這2個端口可以正常通信,如果開啟iptables防火墻,需要添加以下2條規則:
?? -A?INPUT?-m?state?--state?new?-m?tcp?-p?tcp?--dport4505?-j?ACCEPT
?? -A?INPUT?-m?state?--state?new?-m?tcp?-p?tcp?--dport4506?-j?ACCEPT
?? salt-key?-AL
slave
? 192.168.11.10
? /etc/init.d/salt-minion start
? 配置文件: vi /etc/salt/minion ?
???? master:?192.168.11.17? ? #填寫master端的IP地址
???? id:?clientIp???????????? #minion客戶端主機名(唯一的標識字符)
???? master_port:?4506??????? #開啟salt客戶端與服務端通信的端口
? 日志: /var/log/salt/minion
? debug模式查看: salt-minion -l debug
? chkconfig?salt-minion?on
在服務端和客戶端分別改hosts
? 192.168.11.17 www.master.com
? 192.168.11.10 www.slave.com
常用命令
? 在服務端查看客戶端: salt-key list
? 查看slave連接情況:?
????????? salt-key -L?
????????? salt-key -L A
? 查看狀態:/etc/init.d/salt-master status
? 除配置文件都可以刪除掉,然后重啟服務,然后salt-key -A
? 查看需要同意的KEY: salt-key
? 執行同意操作-A 全部同意: salt-key -A
? 查看同意情況:
? tree /etc/salt/pki/master/?
? 測試存活: salt '*' test.ping
注意事項: 測試階段最好關閉防火墻和selinux
主機名要統一并且能ping通:
? cat /etc/hosts
??? 192.168.11.17?? node1.salt-master.com
??? 192.168.11.10?? node2.salt-slave.com
? cat /etc/sysconfig/network
??? NETWORKING=yes
??? HOSTNAME=node1.salt-master.com
案例:
? 1. 將服務端的test.php拷貝到客戶端的tmp下
???? salt-cp '*'? text.php? /tmp
? 2. 查看客戶端的磁盤和網絡信息
???? salt '192.168.11.10’ cmd.run 'df -h'
???? salt '*' cmd.run 'ifconfig eth0'
? 3. 查看客戶端存活
???? salt '*' test.ping
? 4. 給每個客戶端/server/script目錄下創建一個文件 test.txt
???? vi /srv/salt/test.sh
????? #!/bin/bash
????? >/server/script/test.txt
??? salt '*' cmd.script salt://test.sh
? 5. 追加hosts(注意最好先備份一份)
??? salt '*' cmd.run 'echo "8.8.8.8 www2.baidu.com" >> /etc/hosts'
? 6. 修改hosts文件
??? salt '*' cmd.run? 'sed -i 's/9.9.9.9/91.91.91.91/g' /etc/hosts'
? 服務端(marster)
? yum install salt-master -y
? 客戶端(slave)
? yum install salt-minion -y
marster
? 192.168.11.17
? /etc/init.d/salt-master start
? 配置文件:?
??? vi /etc/salt/master
??? cat master|egrep -v ';|#|^$'
??? auto_accept:True? #設置自動接受
? 日志: /var/log/salt/master
? debug模式查看: salt-master -l debug
? chkconfig?salt-master?on
??? interface:?192.168.11.17?#服務端master的IP地址
??? publish_port:?4505?????? #監聽salt的消息發布系統端口
??? ret_port:?4506?????????? #salt客戶端與服務端通信的端口
?? 必須保證這2個端口可以正常通信,如果開啟iptables防火墻,需要添加以下2條規則:
?? -A?INPUT?-m?state?--state?new?-m?tcp?-p?tcp?--dport4505?-j?ACCEPT
?? -A?INPUT?-m?state?--state?new?-m?tcp?-p?tcp?--dport4506?-j?ACCEPT
?? salt-key?-AL
slave
? 192.168.11.10
? /etc/init.d/salt-minion start
? 配置文件: vi /etc/salt/minion ?
???? master:?192.168.11.17? ? #填寫master端的IP地址
???? id:?clientIp???????????? #minion客戶端主機名(唯一的標識字符)
???? master_port:?4506??????? #開啟salt客戶端與服務端通信的端口
? 日志: /var/log/salt/minion
? debug模式查看: salt-minion -l debug
? chkconfig?salt-minion?on
在服務端和客戶端分別改hosts
? 192.168.11.17 www.master.com
? 192.168.11.10 www.slave.com
常用命令
? 在服務端查看客戶端: salt-key list
? 查看slave連接情況:?
????????? salt-key -L?
????????? salt-key -L A
? 查看狀態:/etc/init.d/salt-master status
? 除配置文件都可以刪除掉,然后重啟服務,然后salt-key -A
? 查看需要同意的KEY: salt-key
? 執行同意操作-A 全部同意: salt-key -A
? 查看同意情況:
? tree /etc/salt/pki/master/?
? 測試存活: salt '*' test.ping
注意事項: 測試階段最好關閉防火墻和selinux
主機名要統一并且能ping通:
? cat /etc/hosts
??? 192.168.11.17?? node1.salt-master.com
??? 192.168.11.10?? node2.salt-slave.com
? cat /etc/sysconfig/network
??? NETWORKING=yes
??? HOSTNAME=node1.salt-master.com
案例:
? 1. 將服務端的test.php拷貝到客戶端的tmp下
???? salt-cp '*'? text.php? /tmp
? 2. 查看客戶端的磁盤和網絡信息
???? salt '192.168.11.10’ cmd.run 'df -h'
???? salt '*' cmd.run 'ifconfig eth0'
? 3. 查看客戶端存活
???? salt '*' test.ping
? 4. 給每個客戶端/server/script目錄下創建一個文件 test.txt
???? vi /srv/salt/test.sh
????? #!/bin/bash
????? >/server/script/test.txt
??? salt '*' cmd.script salt://test.sh
? 5. 追加hosts(注意最好先備份一份)
??? salt '*' cmd.run 'echo "8.8.8.8 www2.baidu.com" >> /etc/hosts'
? 6. 修改hosts文件
??? salt '*' cmd.run? 'sed -i 's/9.9.9.9/91.91.91.91/g' /etc/hosts'
??? 或者 salt 'node2.salt-slave.com' cmd.run? 'sed -i 's/91.91.91.91/8.8.8.8/g' /etc/hosts'?????
本文轉自cloves 51CTO博客,原文鏈接:http://blog.51cto.com/yeqing/1943033