SaltStack部署
一、基礎介紹
1、簡介
SaltStack是一個服務器基礎架構集中化管理平臺,具備配置管理、遠程執行、監控等功能,一般可以理解為簡化版的puppet和加強版的func。SaltStack基于Python語言實現,結合輕量級消息隊列(ZeroMQ)與Python第三方模塊(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack和PyYAML等)構建。
通過部署SaltStack環境,我們可以在成千上萬臺服務器上做到批量執行命令,根據不同業務特性進行配置集中化管理、分發文件、采集服務器數據、操作系統基礎及軟件包管理等,SaltStack是運維人員提高工作效率、規范業務配置與操作的利器。
2、特性
(1)、部署簡單、方便;
(2)、支持大部分UNIX/Linux及Windows環境;
(3)、主從集中化管理;
(4)、配置簡單、功能強大、擴展性強;
(5)、主控端(master)和被控端(minion)基于證書認證,安全可靠;
(6)、支持API及自定義模塊,可通過Python輕松擴展。
3、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發送指令了。
4、Master與Minion的連接
(1)、SaltStack master啟動后默認監聽4505和4506兩個端口。4505(publish_port)為saltstack的消息發布系統,4506(ret_port)為saltstack客戶端與服務端通信的端口。如果使用lsof 查看4505端口,會發現所有的minion在4505端口持續保持在ESTABLISHED狀態。
(2)、minion與master之間的通信模式如下:
?
以上內容轉載自:http://sofar.blog.51cto.com/353572/1596960
二、SaltStack基礎安裝與配置
1. yum安裝
CentOS7 安裝 yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpm -yyum install salt-master -yyum install salt-minion -yCentOS6 安裝 https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el6.noarch.rpm yum install salt-master -yyum install salt-minion -y2. 配置
Master """ 1. 修改配置文件:/etc/salt/masterinterface: 0.0.0.0 # 表示Master的IP 2. 啟動service salt-master start """Slave """ 1. 修改配置文件 /etc/salt/minionmaster: 10.211.55.4 # master的地址或master:- 10.211.55.4- 10.211.55.5random_master: Trueid: c2.salt.com # 客戶端在salt-master中顯示的唯一ID 2. 啟動service salt-minion start """3. 授權
Master """ salt-key -L # 查看已授權和未授權的slave salt-key -a salve_id # 接受指定id的salve salt-key -r salve_id # 拒絕指定id的salve salt-key -d salve_id # 刪除指定id的salve """4. 執行命令
在master服務器上對salve進行遠程操作
基于shell命令
salt 'c2.salt.com' cmd.run 'ifconfig'基于Salt的API
import salt.clientlocal = salt.client.LocalClient() result = local.cmd('c2.salt.com', 'cmd.run', ['ifconfig'])?
參考資料:
1.?http://sofar.blog.51cto.com/353572/1596960
2.?http://www.cnblogs.com/wupeiqi/articles/6415436.html
轉載于:https://www.cnblogs.com/OldJack/p/7242268.html
總結
以上是生活随笔為你收集整理的SaltStack部署的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java基础-----接口
- 下一篇: 分布式 日志搜集