亚洲熟女综合色一区二区三区,亚洲精品中文字幕无码蜜桃,亚洲va欧美va日韩va成人网,亚洲av无码国产一区二区三区,亚洲精品无码久久久久久久

老司機(jī)獨(dú)愛(ài)Linux自動(dòng)化運(yùn)維神器saltstack,看他60分鐘的真言

身邊有很多運(yùn)維工程師,做了幾年的運(yùn)維自動(dòng)化,但依然不能確定選擇哪個(gè)工自動(dòng)化工作?還有,怎樣更優(yōu)雅的實(shí)施運(yùn)維自動(dòng)化和避免事實(shí)當(dāng)中的坑?
馬哥教育大咖講堂-175期特別邀請(qǐng)了一線資深工程師張強(qiáng)為我們帶來(lái)了一場(chǎng)《saltstack在自動(dòng)化運(yùn)維實(shí)踐》的分享,嘗試帶著他對(duì)工作問(wèn)題的思考以及部署自動(dòng)化工具的經(jīng)驗(yàn)給大家一些幫助和啟發(fā)。
————————————
作者介紹:
張強(qiáng),馬哥教育Linux大咖講堂金牌講師,現(xiàn)就職于伙伴智慧運(yùn)維工程師,負(fù)責(zé)主線業(yè)務(wù)平臺(tái),3年Linux一線經(jīng)驗(yàn),擅長(zhǎng)shell腳本、自動(dòng)化_發(fā)布、web應(yīng)用等,現(xiàn)在關(guān)注自動(dòng)化運(yùn)維、分布式數(shù)據(jù)庫(kù),虛擬化技術(shù)。


自動(dòng)化工具比較

Puppet也許是四款工具中最深入人心的。就可用操作、模塊和用戶界面而言,它是最全面的。Puppet呈現(xiàn)了數(shù)據(jù)中心協(xié)調(diào)的全貌,幾乎涵蓋每一個(gè)運(yùn)行系統(tǒng),為各大操作系統(tǒng)提供了深入的工具。初始設(shè)置比較簡(jiǎn)單,只需要在需要加以管理的每個(gè)系統(tǒng)上安裝主服務(wù)器和客戶端代理軟件。命令行接口(CLI)簡(jiǎn)單直觀,允許通過(guò)puppet命令下載和安裝模塊。然后,需要對(duì)配置文件進(jìn)行更改,好讓模塊適合所需的任務(wù);應(yīng)接到指令的客戶端與主服務(wù)器聯(lián)系時(shí),會(huì)更改配置文件,或者客戶端通過(guò)立即觸發(fā)更改配置文件的推送(push)來(lái)進(jìn)行更改。

Ansible關(guān)注的重點(diǎn)是力求精簡(jiǎn)和快速,而且不需要在節(jié)點(diǎn)上安裝代理軟件。因此,Ansible通過(guò)SSH執(zhí)行所有功能。需要管理的節(jié)點(diǎn)被添加到Ansible配置環(huán)境,SSH授權(quán)密鑰被附加到每個(gè)節(jié)點(diǎn)上,這與運(yùn)行Ansible的用戶有關(guān)。一旦完成了這步,Ansible主服務(wù)器可以通過(guò)SSH與節(jié)點(diǎn)進(jìn)行通信,執(zhí)行所有必要的任務(wù)。Ansible可以使用Paramiko(基于SSH2協(xié)議的Python實(shí)現(xiàn))或標(biāo)準(zhǔn)SSH用于通信,不過(guò)還有一種加速模式,允許更快速、更大規(guī)模的通信。

Salt類似Ansible,因?yàn)樗彩腔贑LI的工具,采用了推送方法實(shí)現(xiàn)客戶端通信。它可以通過(guò)Git或通過(guò)程序包管理系統(tǒng)安裝到主服務(wù)器和客戶端上??蛻舳藭?huì)向主服務(wù)器提出請(qǐng)求,請(qǐng)求在主服務(wù)器上得到接受后,就可以控制該客戶端了。Salt可以通過(guò)普通的SSH與客戶端進(jìn)行通信,但如果使用名為minion的客戶端代理軟件,可以大大增強(qiáng)可擴(kuò)展性。此外,Salt含有一個(gè)異步文件服務(wù)器,可以為客戶端加快文件服務(wù)速度,這完全是Salt注重高擴(kuò)展性的一個(gè)體現(xiàn)。與Ansible一樣,你可以直接通過(guò)CLI,向客戶端發(fā)出命令,比如啟動(dòng)服務(wù)或安裝程序包;你也可以使用名為state的YAML配置文件,處理比較復(fù)雜的任務(wù)。還有“pillar”,這些是放在集中地方的數(shù)據(jù)集,YAML配置文件可以在運(yùn)行期間訪問(wèn)它們。

總結(jié):個(gè)人觀點(diǎn)puppet最大缺點(diǎn)就是默認(rèn)情況下Agent每隔30分鐘向master同步狀態(tài),master主動(dòng)推送功能比較薄弱(2.7版本),ansible基于SSH服務(wù)執(zhí)行,如果服務(wù)器過(guò)多不建議使用,他是使用輪訓(xùn)的方式。Salt基于消息隊(duì)列。性能相當(dāng)好,適合大量生產(chǎn)環(huán)境。

SaltStack簡(jiǎn)介與特性

SaltStack 是一種基于 C/S 架構(gòu)的服務(wù)器基礎(chǔ)架構(gòu)集中化管理平臺(tái),管理端稱為 Master,客戶端稱為 Minion。SaltStack 具備配置管理、遠(yuǎn)程執(zhí)行、監(jiān)控等功能,一般可以理解為是簡(jiǎn)化版的 Puppet 和加強(qiáng)版的 Func。SaltStack 本身是基于 Python 語(yǔ)言開(kāi)發(fā)實(shí)現(xiàn),結(jié)合了輕量級(jí)的消息隊(duì)列軟件 ZeroMQ 與 Python 第三方模塊(Pyzmq、PyCrypto、Pyjinjia2、Python-msgpack 和 PyYAML 等)構(gòu)建。

通過(guò)部署 SaltStack 環(huán)境,運(yùn)維人員可以在成千上萬(wàn)臺(tái)服務(wù)器上做到批量執(zhí)行命令,根據(jù)不同的業(yè)務(wù)特性進(jìn)行配置集中化管理、分發(fā)文件、采集系統(tǒng)數(shù)據(jù)及軟件包的安裝與管理等。

SaltStack 具有以下特性:

1、部署簡(jiǎn)單、方便;

2、支持大部分UNIX/Linux及Windows環(huán)境;

3、主從集中化管理;

4、配置簡(jiǎn)單、功能強(qiáng)大、擴(kuò)展性強(qiáng);

5、主控端(master)和被控端(minion)基于證書認(rèn)證,安全可靠。

6、支持API及自定義模塊,可通過(guò)Python輕松擴(kuò)展。

SaltStack 的工作原理

SaltStack 采用 C/S 結(jié)構(gòu)來(lái)對(duì)云環(huán)境內(nèi)的服務(wù)器操作管理及配置管理。為了更好的理解它的工作方式及管理模型,將通過(guò)圖形方式對(duì)其原理進(jìn)行闡述。

SaltStack 客戶端(Minion)在啟動(dòng)時(shí),會(huì)自動(dòng)生成一套密鑰,包含私鑰和公鑰。之后將公鑰發(fā)送給服務(wù)器端,服務(wù)器端驗(yàn)證并接受公鑰,以此來(lái)建立可靠且加密的通信連接。同時(shí)通過(guò)消息隊(duì)列 ZeroMQ 在客戶端與服務(wù)端之間建立消息發(fā)布連接。具體通信原理圖,如圖 1 所示,命令執(zhí)行如圖 2 所示:

老司機(jī)獨(dú)愛(ài)Linux自動(dòng)化運(yùn)維神器saltstack,看他60分鐘的真言

專業(yè)術(shù)語(yǔ)說(shuō)明:

Minion 是 SaltStack 需要管理的客戶端安裝組件,會(huì)主動(dòng)去連接 Master 端,并從 Master 端得到資源狀態(tài)信息,同步資源管理信息。

Master 作為控制中心運(yùn)行在主機(jī)服務(wù)器上,負(fù)責(zé) Salt 命令運(yùn)行和資源狀態(tài)的管理。

ZeroMQ 是一款開(kāi)源的消息隊(duì)列軟件,用于在 Minion 端與 Master 端建立系統(tǒng)通信橋梁。

Daemon 是運(yùn)行于每一個(gè)成員內(nèi)的守護(hù)進(jìn)程,承擔(dān)著發(fā)布消息及通信端口監(jiān)聽(tīng)的功能。

老司機(jī)獨(dú)愛(ài)Linux自動(dòng)化運(yùn)維神器saltstack,看他60分鐘的真言

原理圖說(shuō)明:

Minion 是 SaltStack 需要管理的客戶端安裝組件,會(huì)主動(dòng)去連接 Master 端,并從 Master 端得到資源狀態(tài)信息,同步資源管理信息。

Master 作為控制中心運(yùn)行在主機(jī)服務(wù)器上,負(fù)責(zé) Salt 命令運(yùn)行和資源狀態(tài)的管理。

Master 上執(zhí)行某條指令通過(guò)隊(duì)列下發(fā)到各個(gè) Minions 去執(zhí)行,并返回結(jié)果。

SaltStack 的架構(gòu)設(shè)計(jì)

為了讓大家更好的理解 SaltStack 集中化管理方面的優(yōu)勢(shì),因此,根據(jù)項(xiàng)目的實(shí)際情況繪制了部署架構(gòu)圖,并在文中對(duì)架構(gòu)圖進(jìn)行了詳細(xì)說(shuō)明。如圖 3 所示:

老司機(jī)獨(dú)愛(ài)Linux自動(dòng)化運(yùn)維神器saltstack,看他60分鐘的真言

說(shuō)明:

SaltStack 的所有被管理客戶端節(jié)點(diǎn)(如圖 3 所示 DB 和 Web),都是通過(guò)密鑰進(jìn)行加密通信,使用端口為 4506??蛻舳伺c服務(wù)器端的內(nèi)容傳輸,是通過(guò)消息隊(duì)列完成,使用端口為 4505。Master 可以發(fā)送任何指令讓 Minion 執(zhí)行,salt 有很多可執(zhí)行模塊,比如說(shuō) CMD 模塊,在安裝 minion 的時(shí)候已經(jīng)自帶了,它們通常位于你的 Python 庫(kù)中,locate salt | grep /usr/?可以看到 salt 自帶的所有東西。

為了更好的理解架構(gòu)用意,以下將展示主要的命令發(fā)布過(guò)程:

SaltStack 的 Master 與 Minion 之間通過(guò) ZeroMq 進(jìn)行消息傳遞,使用了 ZeroMq 的發(fā)布訂閱模式,連接方式包括 TCP 和 IPC。

Salt 命令,將 cmd.run ls 命令從 salt.client.LocalClient.cmd_cli 發(fā)布到 Master,獲取一個(gè) Jodid,根據(jù) jobid 獲取命令執(zhí)行結(jié)果。

Master 接收到命令后,將要執(zhí)行的命令發(fā)送給客戶端 minion。

Minion 從消息總線上接收到要處理的命令,交給 minion._handle_aes 處理。

Minion._handle_aes 發(fā)起一個(gè)本地線程調(diào)用 cmdmod 執(zhí)行 ls 命令。線程執(zhí)行完 ls 后,調(diào)用 Minion._return_pub 方法,將執(zhí)行結(jié)果通過(guò)消息總線返回給 master。

Master 接收到客戶端返回的結(jié)果,調(diào)用 master.handle_aes 方法將結(jié)果寫的文件中。

Salt.client.LocalClient.cmd_cli 通過(guò)輪詢獲取 Job 執(zhí)行結(jié)果,將結(jié)果輸出到終端。

SaltStack 的安裝與配置

對(duì) SaltStack 有了一個(gè)初步的了解之后,通過(guò)實(shí)際案例操作進(jìn)一步了解 SaltStack。

一、安裝Salt

Salt需要epel源支持,所有安裝前需要先安裝epel源包。

1、salt-master

# yum -y install salt-master

2、salt-minion

# yum -y install salt-minion

二、配置Salt

1、master(/etc/salt/master)

# salt運(yùn)行的用戶,影響到salt的執(zhí)行權(quán)限

user: root

#salt的運(yùn)行線程,開(kāi)的線程越多一般處理的速度越快,但一般不要超過(guò)CPU的個(gè)數(shù)

worker_threads: 10

# master的管理端口

publish_port : 4505

# master跟minion的通訊端口,用于文件服務(wù),認(rèn)證,接受返回結(jié)果等

ret_port : 4506

# 如果這個(gè)master運(yùn)行的salt-syndic連接到了一個(gè)更高層級(jí)的master,那么這個(gè)參數(shù)需要配置成連接到的這個(gè)高層級(jí)master的監(jiān)聽(tīng)端口

syndic_master_port : 4506

# 指定pid文件位置

pidfile: /var/run/salt-master.pid

# saltstack 可以控制的文件系統(tǒng)的開(kāi)始位置

root_dir: /

# 日志文件地址

log_file: /var/log/salt_master.log

# 分組設(shè)置

nodegroups:

group_all: '*'

# salt state執(zhí)行時(shí)候的根目錄

file_roots:

base:

- /etc/salt/

# 設(shè)置pillar 的根目錄

pillar_roots:

base:

- /etc/pillar

2、配置minion(/etc/salt/minion)

master: mail? #這塊的mail指的是在/etc/hosts文件中所定義的主機(jī)名

id: node1

3、啟動(dòng)salt

service salt-master start

service salt-minion start

# saltstack 是使用Python2的語(yǔ)言編寫,對(duì)Python3的兼容性不好,請(qǐng)使用Python2的環(huán)境

4、認(rèn)證命令介紹

salt-key #證書管理

# salt-key –L ? ? ? #查看所有minion-key

# salt-key –a ? ? ?#接受某個(gè)minion-key

# salt-key –A ? ? ?#接受所有minion-key

# salt-key –d ? ? ? #刪除某個(gè)minion-key

# salt-key –D ? ? ? #刪除所有minion-key

老司機(jī)獨(dú)愛(ài)Linux自動(dòng)化運(yùn)維神器saltstack,看他60分鐘的真言
老司機(jī)獨(dú)愛(ài)Linux自動(dòng)化運(yùn)維神器saltstack,看他60分鐘的真言
老司機(jī)獨(dú)愛(ài)Linux自動(dòng)化運(yùn)維神器saltstack,看他60分鐘的真言

5、salt命令介紹

命令格式:salt [options] [arguments]

例:salt \* cmd.run 'uptime'

老司機(jī)獨(dú)愛(ài)Linux自動(dòng)化運(yùn)維神器saltstack,看他60分鐘的真言

SaltStack minion匹配方式

1、 Glob(salt默認(rèn)的target類型,使用shell的通配符來(lái)指定一個(gè)或多個(gè)Minion ID)

# salt \* test.ping 或 salt ‘*’ test.ping

2、pcre兼容正則表達(dá)式

# salt –E ‘^[m|M]in.[e|o|u]n$’ test.ping

3、Subnet(通過(guò)指定一個(gè)IPv4地址或一個(gè)CIDR的IPv4子網(wǎng))

# salt –S 192.168.0.42 test.ping

# salt –s 192.168.0.0/16 test.ping

4、Grains(salt可以通過(guò)操作系統(tǒng)、CPU架構(gòu)及自定義信息等機(jī)器特征進(jìn)行target Minion)

# salt –G ‘os:Ubuntu’ test.ping

# Salt –G ‘os_family:Debian’ test.ping

5、pillar(salt支持通過(guò)pillar數(shù)據(jù)進(jìn)行匹配)

# Salt –I ‘my_val:my_val’ test.ping

6、混合(compound)

# Salt –C ‘web* or G@os:Arch’ test.ping

7、節(jié)點(diǎn)組(Nodegroup)

節(jié)點(diǎn)組需要事先定義,配置方法如下:

# vim /etc/salt/master

nodegroups:

node: 'L@node1,node2’

# salt -N node test.ping

SaltStack常用模塊

1、status模塊(查看系統(tǒng)信息)

老司機(jī)獨(dú)愛(ài)Linux自動(dòng)化運(yùn)維神器saltstack,看他60分鐘的真言
老司機(jī)獨(dú)愛(ài)Linux自動(dòng)化運(yùn)維神器saltstack,看他60分鐘的真言

# salt "*" status.diskstats? ? #查看磁盤信息

# salt "*" status.meminfo? ? ? #查看內(nèi)存信息

# salt "*" status.w? ? ? ? ? ? #w命令返回信息

2、查看所有module列表

老司機(jī)獨(dú)愛(ài)Linux自動(dòng)化運(yùn)維神器saltstack,看他60分鐘的真言

3、查看指定module的所有function方法

老司機(jī)獨(dú)愛(ài)Linux自動(dòng)化運(yùn)維神器saltstack,看他60分鐘的真言

4、查看指定module用法

老司機(jī)獨(dú)愛(ài)Linux自動(dòng)化運(yùn)維神器saltstack,看他60分鐘的真言

5、具體模塊的使用(例子)

老司機(jī)獨(dú)愛(ài)Linux自動(dòng)化運(yùn)維神器saltstack,看他60分鐘的真言

同時(shí)到指定機(jī)器查看

老司機(jī)獨(dú)愛(ài)Linux自動(dòng)化運(yùn)維神器saltstack,看他60分鐘的真言

cmd.run模塊的使用

老司機(jī)獨(dú)愛(ài)Linux自動(dòng)化運(yùn)維神器saltstack,看他60分鐘的真言
老司機(jī)獨(dú)愛(ài)Linux自動(dòng)化運(yùn)維神器saltstack,看他60分鐘的真言

Grains

Static bits of information that a minion collects about the system when the minion first starts.

The grains interface is made available to Salt modules and components so that the right salt minion commands are automatically available on the right systems.

以上是官方的解釋,大致意思是說(shuō)grains是minion第一次啟動(dòng)的時(shí)候采集的靜態(tài)數(shù)據(jù),可以用在salt的模塊和其他組件中。例如,當(dāng)os_family的Grain數(shù)據(jù)為Centos時(shí),則會(huì)使用yum工具組件來(lái)進(jìn)行軟件包管理。Grains會(huì)在Minion進(jìn)程啟動(dòng)時(shí)加載,并緩存在內(nèi)存中。這樣salt-minion進(jìn)程就無(wú)須每次操作都重新檢索系統(tǒng)來(lái)獲取Grain,極大的提高了Minion的性能。

1、我們這里簡(jiǎn)單做一個(gè)輸出測(cè)試,可以看到minion節(jié)點(diǎn)的一些信息如下:

老司機(jī)獨(dú)愛(ài)Linux自動(dòng)化運(yùn)維神器saltstack,看他60分鐘的真言

查看具體每一項(xiàng)信息

老司機(jī)獨(dú)愛(ài)Linux自動(dòng)化運(yùn)維神器saltstack,看他60分鐘的真言

2、應(yīng)用場(chǎng)景:

grains的特性–每次啟動(dòng)匯報(bào)、靜態(tài)決定了它沒(méi)有pillar靈活,要知道pillar是隨時(shí)可變的,只要在master端修改了那一般都會(huì)立刻生效的。所以grains更適合做一些靜態(tài)的屬性值的采集,例如設(shè)備的角色(role),磁盤個(gè)數(shù)(disk_num),操作系統(tǒng)版本等諸如此類非常固定的屬性。簡(jiǎn)單總結(jié)起來(lái)grains的用途如下:

(1),grains可以在state系統(tǒng)應(yīng)用中,用戶配置管理模塊。

(2),grains可以在target中使用,用來(lái)匹配minion,比如os,用-G。

(3),grains可以用于信息查詢,grains保存著收集到的客戶端的信息。

那么我們就可以得到一個(gè)大致的判斷,如果你想定義的屬性值是經(jīng)常變化的,那請(qǐng)采用pillar,如果是很固定、不易變的那請(qǐng)用grains。

3、grains優(yōu)先級(jí)

grains可以保持在minion端、通過(guò)master端下發(fā)等多個(gè)方式來(lái)分發(fā)。但不同的方法有不同的優(yōu)先級(jí)的(由低到高):

(1). /etc/salt/grains

(2) /etc/salt/minion

(3)./srv/salt/_grains/? master端_grains目錄下

優(yōu)先級(jí)順序依次為存在在minion端/etc/salt/minion配置文件中的同名grains會(huì)覆蓋/etc/salt/grains文件中的值,而通過(guò)master端_grains目錄下grains文件下發(fā)的值可以會(huì)覆蓋minion端的所有同名值。比較拗口,總之記得,通過(guò)master下發(fā)的grains優(yōu)先級(jí)是最高的可,/etc/salt/minion次之,/etc/salt/grains最低(core grains不大懂,就不討論了,這個(gè)比/etc/salt/grains還低)。

4、grains的下發(fā)

grains的下發(fā)大致可以分為兩個(gè)思路:

(1)自定義的(_grains)可以通過(guò)state.highstate、saltutil.sync_grains、saltutil.sync_all 等方法批量下發(fā),切記所有在_grains目錄下的所有自定義grains值都會(huì)下發(fā)到minion,這是血的教訓(xùn)。

(2)固定存放在minion端配置文件中,如grains、minion文件中,可以通過(guò)file manager的方法去批量下發(fā)/etc/salt/grains等配置文件實(shí)現(xiàn)grains的批量下發(fā),當(dāng)然了也通過(guò)別的方式把這個(gè)文件批量下發(fā)下去,都是ok的。

對(duì)比:

(1)通過(guò)state.highstate 下發(fā)的grains好處是無(wú)須重啟minion即可生效,但通過(guò)下發(fā)/etc/salt/grains文件下發(fā)的grains值則必須重啟minion端服務(wù)才可以生效。

(2)自定義的_grains每次在highstate調(diào)用的時(shí)候就會(huì)自動(dòng)下發(fā)、刷新,而/etc/salt/grains文件的則不會(huì)。

Pillar

在大多數(shù)場(chǎng)景中,Pillar的表現(xiàn)行為和Grain一致,但有個(gè)很大的區(qū)別是:Pillar在Master上進(jìn)行定義,存在于一個(gè)集中化的路徑。Pillar數(shù)據(jù)是與特定minion關(guān)聯(lián)的,也就是說(shuō)每一個(gè)minion都只能看到自己的數(shù)據(jù),所以Pillar可以用來(lái)傳遞敏感數(shù)據(jù)(在Salt的設(shè)計(jì)中,Pillar使用獨(dú)立的加密session,也是為了保證敏感數(shù)據(jù)的安全性)。

Pillar可以用在那些地方:

1、敏感數(shù)據(jù)

例如ssh key,加密證書等,由于Pillar使用獨(dú)立的加密session,可以確保這些敏感數(shù)據(jù)不被其他minion看到。

2、變量

可以在Pillar中處理平臺(tái)差異性,比如針對(duì)不同的操作系統(tǒng)設(shè)置軟件包的名字,然后在State中引用。

3、其他任何數(shù)據(jù)

可以在Pillar中添加任何需要用到的數(shù)據(jù)。比如定義用戶和UID的對(duì)應(yīng)關(guān)系,mnion的角色等。

4、用在Targetting中

Pillar可以用來(lái)選擇minion,使用-I選項(xiàng)。

定義Pillar:

master配置文件中定義:

默認(rèn)情況下,master配置文件中的所有數(shù)據(jù)都添加到Pillar中,且對(duì)所有minion可用。如果要禁用這一默認(rèn)值,可以在master配置文件中添加如下數(shù)據(jù),重啟服務(wù)后生效:

pillar_opts: False

使用SLS文件定義Pillar

Pillar使用與State相似的SLS文件。Pillar文件放在master配置文件中pillar_roots定義的目錄下。示例如下:

pillar_roots:

base:

- /srv/pillar

下面這段代碼定義了base環(huán)境下的Pillar文件保存在/srv/pillar/目錄下。與State相似,Pillar也有top file,也使用相同的匹配方式將數(shù)據(jù)應(yīng)用到minion上。示例如下:

# cat /srv/pillar/top.sls:

base:

'*':

- packages

# cat /srv/pillar/packages.sls:

{% if grains['os'] == 'RedHat' %}

apache: httpd

git: git

{% elif grains['os'] == 'Debian' %}

apache: apache2

git: git-core

{% endif %}

base環(huán)境中所有的minion都具有packages中定義的數(shù)據(jù)。Pillar采用與file server相同的文件映射方式,在本例中,packages映射到文件/srv/pillar/packages.sls。注意key與value要用冒號(hào)加空格分隔,沒(méi)有空格的話將解析失敗。

如何知道m(xù)inion擁有那些Pillar數(shù)據(jù)?

在Master上修改pillar文件后,需要用以下命令刷新minion上的數(shù)據(jù):

老司機(jī)獨(dú)愛(ài)Linux自動(dòng)化運(yùn)維神器saltstack,看他60分鐘的真言

使用Pillar獲取自定義數(shù)據(jù):

老司機(jī)獨(dú)愛(ài)Linux自動(dòng)化運(yùn)維神器saltstack,看他60分鐘的真言

State

簡(jiǎn)述:SLS(代表SaLt State文件)是Salt State系統(tǒng)的核心。SLS描述了系統(tǒng)的目標(biāo)狀態(tài),由格式簡(jiǎn)單的數(shù)據(jù)構(gòu)成。這經(jīng)常被稱作配置管理

top.sls是配置管理的入口文件,一切都是從這里開(kāi)始,在master 主機(jī)上,默認(rèn)存放在/srv/salt/目錄.

top.sls 默認(rèn)從 base 標(biāo)簽開(kāi)始解析執(zhí)行,下一級(jí)是操作的目標(biāo),可以通過(guò)正則,grain模塊,或分組名,來(lái)進(jìn)行匹配,再下一級(jí)是要執(zhí)行的state文件,不包換擴(kuò)展名。

創(chuàng)建/srv/salt/top.sls

老司機(jī)獨(dú)愛(ài)Linux自動(dòng)化運(yùn)維神器saltstack,看他60分鐘的真言

state實(shí)戰(zhàn)

老司機(jī)獨(dú)愛(ài)Linux自動(dòng)化運(yùn)維神器saltstack,看他60分鐘的真言
老司機(jī)獨(dú)愛(ài)Linux自動(dòng)化運(yùn)維神器saltstack,看他60分鐘的真言
老司機(jī)獨(dú)愛(ài)Linux自動(dòng)化運(yùn)維神器saltstack,看他60分鐘的真言

————廣告時(shí)間————

《馬哥Linux云計(jì)算及架構(gòu)師》課程,由知名Linux布道師馬哥創(chuàng)立,經(jīng)歷了8年的發(fā)展,聯(lián)合阿里巴巴、唯品會(huì)、大眾點(diǎn)評(píng)、騰訊、陸金所等大型互聯(lián)網(wǎng)一線公司的馬哥課程團(tuán)隊(duì)的工程師進(jìn)行深度定制開(kāi)發(fā),課程采用 Centos7.2系統(tǒng)教學(xué),加入了大量實(shí)戰(zhàn)案例,授課案例均來(lái)自于一線的技術(shù)案例。

開(kāi)課時(shí)間:11月06號(hào)

相關(guān)新聞

歷經(jīng)多年發(fā)展,已成為國(guó)內(nèi)好評(píng)如潮的Linux云計(jì)算運(yùn)維、SRE、Devops、網(wǎng)絡(luò)安全、云原生、Go、Python開(kāi)發(fā)專業(yè)人才培訓(xùn)機(jī)構(gòu)!