二、grains、pillar、安裝配置httpd、配置管理文件、配置管理目錄

一、grains

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序定制開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了萊陽免費(fèi)建站歡迎大家使用!

grains是在minion啟動(dòng)時(shí)收集到的一些信息,比如操作系統(tǒng)類型、網(wǎng)卡ip、內(nèi)核版本、cpu架構(gòu)等。

#?salt?'yw02'?grains.ls???列出所有的grains項(xiàng)目名字
#?salt?'aming-02'?grains.items???列出所有g(shù)rains項(xiàng)目以及值

grains的信息并不是動(dòng)態(tài)的,并不會(huì)實(shí)時(shí)變更,它是在minion啟動(dòng)時(shí)收集到的。

我們可以根據(jù)grains收集到的一些信息,做配置管理工作。

grains支持自定義信息。

自定義grains

minion上:

#?vim?/etc/salt/grains??//添加,前面是item,后面是value。這都是自定義的。
?role:?nginx?
?env:?test

重啟minion服務(wù)

#?systemctl?restart?salt-minion

master上:

獲取grains:

?#?salt?'*'?grains.item?role?env???//可以隨便寫一個(gè)item,如果minion端沒有,就什么都不顯示。

可以借助grains的item去匹配對應(yīng)的主機(jī)來執(zhí)行任務(wù)或命令

#?salt?-G?role:nginx?cmd.run?'hostname'

如果想把機(jī)器分組,就可以自定義一個(gè)grains。

二、pillar

pillar和grains不一樣,是在master上定義的,并且是針對minion定義的一些信息。像一些比較重要的數(shù)據(jù)(密碼)可以存在pillar里,還可以定義變量等。

配置自定義pillar

#?vim??/etc/salt/master???找到如下配置://去掉前面的#號
pillar_roots:?????//可以認(rèn)為是接下來要配置的項(xiàng)目。
??base:???#此行前面有兩個(gè)空格,項(xiàng)目里它的value叫base。
????-?/srv/pillar???#此行前面有4個(gè)空格,value里的值叫/srv/pillar。
?重啟master????//只有在修改了/etc/salt/master的情況下才需要重啟服務(wù),后面的只要刷新pillar配置即可。
#?systemctl??restart?salt-master????
????
#?mkdir?/srv/pillar
#?vim?/srv/pillar/test.sls??//子配置文件,內(nèi)容如下,saltstack的配置文件通常情況下以sls作為后綴名,方便區(qū)分。
conf:?/etc/123.conf
?
#?vi?/srv/pillar/top.sls??//內(nèi)容如下,這個(gè)top.sls文件作為一個(gè)總?cè)肟凇?base:???#base表示這是一個(gè)根
??'yw02':?#此行前面有兩個(gè)空格,針對的機(jī)器的主機(jī)名。
????-?test?#此行前面有4個(gè)空格,意思是要加載哪一個(gè)配置文件。-相當(dāng)于是作為分隔符性質(zhì)的。
????-?test1???#多個(gè)就寫多行
??'fuxi01':????#也可以寫多個(gè)機(jī)器
????-?test2????
這個(gè)文件的格式一定要注意,機(jī)器前空兩gear,對應(yīng)的配置文件空四格。

當(dāng)更改完pillar配置文件后,通過刷新pillar配置來獲取新的pillar狀態(tài):

#?salt?'*'?saltutil.refresh_pillar
驗(yàn)證:#?salt??'*'?pillar.item?conf

pillar同樣可以用來匹配對應(yīng)的主機(jī)。

比如 salt ?-I 'conf:/etc/123.conf' ?test.ping;salt -I 'conf:/etc/123.conf' cmd.run w

三、安裝配置httpd

master上

#?vi?/etc/salt/master?//搜索找到file_roots,打開如下內(nèi)容的注釋:
file_roots:
??base:?#前面有兩個(gè)空格
????-?/srv/salt?#前面有4個(gè)空格

#?mkdir?/srv/salt?;?cd?/srv/salt
#?vi?/srv/salt/top.sls??//定義總?cè)肟?,加入如下?nèi)容
base:
??'*':??#前面有兩個(gè)空格,
????-?httpd?#前面有4個(gè)空格
????
#?systemctl?restart?salt-master

'*'的意思是,在所有的minion客戶端上執(zhí)行httpd模塊,也可以寫單獨(dú)的機(jī)器。

master上

#?vi?/srv/salt/httpd.sls??//加入如下內(nèi)容,這個(gè)就是httpd模塊的內(nèi)容
httpd-service:????#定義的服務(wù)名字
??pkg.installed:???#salt自帶的模塊,類似于cmd.run。
????-?names:????#后面就是要安裝的包的名字。這里如果只有一個(gè)服務(wù),那么就可以寫成?–name:?httpd?不用再換一行了。
??????-?httpd
??????-?httpd-devel
??service.running:??#這個(gè)模塊的作用是為了啟動(dòng)服務(wù)的。
????-?name:?httpd???#啟動(dòng)httpd這個(gè)服務(wù)
????-?enable:?True??#True表示要啟動(dòng),false不啟動(dòng)。

說明: httpd-service是id的名字,自定義的。pkg.installed 為包安裝函數(shù),下面是要安裝的包的名字。service.running也是一個(gè)函數(shù),來保證指定的服務(wù)啟動(dòng),enable表示開機(jī)啟動(dòng)。

執(zhí)行: salt 'yw02'state.highstate ? //執(zhí)行過程會(huì)比較慢,因?yàn)榭蛻舳松显趛um install httpd httpd-devel,只要執(zhí)行了這個(gè)state.highstate的命令,就會(huì)到/srv/salt目錄下去找top.sls,這個(gè)配置文件里提到的相關(guān)的模塊,都會(huì)去執(zhí)行。

# ls /lib/systemd/system/httpd.service ? //安裝完后,就有這個(gè)服務(wù)的包了。

四、配置管理文件

master上

#?vi?/srv/salt/test.sls???//加入如下內(nèi)容
file_test:
??file.managed:???#引用到的模塊
????-?name:?/tmp/aminglinux.com???#minion端要給到的文件路徑
????-?source:?salt://test/123/1.txt
????-?user:?root????#文件給過去以后,它的屬主屬組、權(quán)限。
????-?group:?root
????-?mode:?600

說明:第一行的file_test為自定的名字,表示該配置段的名字,可以在別的配置段中引用它,source指定文件從哪里拷貝,來源文件,這里的salt://test/123/1.txt相當(dāng)于是/srv/salt/test/123/1.txt,salt://這就表示在/etc/salt/master文件中的file_roots定義的根路徑/srv/salt。

作用:比如,針對一組機(jī)器,改一個(gè)服務(wù)的配置文件,先把改好后的配置文件的模板搞過來,然后再告訴minion端,把這個(gè)文件要分發(fā)到機(jī)器上的哪一個(gè)目錄下去,分發(fā)完后,可能還要做一些其他的操作,比如重啟服務(wù)。

#?mkdir?/srv/salt/test/123
#?cp?/etc/passwd?/srv/salt/test/123/1.txt
#?vi?/srv/salt/top.sls?//因?yàn)閟alt默認(rèn)找的是top.sls,它是總?cè)肟冢瑃op會(huì)告訴我們接下來要去找哪一個(gè)子配置文件,所以這里要改成test:
base:
??'*':
????-?test
????
#?salt?'yw02'?state.highstate
yw02:
----------
??????????ID:?file_test
????Function:?file.managed
????????Name:?/tmp/aminglinux.com
??????Result:?True
?????Comment:?File?/tmp/aminglinux.com?updated
?????Started:?19:37:17.272462
????Duration:?591.057?ms
?????Changes:???
??????????????----------
??????????????diff:
??????????????????New?file

Summary?for?yw02
------------
Succeeded:?1?(changed=1)
Failed:????0
------------
Total?states?run:?????1
Total?run?time:?591.057?ms

檢查yw02上是否有/tmp/aminglinux.com,檢查內(nèi)容以及權(quán)限。

五、配置管理目錄

master上

#?vi?/srv/salt/test_dir.sls??//加入如下內(nèi)容
file_dir:
??file.recurse:???#模塊
????-?name:?/tmp/testdir???#對方機(jī)器的目錄
????-?source:?salt://test/123???#模板目錄
????-?user:?root????#給過去后的目錄、文件屬主及權(quán)限
????-?file_mode:?640
????-?dir_mode:?750
????-?mkdir:?True
????-?clean:?True???##加上它之后,刪除源文件或目錄,目標(biāo)也會(huì)跟著刪除,否則不會(huì)刪除

修改top.sls,

#?vi?/srv/salt/top.sls?//添加test_dir
base:
??'*':
????-?test_dir?
#?salt?'yw02'?state.highstate

檢查yw02上是否有/tmp/testdir,檢查里面的目錄、文件以及權(quán)限

說明:saltstack的一個(gè)特性,如果source對應(yīng)的目錄里有空目錄的話,客戶端上不會(huì)同步它,它會(huì)認(rèn)為這是無用的。

網(wǎng)站欄目:二、grains、pillar、安裝配置httpd、配置管理文件、配置管理目錄
文章URL:http://bm7419.com/article12/gihdgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、小程序開發(fā)、自適應(yīng)網(wǎng)站、網(wǎng)站收錄外貿(mào)網(wǎng)站建設(shè)手機(jī)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司