自動化運維工具之Saltstack
一、簡介
what is Saltstack?
Saltstack是一個具備puppet與func功能為一身的集中化管理平臺,saltstack基於python實現,功能十分強大,適合大規模批量管理服務器,並且它比 Puppet 更容易配置。saltstack具有三種基本功能包括遠程命令執行,配置管理(服務,文件,cron,用戶,組),雲管理。同時,saltstack具有三種運行方式Local、master/minon 、salt ssh。其中master/minion是其最傳統的運行方式采用c/s模式,需要在管理端安裝Master,被管理節點上安裝Minion;而Saltstack salt ssh 運行方式,可以實現無需安Agent,通過SSH進行管理。
Saltstack部署架構
master->minion:master和所有minion連接,minion接收來自master的指令,完成命令執行或配置。如圖:
master->syndic->minion:master通過syndic對minion進行管理,該架構可以進行多級擴展。如圖:
無master的minion:minion不受任何master控制,通過本地運行即可完成相關功能。
Saltstack的兩種主要設計理念是遠程執行和配置管理。在遠程執行系統中,salt用python通過函數調用來完成任務。salt中的配置管理系統可以稱作state,也是基於遠程執行系統之上,通過master的定規可以讓對應的minion達到想要的系統狀態。
其他:
Salt-master啟動默認會有兩個端口:4505和4506
4505:為salt的消息發布專用端口
4506:為客戶端與服務端通信的端口
二、Saltstack的安裝
2.1 yum源安裝
下載epol源進行安裝:
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
安裝master端:
yum install salt-master
啟動master端服務:
/etc/init.d/salt-master start
Agent安裝minion端:
Yum install salt-minion
2.2 Agent簡單配置Saltstack
Agent指定master:
vim /etc/salt/mionion
修改mionion的id號:
註:id號用於唯一區分mionion的標示,可以不做指定,默認為主機名。
啟動minon服務:
2.3 master授權mionion密鑰認證
master查看認證請求:
# salt-key
master授權請求:
# salt-key -a centos-test1
可以批量授權請求:
[root@centos salt]# salt-key -A
再次查看請求,可以看到都以授權成功:
進行測試,可以看到agent端信息:
未完待續...
本文出自 “Hello,World!” 博客,請務必保留此出處http://bovin.blog.51cto.com/7402899/1984115
自動化運維工具之Saltstack