自動化運維工具----saltstack安裝及配置
Saltstack
一.環境準備
https://mirrors.aliyun.com/repo/Centos-7.repo
https://mirrors.aliyun.com/repo/epel-7.repo
需要以上兩個阿里雲的repo還有本機自身的centos7映象的repo。
二.安裝saltstack
在master機器上安裝salt-master
yum -y install salt-master
在minion機器上安裝salt-minion
yum -y install salt-minion
在master機器上配置/etc/salt/master配置檔案
搜尋file_root找到該配置欄目,把備註去掉
file_roots:
base:
- /saltstack/salt
搜尋pillar找到該配置欄目,把備註去掉
pillar_roots:
base:
- /saltstack/pillar
開啟防火牆
firewall-cmd --add-port=4506/tcp --permanent
firewall-cmd --add-port=4505/tcp --permanent
重啟服務
設定開機啟動
systemctl restart salt-master.service
systemctl enable salt-master.service
在minion機器上,配置/etc/salt/minion配置檔案
搜尋master並修改其ip地址
master: 172.16.1.177
搜尋id,此處表示在master側顯示本機為什麼樣的id。
id: web01
重啟服務
設定開機啟動
systemctl restart salt-minion.service
systemctl enable salt-minion.service
然後在master機器上輸入命令
salt-key 檢視是否有minion連線上(若連線不上,可能是minion配置或者是防火牆問題,配置檔案的空格限制非常嚴格)
salt-key -A 接受所有連線
salt-key -a 接受主機
salt-key -d 刪除主機
salt-key -l 列出所有
三.saltstack命令
Salt命令格式
目標 模組(命令) 方法(引數)
salt ‘*’ test.ping
salt ‘*’ cmd.run ‘df -h’
一些小例項:
-------------------------------------------------例項1:批量管理檔案--------------------------------------------------
在之前的/etc/salt/master配置檔案中我們已經定義了salt的file預設根目錄為/srv/salt,pillar根目錄為/srv/pillar。但是系統這時候是沒有這兩個目錄的,因此要自己建立。
mkdir /srv/{salt,pillar}
然後進入/srv/salt,建立目錄files
mkdir /srv/salt/files
同時建立配置檔案,host_file.sls(salt配置檔案的字尾必須為sls)
vim host_flie.sls
update-hosts:
file.managed:
- name: /etc/hosts #指定修改哪裡的檔案
- source: salt://files/hosts #指定原始檔存放在本地的哪裡
- user: root
- group: root
- mode: 664
執行命令,更新檔案。
salt ‘*’ state.sls host_file
-------------------------------------------------例項2:批量安裝應用-------------------------------------------------
建立sls檔案
vim service_install.sls
service-install:
pkg.installed: #安裝模組
- names:
- vsftpd
- httpd
- lrzsz
- lsof
service-running:
service.running: #服務啟動模組
- enable: True
- reload: True
- names:
- vsftpd
執行sls檔案
salt ‘*’ state.sls service_install.sls
------------------------------------------例項三:規劃定時任務crontab------------------------------------------
建立sls檔案
vim cron.sls
cleanup:
cron.present:
- name: /bin/bash /scripts/cleanup.sh #想要加入定時任務的命令
- user: root #指定使用者為root
- minute: 5 #分
- hour: 10-23 #時
- daymonth: 1-30 #日
- month: 1-6 #月
# -dayweek: #周