salt stack 運維工具 自動化(二)

2021-09-03 08:39:00 字數 2959 閱讀 3433

基於完成安裝的salt master和minion( ),接下來配置它強大的的管理功能。

需求:分發 從伺服器執行指令,例如:可以指定某客戶端或者所有客戶端執行安裝nginx。

master 與 minion 認證

1.minion 在第一次啟動時,會在/etc/salt/pki/minion/(該路徑在/etc/salt/minion 裡面  設定)下自動生成 minion.pem(private key)和 minion.pub(public key),然後將 minion.pub  傳送給 master。

2.master 在接收到minion的public key後,通過salt-key命令accept minion public key,  這樣在 master 的/etc/salt/pki/master/minions 下的將會存放以 minion id 命名的 public  key, 然後 master 就能對 minion 傳送指令了。

key 管理

salt 在 master 和 minion 資料交換過程中使用 aes 加密, 為了保證傳送給 minion 的指令不  會被篡改,master 和 minion 之間認證採用信任的接受(trusted, accepted )的 key.  在傳送命令到 minion 之前,minion 的 key 需要先被 master 所接受(accepted). 執行  salt-key 可以列出當前 key 的狀態

1. 修改 master 配置, vim /etc/salt/master 去掉前面 #號

2. 告訴master 的salt,配置管理檔案在**,根據你是如何安裝salt,有時需要自動建立 /srv/salt目錄,然後需要建立乙個top.sls 檔案,這個也是入口檔案,可以用於作為其他伺服器的基礎配置檔案。

3. 在/srv/salt/ 目錄下,建立 dev目錄,dev 目錄下建立 nginx(這些目錄和檔名,隨意定義,清晰的表示自己安裝什麼服務即可)

cd /srv/salt

mkdir dev

cd dev

mkdir nginx

4. 在/srv/salt/dev/nginx 目錄下,指定配置檔案內容nginx.sls ( 縮排為2個空格,冒號後面1個空格)

nginx:

pkg:

- installed

service:

- running

- enable: ture

- watch:

- file: /etc/nginx/nginx.conf

- file: /etc/nginx/conf.d/default.conf

- require:

- pkg: nginx

/etc/nginx/nginx.conf:

file.managed:

- source: salt://nginx/nginx.conf

- mode: 664

- user: root

- group: root

/etc/nginx/conf.d/default.conf:

file.managed:

- source: salt://nginx/default.conf

- mode: 664

- user: root

- group: root

解釋說明:

第一行:告訴管理工具,這是乙個id說明,如我這是管理nginx配置的,我就寫nginx

第二行:告訴管理工具,這個軟體需要被安裝,如果沒安裝就會執行yum安裝

第三行:需要安裝的軟體名稱

第四行:告訴管理工具,這是服務管理

第五行:告訴管理工具,這個服務需保證是執行狀態

第六行:告訴管理工具,這個服務設定開機啟動

第七-九行:觀察file檔案改動,有改動就重啟服務

第十二行:檔案標識

第十三行:檔案管理

第十四行:指定資料來源在**,即服務端的源,當這個檔案被改動時,就會觸發包管理工具,更改上面file指定的檔案,可以

看成是同步更新。

第十五行:指定file檔案的許可權

第十六行:指定檔案的所屬使用者

第十七行:指定檔案的所屬組

第十八行-第二十三行,請參考 十二——十七行

5. 然後把master上nginx目錄下的 nginx.conf  和 default.conf 複製到salt 的nginx目錄下(/srv/salt/nginx)

現在進行測試吧:

現在我們在服務端進行推送管理:

然後再客戶端驗證

到這裡就完成master 指定客戶端安裝nginx服務。如果有幾百台機器同時需要安裝,豈不是很方便。

自動化運維工具Saltstack學習筆記(二)

前面學習了saltstack安裝和基本的配置,可以通過saltstack批量執行系統命令,包括系統重啟,檢視系統負載,新增 刪除使用者等等。也可以把線上web,db,bbs等安裝和配置相同或相近的伺服器分為一組,通過saltstack的group功能批量執行管理。下面通過saltstack來實現批量...

運維自動化部署工具 SaltStack介紹

中文官網 salt 是 開發其的目的是為遠端執行提供最好的解決方案,並使遠端執行變得更好,更快,更 簡單 既要考慮大規模部署,又要考慮小規模系統,提供適應多種場合的應用讓人沮喪,但salt非常容易設定和維護,而不用考慮專案的大小。從數量可觀的本地網路系統,到跨資料中心的網際網路部署,salt設計為在...

自動化運維 Saltstack 教程

name version capacity centos 7 3.10.0 693.el7.x86 64 1 smp tue aug 22 21 09 27 utc 2017 x86 64 x86 64 x86 64 gnu linux saltstack 常見自動化運維工具 puppet www....