Saltstack-部署
阿新 • • 發佈:2018-04-10
linux saltstack 搭建 saltstack部署過程
一.服務端:
Epel源安裝
[root@m01 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
Salt-master安裝[root@m01 ~]# yum install salt-master -y
添加master啟動服務
[root@m01 ~]# chkconfig salt-master on
修改master
[root@m01 ~]# vim /etc/salt/master
修改配置文件/etc/salt/master,打開以下6行的註釋
416 file_roots: 417 base: 418 - /srv/salt 529 pillar_roots: 530 base: 531 - /srv/pillar
添加master啟動[root@m01 ~]# /etc/init.d/salt-master start
查看可被管理的主機
[root@m01 ~]# salt-key
Accepted Keys:
Denied Keys:
Unaccepted Keys:
Rejected Keys:
[root@m01 ~]# salt-key -L
Accepted Keys:
Denied Keys:
Unaccepted Keys:
Rejected Keys:
添加所有被管理端[root@m01 ~]# salt-key –A
刪除所有被管理端[root@m01 ~]# salt-key –D
重新啟動master服務
[root@m01 ~]# /etc/init.d/salt-master restart
Saltstack遠程執行命令
Saltstack 目標 模塊.方法 返回信息
[root@m01 ~]# salt "*" test.ping #運行salt模塊裏的ping#
backup:
True
web01:
True
nfs01:
True
[root@m01 ~]# salt "*" sys.doc ‘test‘ #查看test模塊的使用幫助#
查看所有被管理端的磁盤使用率[root@m01 ~]# salt "*" cmd.run "df -h"
遠程執行命令查看客戶端的內存使用情況
[root@m01 ~]# salt "*" cmd.run "free -h"
遠程系統cpu負載情況[root@m01 ~]# salt "*" cmd.run ‘uptime‘
查看被控端操作系統類型
[root@m01 ~]# salt "*" cmd.run "cat /etc/redhat-release"
[root@m01 ~]# salt ‘*‘ grains.item os
backup:
----------
os:
CentOS
nfs01:
----------
os:
CentOS
web01:
----------
os:
CentOS
Saltstack的配置管理
搭建目錄
[root@m01 ~]# mkdir /srv/{salt,pillar}
[root@m01 salt]# vim host_file.sls
/etc/hosts:
file.managed:
- source: salt://files/hosts
- user: root
- group: root
- mode: 644
~
[root@m01 salt]# mkdir files
[root@m01 salt]# cd files/
[root@m01 files]# cp /etc/hosts .
[root@m01 files]# ll
總用量 4
-rw-r--r-- 1 root root 333 11月 15 23:38 hosts
[root@m01 files]# pwd
/srv/salt/files
null
執行salt腳本 host_file.sls
[root@m01 files]# salt ‘*‘ state.sls host_file
[root@m01 salt]# vim nginx.install.sls
nginx-install:
pkg.installed:
- names:
- nginx
/etc/hosts:
file.managed:
- source: salt://files/hosts
- user: root
- group: root
- mode: 644
- require:
- pkg: nginx-install
service.running:
- names:
- nginx
查看定時任務
[root@m01 salt]# salt ‘*‘ cron.list_tab root
創建定時任務
[root@m01 salt]# vim crontab.sls
/usr/sbin/ntpdate times.aliyun.com >>/dev/null:
cron.present:
user: root
minute: ‘*/5‘
[root@m01 salt]# salt ‘*‘ state.sls crontab
[root@m01 salt]# vim crontab.sls
/usr/sbin/ntpdate times.aliyun.com >>/dev/null:
cron.present:
user: root
minute: ‘*/3‘
[root@m01 salt]# salt ‘*‘ state.sls crontab
刪除定時任務
[root@m01 salt]# vim del_cron.sls
/usr/sbin/ntpdate times.aliyun.com >>/dev/null:
cron.absent:
- name: /usr/sbin/ntpdate times.aliyun.com >>/dev/null
[root@m01 salt]# salt ‘*‘ state.sls ‘del_cron‘
[root@m01 salt]# salt ‘*‘ state.highstate
二.客戶端:
Epel源安裝
[root@m01 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
Minion安裝
[root@web01 ~]# yum install salt-minion –y
查看salt-minion版本
[root@web01 ~]# rpm -aq salt-minion
salt-minion-2015.5.10-2.el6.noarch
編輯minion
[root@web01 ~]# vim /etc/salt/minion
修改配置文件/etc/salt/minion,修改以下內容
16 master: 172.16.1.61 <------這個ip地址是master的ip地址(或者寫主機名也行)
78 id: web01 <----------這個id是給本機起的一個名字,盡量起的有意義
設置salt-minion開機啟動
[root@web01 ~]# chkconfig salt-minion on
啟動salt-minion
[root@web01 ~]# /etc/init.d/salt-minion start
查看密鑰
[root@web01 ~]# ll /etc/salt/pki/minion/
總用量 12
-r-------- 1 root root 1675 11月 15 21:51 minion.pem
-rw-r--r-- 1 root root 451 11月 15 21:51 minion.pub
重啟salt-minion
[root@web01 ~]# /etc/init.d/salt-minion restart
Saltstack-部署