1. 程式人生 > >saltstack安裝配置

saltstack安裝配置

saltstack saltstack安裝 linux

saltstack安裝配置

操作系統版本

主機名

IP地址

角色

CentOS 6.6

salt-master

10.0.0.22

saltstack服務端

CentOS 6.6

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-minion1salt-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-minion1CPU信息

[root@salt-master ~]# salt 'salt-minion1' grains.get cpu_model #同上條命令一樣

[root@salt-master ~]# salt -G os:CentOS cmd.run 'whoami' #在所有操作系統為CentOS的主機上執行whoami命令 -Ggrants

[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安裝


saltstack安裝配置