1. 程式人生 > >自動化運維三賤客之 SaltStack 安裝

自動化運維三賤客之 SaltStack 安裝

p地址 vim 目錄 test msg 架構 軟件 int 消息隊列

SaltStack 簡介

SaltStack是一個服務器基礎架構集中化管理平臺,具備配置管理、遠程執行、監控等功能,基於Python語言實現,結合輕量級消息隊列(ZeroMQ)與Python第三方模塊(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack和PyYAML等)構建。

通過部署SaltStack,我們可以在成千萬臺服務器上做到批量執行命令,根據不同業務進行配置集中化管理、分發文件、采集服務器數據、操作系統基礎及軟件包管理等,SaltStack是運維人員提高工作效率、規範業務配置與操作的利器。

主要功能

? Saltstack最主要的兩個功能是:配置管理與遠程執行

? Saltstack不只是一個配置管理工具,還是一個雲計算與數據中心架構編排的利器

? Saltstack已經支持Docker相關模塊

? 在友好地支持各大雲平臺之後,配合Saltstack的Mine實時發現功能可以實現各種雲平臺業務的自動擴展

SaltStack 常用模塊

1.pkg 模塊

pkg 模塊的作用是包管理,包括增刪更新。

2.file 模塊

file 模塊的作用是管理文件的操作,包括同步文件、設置權限和所屬用戶組、刪除文件等操作。

3.cmd 模塊

cmd 模塊的作用是在 minion 上執行命令或腳本。

4.user 模塊

user 模塊的作用是管理系統賬戶的操作。

5.service 模塊

service 模塊的作用是管理系統服務的操作。

6.cron 模塊

cron 模塊的作用是管理 cron 服務操作。

本案環境

角色 主機名 IP地址 組名 系統
master master 192.168.217.137 CentOS 7.3
minion web01 192.168.217.138 webgroup1 CentOS 7.3
minion web02 192.168.217.139 webgroup2 CentOS 7.3

部署 SaltStack 服務

1.在所有主機修改主機名和/etc/hosts實現名稱解析及關閉防火墻(若機器太多,可以通過搭建 DNS,則不用在每臺機器上設置這個) :

hostnamectl set-hostname master  #修改主機名
bash     #立即生效

vim /etc/hosts

192.168.217.137 master
192.168.217.138 web01
192.168.217.139 web02

systemctl stop firewalld.service
setenforce 0

2.在 master 上安裝 SaltStack 服務 :

yum install epel-release -y     #安裝epel源

yum install salt-master -y      #安裝 master salt 服務

3.修改 master 配置文件 :

vim /etc/salt/master

第15行
interface: 192.168.217.137    # master 監控地址
第215行
auto_accept: True    #開啟  主控端會自動認證被控制的認證
第416行
file_roots:                #開啟saltstack文件更目錄位置
  base:
    - /srv/salt            #默認文件夾不存在

第710行
nodegroups:
  group1: ‘web01‘   #指定被控制服務器主機名
  group2: ‘web02‘

第552行
pillar_opts: True    #開啟pillar功能   同步文件

第529行
pillar_roots:        #pillar的主目錄
  base:
    - /srv/pillar    #默認文件夾不存在
mkdir /srv/salt      #創建
mkdir /srv/pillar

4.開啟服務 :

cat /etc/salt/master | grep -v ^$ | grep -v ^#   #查看配置文件修改內容

systemctl start salt-master.service    #開啟服務

netstat -antp | egrep ‘4505|4506‘      #查看 4505 4506 端口是否打開

5.部署被管理端 :

yum install epel-release -y     #安裝 epel 源

yum install salt-minion -y      #安裝 minion salt 服務
vim /etc/salt/minion
第16行
master: 192.168.217.137    #指向 master IP地址
第78行
id: web01     #被控主機名,另一臺是 web02 
systemctl start salt-minion.service     #開啟服務

6.在 master 服務器測試 :

[root@master ~]# salt-key list    # 查看已經認證的客戶端
Accepted Keys:
web01
web02
Denied Keys:
Unaccepted Keys:
Rejected Keys:
[root@master ~]# salt ‘*‘ test.ping   #測試主控端和被控端的通信,* 所有,也可以寫主機名
web01:
    True
web02:
    True

自動化運維三賤客之 SaltStack 安裝