saltstack自動化運維繫列①之saltstack服務安裝及簡單使用

Saltstack介紹node

Salt三種運行方式web

1.local本地運行
2.Master/Minion
3.Salt sshapache

Salt的三大功能vim

a.遠程執行
b.配置管理(狀態管理)
c.雲管理:阿里雲,aws,openstack都提供了封裝好的接口,能夠使用salt-cloud進行雲主機的管理app

Saltstack環境準備
第一臺:mini1,既做爲salt-master,又做爲salt-minion
第二臺:node2.chinasoft.com,只做爲salt-minionssh

1.安裝salt客戶端和服務端測試

環境:
主機master 192.168.3.12:
yum install -y salt-master salt-minion阿里雲

啓動服務端
/etc/init.d/salt-master startspa

被控制端192.168.3.19:
yum install -y salt-minionrest

cat /etc/hosts

192.168.3.12 mini1
192.168.3.16 node2.chinasoft.com

2.修改客戶端配置
vim /etc/salt/minion
將master改成master主機地址
master: 192.168.3.12

啓動客戶端
/etc/init.d/salt-minion start

3.Saltstack的認證
minion首次啓動後會在minion端看到minion的私鑰和公鑰,salt會把公鑰發送給master
將客戶端贊成加入信任列表

# salt-key -a mini1
# salt-key -a node2.chinasoft.com

能夠看到/etc/salt/pki/minion目錄下有了minion_master.pub文件,這個就是master的公鑰

salt-key -a 支持通配符,好比salt-key -a mini* 統一mini開頭的主機名加入信任列表

4.Saltstack的遠程執行
使用test.ping測試master和minion是否連通
salt:基本命令; *:表明全部minion主機;test:模塊; ping:test模塊的一個方法,這裏的單引號也能夠使用雙引號

批量執行簡單命令:

# salt '*' test.ping
node2.chinasoft.com:
True
mini1:
True

使用cmd.run遠程執行命令,cmd是模塊,run是cmd模塊的一個方法
啓動時間

# salt '*' cmd.run 'uptime'
node2.chinasoft.com:
09:52:35 up 3 days, 16:38, 2 users, load average: 0.00, 0.02, 0.00
mini1:
09:52:35 up 1 day, 19:48, 1 user, load average: 0.01, 0.02, 0.01

 

磁盤大小

# salt '*' cmd.run 'df -Th'
mini1:
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg0-root ext4 25G 1.6G 23G 7% /
tmpfs tmpfs 495M 16K 495M 1% /dev/shm
/dev/sda1 ext4 291M 39M 238M 14% /boot
/dev/mapper/vg0-usr ext4 20G 2.8G 16G 15% /usr
/dev/mapper/vg0-var ext4 9.7G 1004M 8.2G 11% /var
node2.chinasoft.com:
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg_node2-root ext4 29G 994M 27G 4% /
tmpfs tmpfs 935M 12K 935M 1% /dev/shm
/dev/sda1 ext4 485M 39M 421M 9% /boot
/dev/mapper/vg_node2-data ext4 29G 239M 28G 1% /data
/dev/mapper/vg_node2-usr ext4 9.7G 2.0G 7.2G 22% /usr
/dev/mapper/vg_node2-web ext4 25G 172M 23G 1% /web

5.配置管理

建立salt的工做目錄,啓用配置管理:
file_root表明文件目錄所在,base指base環境,是必須存在的,這裏支持多種(測試開發生產等)環境,後續會提到

簡單安裝一個apache服務,並添加到自啓動
vim /etc/salt/master

file_roots:
base:
- /srv/salt

建立/srv/salt目錄
mkdir /srv/salt

# /etc/init.d/salt-master restart

# 編寫腳本安裝apache服務並開機自啓動,注意空格不能用tab鍵代替

vim /srv/salt/apache.sls

apache-install:
pkg.installed:
- names:
- httpd
- httpd-devel

apache-service:
service.running:
- name: httpd
- enable: True
- reload: True

 

執行腳本:
# salt '*' state.sls apache


關於配置文件apache.sls的解釋(注意生產環境的配置文件不要將#後面的內容放進去,不然會報錯):
apache-install: #服務ID
pkg.installed: #apache:模塊 install:方法
- names: #names列表
- httpd #會使用yum安裝httpd
- httpd-devel #會使用yum安裝httpd-devel
apache-service: #服務ID
service.running: #service:模塊 running:方法
- name: httpd #name:指定http的服務用來service.running
- enable: True #開機啓動
- reload: True #支持重載

執行後能夠看到已經成功完成apache的安裝及啓動

相關文章
相關標籤/搜索