SaltStack簡介及安裝配置

SaltStack簡介及安裝配置

 

SaltStack是一款開源的,基於Python的自動化運維工具,通過SaltStack,我們可以在成千上萬臺服務器上批量執行命令、分發文件、配置管理、部署代碼、採集數據、安裝軟件等等,它具有以下特性:
(1)、部署簡單、方便;
(2)、支持大部分UNIX/Linux及Windows環境;
(3)、主從集中化管理;
(4)、配置簡單、功能強大、擴展性強;
(5)、主控端(master)和被控端(minion)基於證書認證,安全可靠;
(6)、支持API及自定義模塊,可通過Python輕鬆擴展。
另外,它結合輕量級消息隊列(ZeroMQ)與Python第三方模塊(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack和PyYAML等)構建,使得在大規模集羣上也得獲得好的性能。

 

 

saltstack

 

SaltStack簡單安裝測試

準備三臺機器:
192.168.64.130 Master
192.168.64.131 Minion
192.168.64.132 Minion

salt-master安裝


 

yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpm

yum clean expire-cache

yum install salt-master -y

 

 

salt-master配置

vi /etc/salt/master

          interface: 0.0.0.0

          publish_port: 4505

         worker_threads: 5

          ret_port: 4506

salt-minion安裝


 

yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpm

yum clean expire-cache

yum install salt-minion –y

salt-minion配置

vi /etc/salt/minion

master: 192.168.64.130
id: 192.168.64.131 #覆蓋默認的id;每個minion的id都是唯一的。minion啓動後會用id值去master進行驗證。這裏使用minion的ip地址作爲id

啓動

啓動Master
service salt-master start
啓動minion
service salt-minion start

Master和Minion建立信任關係

master和minion安裝配置完成後,如果master要管理minion,就要接收minion的key。任意minion的在master沒有接受前,minion的公鑰存放在/etc/salt/pki/master/minions_pre目錄下,公鑰文件以id命名。

在Master上查看minion列表:
salt-key -L

Accepted Keys:
Denied Keys:
Unaccepted Keys:
192.168.64.131
192.168.64.132
Rejected Keys:

Unaccepted Keys:
192.168.64.131
192.168.64.132
表示兩臺minion還未被接受。

 

接收單個minion
salt-key -a 192.168.64.131

[root@node0 ~]# salt-key -a 192.168.64.131
The following keys are going to be accepted:
Unaccepted Keys:
192.168.64.131
Proceed? [n/Y] Y
Key for minion 192.168.64.131 accepted.
[root@node0 ~]# salt-key -L
Accepted Keys:
192.168.64.131
Denied Keys:
Unaccepted Keys:
192.168.64.132
Rejected Keys:

接收所有的minion
salt-key -A

[root@node0 ~]# salt-key -L
Accepted Keys:
192.168.64.131
192.168.64.132
Denied Keys:
Unaccepted Keys:
Rejected Keys:

測試遠程執行命令


 

salt '*' cmd.run 'hostname'

salt '*' cmd.run 'python -V'

saltstack

saltstack

當命令在所有minion上執行成功時候,在打印每個minion id及對應的執行結果時,minion id爲藍色,執行返回碼爲0.

 

salt '*' cmd.run 'aa'

salt '*' cmd.run 'su - lxw1'

saltstack

 

當所有minion或者部分minion執行失敗時候,執行返回碼都不爲0,並且失敗的minion id爲紅色。
後面將繼續學習SaltStack的其他功能,比如分發文件,定時/週期執行,返回數據自定義存儲等。

發佈了73 篇原創文章 · 獲贊 10 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章