為什麼要用自動化配置管理工具?
由於企業不斷發展,傳統運維已經跟不上步伐,現在都在招運維開發工程師,薪資也高不少,像我們這傳統的運維顯然遇到了瓶頸,薪資也是提不上去,所以要面臨轉型。
時不我待,轉起大腦,向devops邁進,首先熟練使用乙個自動化配置管理工具,憑自己的了解,這樣的工具有puppet、saltstack、ansible、fabric等,種類這麼多,該學習哪個呢?於是在網上找一些招聘資訊,尋找企業用的最多的乙個工具,經了解,puppet用的是最多的,可是學習成本相對較高,而且基於ruby語言開發,比較陌生;saltstack企業用的也不少,功能也強大,是python開發的,還好自身也有一定的python語言基礎,學習起來相對好些。其他的用的比較少,就先不考慮了。開始行動吧!
saltsack是什麼?
由python語言開發,因此安裝配置很簡單,具有很強的可擴充套件性;salt和puppet類似,分為管理端(master)和被管理端(minion),他們之間通過高效能的zaromq通訊,能夠管理上萬台伺服器。
saltsack為我們做些什麼?
系統軟體安裝和初始化、配置檔案管理、定期執行任務、批量部署應用、遠端執行命令等等,足夠系統自動化運維了吧!
開始安裝部署,嘗試使用下,我這裡使用的是ubuntu系統,安裝方式與redhat系統不同,但操作命令都是一樣的。
centos6安裝方式:
# rpm -uvh
# yum update
# yum install salt-master
# yum install salt-minion
1、安裝管理端(salt-master)1
2
3
4
5
6
# sudo apt-get install python-software-properties
# sudo apt-get install software-properties-common
# echo deb `lsb_release -sc` main | sudotee /etc/apt/sources.list.d/saltstack.list #新增salt網路源
# wget -q -o-""| sudo apt-key add - #新增秘鑰
# sudo apt-get update
# apt-get install salt-master
2、安裝被管理端(salt-minion)1
2
3
4
5
6
# sudo apt-get install python-software-properties
# sudo apt-get install software-properties-common
# echo deb `lsb_release -sc` main | sudotee /etc/apt/sources.list.d/saltstack.list
# wget -q -o- ""| sudo apt-key add –
# sudo apt-get update
# apt-get install salt-minion
3、配置被管理端(管理端不用配置)1
2
3
4
# vi /etc/salt/minion
master:192.168.1.10
#指定master位址
id
:host1
#唯一標識id,用於在master顯示
# /etc/init.d/salt-minion restart #重啟minion生效
#管理端重啟:/etc/init.d/salt-master restart
minion重啟後,minion會嘗試去master進行認證,minion第一次啟動會在/etc/salt/pki/minion目錄下生成minion.pem(私鑰)和minion.pub(公鑰),然後將minion.pub發給master,master通過salt-key -a命令接收公鑰,並儲存在/etc/salt/pki/master/minions目錄
4、新增minion與master認證(以下基本都在master操作了)
#先在master檢視所有認證主機
1
2
3
4
5
# salt-key -l
accepted keys:
host1
#此時顏色是紅色的,說明通訊沒問題
unaccepted keys:
rejected keys:
#這時我們接收所有的認證請求
1
2
3
4
5
6
# salt-key –a
# salt-key -l
accepted keys:
host1
#此時顏色變綠,認證成功
unaccepted keys:
rejected keys:
5、測試是否執行正常
#執行乙個內建test.ping命令,以下說明正常
#命令格式: 命令 物件 執行模組 引數
# salt '*' test.ping
host1:
true
#也可以執行bash命令
# salt '*' cmd.run 'df -h'
Python Matplotlib安裝及簡單使用
在使用numpy進行學習統計計算時是枯燥的,大量的資料令我們很頭疼,所以我們需要把它圖形化顯示。matplotlib是乙個python的圖形框架,類似於matlab和r語言。選擇對應的版本即可安裝,我選擇的版本為matplotlib 1.3.1.win32 py2.7.exe。由於我之前已經安裝過n...
Python Matplotlib安裝及簡單使用
在使用numpy進行學習統計計算時是枯燥的,大量的資料令我們很頭疼,所以我們需要把它圖形化顯示。matplotlib是乙個python的圖形框架,類似於matlab和r語言。選擇對應的版本即可安裝,我選擇的版本為matplotlib 1.3.1.win32 py2.7.exe。由於我之前已經安裝過n...
Python Matplotlib安裝及簡單使用
在使用numpy進行學習統計計算時是枯燥的,大量的資料令我們很頭疼,所以我們需要把它圖形化顯示。matplotlib是乙個python的圖形框架,類似於matlab和r語言。選擇對應的版本即可安裝,我選擇的版本為matplotlib 1.3.1.win32 py2.7.exe。由於我之前已經安裝過n...