1咐容,ansible的介紹
ssh密鑰認(rèn)證+腳本批量管理,特點(diǎn)是:簡(jiǎn)單蚂维,實(shí)用戳粒。但是看起來比較low路狮,需要人工寫腳本,類似實(shí)時(shí)復(fù)制的inotify工具蔚约。
MySQL高可用奄妨,MHA集群,要求所有機(jī)器互相秘鑰認(rèn)證苹祟。大數(shù)據(jù)集群也需要砸抛。
2,批量管理工具歷史
SSH+腳本:08年以前
CFEngine:07-08年
Puppet:10-13年
saltstack:14-17年(python開發(fā))
ansible:16年開始(python開發(fā))
3苔咪,為什么用ansible(作用)锰悼?
ansible:簡(jiǎn)單、方便团赏、容易學(xué)習(xí)箕般、功能和其他工具相比同樣強(qiáng)大。ansible有配置文件舔清,可以多線程直接實(shí)現(xiàn)丝里。不需要寫腳本,類似實(shí)時(shí)復(fù)制的sersync体谒。
4杯聚,什么是ansible(定義)?
ansible是一個(gè)用來批量部署遠(yuǎn)程主機(jī)上服務(wù)的工具抒痒。這里“遠(yuǎn)程主機(jī)(Remote Host)”是指任何可以通過SSH登錄的主機(jī)幌绍,所以它既可以是遠(yuǎn)程虛擬機(jī)或物理機(jī),也可以是本地主機(jī)故响。簡(jiǎn)要總結(jié)就是:ansible是一個(gè)用來遠(yuǎn)程管理服務(wù)器的工具軟件傀广。
ansible通過SSH協(xié)議實(shí)現(xiàn)管理節(jié)點(diǎn)與遠(yuǎn)程節(jié)點(diǎn)之間的通信。理論上來說彩届,只要能通過SSH登錄到遠(yuǎn)程主機(jī)來完成的操作伪冰,都可以通過ansible實(shí)現(xiàn)批量自動(dòng)化操作。
涉及管理操作:復(fù)制文件樟蠕、安裝服務(wù)贮聂、服務(wù)啟動(dòng)停止管理、配置管理等寨辩。
5吓懈,為什么要用批量管理工具運(yùn)維?
提高效率靡狞,比如百度和阿里云服務(wù)器很多幾萬臺(tái)或者幾十萬臺(tái)耻警。使用ansible簡(jiǎn)單好管理。
6,ansible的特點(diǎn)
ansible基于python語言實(shí)現(xiàn)榕栏,由Paramiko和PyYAML兩個(gè)關(guān)鍵模塊構(gòu)建。
1)安裝部署過程特別簡(jiǎn)單蕾各,學(xué)習(xí)曲線很平坦扒磁。
2)不需要單獨(dú)安裝客戶端,知識(shí)利用現(xiàn)有的SSHD服務(wù)(協(xié)議)即可式曲。
3)不需要服務(wù)端(no servers)妨托。
4)ansible playbook,采用yaml配置吝羞,提前編排自動(dòng)化任務(wù)兰伤。
5)ansible功能模塊較多,對(duì)于自動(dòng)化的場(chǎng)景支持豐富钧排。
7敦腔,ansible架構(gòu)介紹( ansible是模塊化的 它所有的操作都依賴于模塊)
1)連接插件connectior plugins用于連接主機(jī) 用來連接被管理端
2)核心模塊 core modules 連接主機(jī)實(shí)現(xiàn)操作, 它依賴于具體的模塊來做具體的事情
3)自定義模塊 custom modules恨溜,根據(jù)自己的需求編寫具體的模塊
4)插件 plugins符衔,完成模塊功能的補(bǔ)充
5)劇本 playbooks,ansible的配置文件,將多個(gè)任務(wù)定義在劇本中糟袁,由ansible自動(dòng)執(zhí)行
6)主機(jī)清單 inventor判族,定義ansible需要操作主機(jī)的范圍
8,ansible實(shí)踐
三臺(tái)虛擬機(jī)项戴,使用m01-61管理nfs01-31和backup-41形帮。image.png
9,安裝ansible
m01管理機(jī):如果安裝不了需要先安裝epel源:yum install epel-release -y周叮,然后再安裝ansible辩撑。image.png
10,主機(jī)列表配置
image.png
image.png
11则吟,執(zhí)行命令
image.png
1)上面報(bào)錯(cuò)主機(jī)驗(yàn)證失敗
2)這個(gè)命令是基于SSH秘鑰認(rèn)證的前提下槐臀,可以直接執(zhí)行
image.png
image.png
image.png
image.png
3)刪除出公鑰重啟前可以,重啟后不行
12氓仲,修改hosts增加用戶和密碼水慨,不需要免秘鑰認(rèn)證
image.png
image.png
image.png