1. 程式人生 > >自動化運維工具之Saltstack

自動化運維工具之Saltstack

自動化 運維工具 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