saltstack安裝配置web
操做系統版本shell |
主機名apache |
IP地址ide |
角色測試 |
CentOS 6.6spa |
salt-master操作系統 |
10.0.0.22rest |
saltstack服務端orm |
CentOS 6.6server |
salt-minion1 |
10.0.0.8 |
saltstack客戶端 |
CentOS 6.6 |
salt-minion2 |
10.0.0.9 |
saltstack客戶端 |
1. 用yum方式分別安裝服務端和客戶端(須要epel源)
[root@salt-master ~]# yum install salt-master salt-minion
[root@salt-minion1 ~]# yum -y install salt-minion
[root@salt-minion2 ~]# yum -y install salt-minion
2. 將salt服務加入到開機自啓動
[root@salt-master ~]# chkconfig salt-master on
[root@salt-minion1 ~]# chkconfig salt-minion on
[root@salt-minion2 ~]# chkconfig salt-minion on
3. 啓動salt服務端,配置salt客戶端並啓動
[root@salt-master ~]# /etc/init.d/salt-master start
[root@salt-minion1 ~]# sed -i '16a master: 10.0.0.22' /etc/salt/minion
[root@salt-minion1 ~]# sed -n '16,17p' /etc/salt/minion
#master: salt
master: 10.0.0.22
[root@salt-minion1 ~]# /etc/init.d/salt-minion start
4. 查看客戶端祕鑰
[root@salt-minion1 ~]# tree /etc/salt/pki/minion/
/etc/salt/pki/minion/
|-- minion.pem
`-- minion.pub
5. 查看服務端祕鑰和未贊成的客戶端祕鑰
[root@salt-master ~]# tree /etc/salt/pki/master
/etc/salt/pki/master
|-- master.pem
|-- master.pub
|-- minions
|-- minions_autosign
|-- minions_denied
|-- minions_pre
| |-- salt-minion1
| `-- salt-minion2
`-- minions_rejected
[root@salt-master ~]# salt-key #查看全部未接受的minion
Accepted Keys:
Denied Keys:
Unaccepted Keys:
salt-minion1
salt-minion2
Rejected Keys:
6. master端添加和刪除minion
[root@salt-master ~]# salt-key -A #接受全部的minion
The following keys are going to be accepted:
Unaccepted Keys:
salt-minion1
salt-minion2
Proceed? [n/Y] y
Key for minion salt-minion1 accepted.
Key for minion salt-minion2 accepted.
[root@master ~]# salt-key
Accepted Keys:
minions1
minions2
Denied Keys:
Unaccepted Keys:
Rejected Keys:
[root@salt-master ~]# tree /etc/salt/pki/master
/etc/salt/pki/master
|-- master.pem
|-- master.pub
|-- minions
| |-- salt-minion1
| `-- salt-minion2
|-- minions_autosign
|-- minions_denied
|-- minions_pre
`-- minions_rejected
[root@salt-minion1 ~]# tree /etc/salt/pki/minion/ #這時服務端的祕鑰也被放在了客戶端上
/etc/salt/pki/minion/
|-- minion.pem
|-- minion.pub
`-- minion_master.pub
[root@salt-master ~]# salt-key -d salt-minion1 #刪除salt-minion1
[root@salt-master ~]# salt-key -a salt-minion1 #接受salt-minion1
[root@salt-master ~]# salt-key -D #刪除全部的minion
[root@salt-master ~]# salt-run manage.up #查看存活的minion
[root@salt-master ~]# salt-run manage.down #查看死掉的minion
[root@salt-master ~]# salt-run manage.status #查看全部的minion狀態
[root@salt-master ~]# salt-run manage.versions #查看master和全部minion的版本信息
7. 修改服務端配置文件
[root@salt-master salt]# grep -A 6 "file_roots:" /etc/salt/master #將×××部分註釋去掉
# file_roots:
# base:
# - /srv/salt/
# dev:
# - /srv/salt/dev/services
# - /srv/salt/dev/states
# prod:
--
file_roots:
base:
- /srv/salt/base
test:
- /srv/salt/test
prod:
- /srv/salt/prod
[root@salt-master salt]# grep -A 8 "file_roots:" /etc/salt/master|grep -v "#" #添加×××部分
file_roots:
base:
- /srv/salt/base
test:
- /srv/salt/test
prod:
- /srv/salt/prod
script:
- /srv/salt/script
[root@salt-master ~]# mkdir /srv/salt/script #建立script文件夾
[root@salt-master ~]# /etc/init.d/salt-master restart #重啓salt-master服務
8. 在服務端測試
[root@salt-master ~]# salt 'salt-minion1' test.ping #測試salt-minion1存活狀態
[root@salt-master ~]# salt -L salt-minion1,salt-minion2 test.ping #測試salt-minion1和salt-minion2的存活狀態
[root@wangning ~]# salt -S 10.0.0.0/24 test.ping #測試10.0.0.0網段的主機存活狀態
[root@salt-master ~]# salt '*' test.ping #給全部客戶端發消息測試是否存活,「*」表示全部客戶端
salt-minion2:
True
salt-minion1:
True
執行shell命令
[root@salt-master ~]# salt '*' cmd.run 'uptime' #查看全部客戶端的負載
salt-minion2:
13:37:35 up 11 days, 22:11, 3 users, load average: 0.00, 0.00, 0.00
salt-minion1:
13:37:35 up 8 days, 2:48, 3 users, load average: 0.00, 0.00, 0.00
[root@salt-master ~]# salt '*' cmd.run 'df -h' #查看全部客戶端的文件系統使用狀況
其餘
[root@salt-master ~]# salt 'salt-minion1' grains.ls #顯示salt-minion1的全部信息
[root@salt-master ~]# salt 'salt-minion1' grains.items # 顯示salt-minion1全部詳細信息,包括CPU、內存、內核等信息
[root@salt-master ~]# salt 'salt-minion1' grains.item cpu_model #顯示salt-minion1的CPU信息
[root@salt-master ~]# salt 'salt-minion1' grains.get cpu_model #同上條命令同樣
[root@salt-master ~]# salt -G os:CentOS cmd.run 'whoami' #在全部操做系統爲CentOS的主機上執行whoami命令 -G:grants
[root@salt-master ~]# grep "pillar_opts:" /etc/salt/master #將False改成True
pillar_opts: True
[root@salt-master ~]# /etc/init.d/salt-master restart
[root@salt-minion2 ~]# grep -A 3 "grains:" /etc/salt/minion #去掉如下四行註釋
grains:
roles:
- webserver
- memcache
[root@salt-minion2 ~]# /etc/init.d/salt-minion restart
[root@salt-master ~]# salt -G 'roles:memcache' cmd.run 'whoami' #在全部角色爲memcache的機器上執行命令whoami
9. 進入/srv/salt目錄,建立安裝Apache文件
[root@salt-master salt]# cat /srv/salt/apache.sls #注意空格一個都不能多或少,不然出錯
apache-install:
pkg.installed:
- names:
- httpd
- httpd-devel
apache-service:
service.running:
- name: httpd
- enable: True
- reload: True
[root@salt-master ~]# salt '*' state.sls apache #給全部客戶端安裝Apache軟件,在客戶端上會採用yum安裝