SaltStack自動化運維管理(一)——簡介與部署

1. saltstack簡介

  • saltstack是一個配置管理系統,能夠維護預定義狀態的遠程節點。
  • saltstack是一個分佈式遠程執行系統,用來在遠程節點上執行命令和查詢數據。
  • saltstack是運維人員提高工作效率、規範業務配置與操作的利器。
  • Salt的核心功能
    • 使命令發送到遠程系統是並行的而不是串行的
    • 使用安全加密的協議
    • 使用最小最快的網絡載荷(因爲是使用消息隊列通信)
    • 提供簡單的編程接口
  • Salt同樣引入了更加細緻化的領域控制系統來遠程執行,使得系統成爲目標不止可以通過主機名,還可以通過系統屬性。

saltstack通信機制

SaltStack 採用 C/S模式,minion與master之間通過ZeroMQ消息隊列通信,默認監聽4505端口。

在這裏插入圖片描述

Salt Master運行的第二個網絡服務就是ZeroMQ REP系統,默認監聽4506端口。

在這裏插入圖片描述

2. saltstack安裝與配置

官網:https://www.saltstack.com/

官方文檔:https://docs.saltstack.com/en/latest/

這裏暫時先準備三臺虛擬機來做此次實驗(server1,server2,server3),配置虛擬機可以上網(配置方法點擊這裏)。

2.1 設置官方YUM倉庫

在server1,server2,server3上:

cd /etc/yum.repos.d/
yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest.el7.noarch.rpm
yum clean all
yum repolist
yum list salt-master

在server1上安裝salt-master

yum install -y salt-master

在server2和server3上安裝salt-minion

yum install -y salt-minion

2.2 master端設置

在server1:

systemctl enable salt-master	#設置master自啓動
systemctl start salt-master		#啓動master服務
netstat -antlp					#查看端口

在這裏插入圖片描述

ps ax
yum install -y python-setproctitle.x86_64
systemctl restart salt-master
ps ax

在這裏插入圖片描述

在這裏插入圖片描述

2.3 minion端配置

在server2和server3:

vim /etc/salt/minion
master: 172.25.1.1				#設置master主機的ip
systemctl enable salt-minion
systemctl start salt-minion
netstat -antlp					#查看端口

在這裏插入圖片描述
在這裏插入圖片描述

2.4 master端執行命令允許minion連接

salt-key -L
salt-key -A
salt-key -L

在這裏插入圖片描述

yum install -y lsof
lsof -i :4505

在這裏插入圖片描述

salt '*' test.ping
salt server2 test.ping
salt server3 test.ping
salt -E 'server[1-4]' test.ping
salt -E 'server[1-4]' cmd.run hostname
salt -E 'server[1-4]' cmd.run df
salt -E 'server[1-4]' cmd.run 'df -h'

在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述

注意:如果在master端找不到minion端,可能的原因有兩個:

  • 防火牆有問題,可以將防火牆關閉
  • minion主機名修改後,master端無法及時知曉,可以將minion端/etc/salt/路徑下的
    minion_id文件刪掉,再重啓minion端即可

到此,一個簡單的SaltStack自動化運維管理系統就部署好了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章