學習saltstack (一)
阿新 • • 發佈:2018-11-15
salt介紹
Salt是一個基礎平臺管理工具 Salt是一個配置管理系統,能夠維護預定義狀態的遠端節點 Salt是一個分散式遠端執行系統,用來在遠端節點上執行命令和查詢資料
salt的核心功能
是命令傳送到遠端系統,而且是並行傳送不是序列的 使用安全加密協議 對網路要求比較低,使用最小最快的網路載荷 提供簡單的程式設計介面(salt使用python開發)
salt的優點
saltstack使用python語言編寫,相當輕量級。 http://www.python.org saltstack通訊層採用ZeroMQ PUB-SUB pattern實現,使得它很快速。http://www.zearmq.org saltstack是開源的,通過python可以自己編寫模組。
salt埠說明
salt-master啟動時會啟動兩個埠 4505:為salt的訊息釋出專用埠 4506:位客戶端與服務端通訊的埠。 ---監控此埠可以監控哪些minion收到的訊息,並回復了結果。
實驗圖解
安裝saltstack
1、安裝指定epel源 baseurl=http://repo.saltstack.com/yum/redhat/6.7/x86_64/ 2、安裝master yum -y install salt-master 3、安裝minion yum -y install salt-minion
配置saltstack
1、修改minion配置檔案 vim /etc/salt/master #master: salt 預設master配置的為salt,需在/etc/hosts中增加對映,也可以修改為master的IP地址或域名 #id: 指定minion的標識, id要是唯一的,預設為主機名 vim /etc/hosts 192.168.4.16 salt master端ip 2、修改master配置檔案 vim /etc/salt/master log_level: debug 除錯過程日誌級別修改為debug級別,生產系統可根據實際情況配置 3、啟動服務 /etc/init.d/salt-master start 先啟動master端 /etc/init.d/salt-minion start
ping salt 測試與master主機是否連通 備註:master端修改配置檔案不用重啟,預設直接生效
服務端master命令
salt-key -a #新增指定id -A #新增全部 -r #拒絕指定id -R #拒絕全部 -d #刪除指定id -D #刪除全部 -y #去除每步操作確認的一步。
-L #列出所有的minion端的key
-l #列出特定minion端發過來的請求
提示:無論是accept還是delete都支援Linux的shell萬用字元。
SaltStack認證
1、minion在第一次啟動時,會在/etc/salt/pki/minion/下自動生成minion.pem(private key)和minion.pub(public key),然後將minion.pub傳送給master。 2、master在第一次啟動時,會在/etc/salt/pki/master下自動生成master.pem。在接收到minion的public key後,
通過salt-key命令accept minion public key,這樣在master的/etc/salt/pki/master/minions下的將會存放以minion id命名的public key,
客戶端會儲存一份master的public key,在/etc/salt/pki/minion_master.pub 3、通過兩個步驟的驗證,master就能對minion傳送指令了。
實驗一:修改主機名
1、minion端: hostname salt-client-01 sed -i 's#HOSTNAME=*#HOSTNAME=salt-client-01#g' /etc/sysconfig/network rm -rf /etc/salt/minion_id /etc/salt/pki/* /etc/init.d/salt-minion restart 2、master端: salt-key -d salt-client01 -y salt-key -L salt-key -A -y salt '*' test.ping 3、如果再master不刪除minion的key,有可能minion程式啟動後,會自動殺死自己。原因是:minion啟動後,會生成自己的key(主機名、IP地址和一些其它資訊聯合生成的), 當向master註冊後,會儲存一個master的key。當主機名修改後自己的key會改變,如果master不刪除之前minion的key,不僅會註冊失敗,minion還會殺死自己的程序; 4、minion的主機名會快取到/etc/salt/minion_id檔案裡面,修改主機名後需要刪除這個檔案;
實驗二: