Linux的企業-自動化運維工具Saltstack(grains、pillar)
配置內容接上篇
redhat6.5
server1 172.25.29.1 salt-master
server2 172.25.29.2 salt-minion haproy+keeplived
server3 172.25.29.3 salt-minion nginx
server4 172.25.29.4 salt-minion nginx
server5 172.25.29.5 salt-minion haproy+keeplived
做之前配置好本地解析
一.Grains
grains是minion第一次啟動的時候采集的靜態數據,可以用在salt的模塊和其他組件中。其實grains在每次的mini
二.minion端配置grains
修改server3和server4的salt-minion,設定nginx角色
在server3和server4的/etc/salt下創建grains,內容如下
3.測試grains的數據
4.修改top.sls文件並推送
推送成功
三.mster端配置grains,不用重啟服務
1.在master端創建_grains文件
2.修改server3和server4的grains或者是刪除grains文件,做到不影響下面master這邊的grains
2.向server3和server4同步grains
查看server3和server4的salt緩存
3.修改top.sls推送文件
推送成功
四.pillar用法
grain和pillar區別
(1)grains存儲的是靜態、不常變化的內容,pillar則相反
(2)grains是存儲在minion本地,而pillar存儲在master本地
(3)minion有權限操作自己的grains值,如增加、刪除,但minion只能查看自己的pillar,無權修改
1.配置pillar
修改server1上的master配置文件,開通pillar base目錄,可以與grains共存
采集主機名
2.設置不同的主機名推送安裝不同的服務
3.在pillar下創建一個新的top.sls推送文件
刷新
4.檢測和查看的相關命令
查看采集的推送項目,按照不同的主機名通過pillar下的web.sls做不同的事情
通過salt采集server3開啟的服務
遠程重啟server3的nginx服務
將master server1上的文件群傳給minion端
群查看minion的/tmp下的文件,已經傳過來了
遠程查看passwd文件
遠程給server4安裝htppd文檔
遠程給server4安裝losf工具
五.jinja模版的使用
Jinja是基於python的模板引擎,在saltstack中我們使用yaml_jinja渲染器來根據模板生產對應的配置文件,對於不同的操作系統或者不同的情況通過jinja可以讓配置文件或者操作形成一種模板的編寫方式。
模版文件裏面變量使用{{名稱}},例如{{PORT}}
變量使用Grains:{{ grains[‘fqdn_ip4‘] }}
變量使用執行模塊:{{ salt[‘network.hw_addr‘](‘eth0‘) }}
變量使用Pillar:{{ pillar[‘apache‘][‘PORT‘] }}
1.jinja模版配置
以httpd下的web.sls為例,添加模版,端口,地址
2.修改files下的httpd.conf配置文件為變量格式
3.用jinja模版推送httpd服務
server3 httpd服務8080端口正常
六.jinja模版的另外三種實現方法
1.方法一
在httpd.conf配置文件的最上面添加變量模塊
下面的監聽端口上按python的方式取值
在files下面新建 vim lib.sls
將之前的web.sls裏的template下面註釋掉
用jinja模版給server3推送httpd服務
2.方法二
將httpd.conf裏剛才上面寫的刪除,因為會與下面的這個方法沖突
監聽端口修改為下圖所示
將web.sls文件修改為以下設置
vim lib.sls
方法三:使用pillar
進入到pillar的base目錄下
(1)配置文件第一種寫法
vim httpd.conf
(2)配置文件第二種寫法
vim httpd.conf
推送
salt server4 state.sls httpd.web
七.salt自動化推送keepalived+nginx
1.配置keepalived salt文件
vim keepalived.conf,添加vip
vim install.sls
vim service.sls
單擊keepalived推送成功
2.由於keepalived高可用,主備的配置文件不一樣,需要添加jinja模版
在install.sls裏添加jinja模版
keepalived.conf裏的state和priority寫成變量
3.新添加一臺虛擬機server5做keepalived的高可用
將server5加入到salt-key
4.修改top.sls文件並推送
5.查看推送結果
haproy+keeplived正常啟動,vip在主上
將主server2上的keepalived關閉,服務到備server5上
負載均衡haproxy正常
Linux的企業-自動化運維工具Saltstack(grains、pillar)