亚洲国产日韩人妖另类,久久只有这里有精品热久久,依依成人精品视频在线观看,免费国产午夜视频在线

      
      

        5分鐘熟悉Ansible集群運(yùn)維工具

        5分鐘熟悉Ansible集群運(yùn)維工具

        【寫在最前】我們在平時(shí)的編程學(xué)習(xí)中,或多或少,或早或晚,都要接觸到linux服務(wù)器;當(dāng)你工作中接觸的服務(wù)器比較多(或者你致力于成為一名合格的linux集群運(yùn)維人員),那么ansible就是你必須要掌握的維護(hù)工具!本文致力于成為(或許已經(jīng)是)全網(wǎng)最簡介的ansible工具教程,讓我們花5分鐘時(shí)間搞懂a(chǎn)nsible運(yùn)維工具,相信聰明的你,看完一定會(huì)有收獲!

        【正文開始】

        為什么要用Ansible?

        假設(shè)你有100臺(tái)服務(wù)器,需要先安裝同樣的業(yè)務(wù)軟件,再進(jìn)行相似的配置文件修改,如果靠人工每臺(tái)挨個(gè)去操作,不僅效率低下,而且極易出錯(cuò)。

        Ansible,就是為Unix/Linux集群運(yùn)維而生!

        什么是Ansible?Ansible是一個(gè)集群運(yùn)維管理工具,這是一款入門非常簡單但是功能卻極其強(qiáng)大的軟件,僅靠SSH就能正常運(yùn)行各種定制化任務(wù)。

        跟普通的bash腳本相比,Ansilble有一個(gè)非常重要的特點(diǎn),就是能保證任務(wù)操作的“冪等性”(可以重復(fù)執(zhí)行任務(wù),并且執(zhí)行結(jié)果保持不變)

        # 準(zhǔn)備工作(制作SSH免密登錄環(huán)境)

        假設(shè): 想通過192.168.1.2登錄 1.3,那么在1.2上執(zhí)行如下兩條命令:ssh-keygen ssh-copy-id xxx@192.168.1.3注1:第1條命令一路回車即可在本地生成密鑰對(在本地/home/xxx/.ssh/下生成兩個(gè)文件:id_isa.pub 和 id_rsa)注2:第2條命令是將本地公鑰發(fā)送到1.3上(需要輸入2遍xxx用戶的密碼)

        # 安裝 ansible

        sudo yum -y install ansible

        注:安裝后會(huì)自動(dòng)生成 /etc/ansible 目錄(內(nèi)含 ansible.cfg配置文件)

        # 配置(管理)服務(wù)器節(jié)點(diǎn)ansible.cfg中第一行配置內(nèi)容為:#inventory = /etc/ansible/hosts這個(gè) inventory 表示是服務(wù)器節(jié)點(diǎn)配置文件地址(默認(rèn)為/etc/ansible/hosts)

        當(dāng)然,你也可以在具體的ansible命令中通過 -i 參數(shù)顯式指定其他配置文件

        hosts配置文件內(nèi)容舉例:

        [group1]192.168.1.3

        192.168.1.4

        192.168.1.5

        注:這里的group1表示服務(wù)器群組的名字,你可以隨便定義

        # ansible基本用法:

        需求舉例:在遠(yuǎn)端N臺(tái)服務(wù)器上同時(shí)安裝nginx軟件實(shí)現(xiàn)命令:

        ansible -i /etc/ansible/hosts group1 -b –become-user=root -m shell -a ‘yum -y install nginx’

        參數(shù)釋義:-i: 指定host服務(wù)器配置清單文件的路徑(默認(rèn)是在/etc/ansible/hosts,可選項(xiàng))-b: become“成為”,即切換成root用戶去執(zhí)行命令-m: 指定module模塊名稱,比如 ping ,copy 等-a: 用于將參數(shù)傳遞給定義的模塊m

        另一個(gè)例子:

        ansible group1 -m ping

        可借助ping模塊實(shí)現(xiàn)group1群組所有服務(wù)器的網(wǎng)路連通性檢測。

        # ansible進(jìn)階用法:

        1)保持操作冪等

        聯(lián)想上面的基本語法:

        ansible group1 -m shell -a ‘yum -y install nginx’

        這種風(fēng)格有一個(gè)缺點(diǎn):不能保證操作冪等性。

        我們來改進(jìn)一下:

        ansible group1 -m yum -a ‘name=nginx state=installed’

        執(zhí)行結(jié)果為:

        127.0.0.1 | success >> {“changed”: false}

        我們看到結(jié)果中有: changed:false 表示遠(yuǎn)端服務(wù)器已經(jīng)安裝過nginx了,不會(huì)再重復(fù)安裝

        2)使用 playbook劇本、task任務(wù)、handler處理程序

        playbook劇本可以支持運(yùn)行多個(gè)task任務(wù),并提供一些更高級(jí)的功能。

        handlers處理程序與task任務(wù)基本相同,但只有當(dāng)另一個(gè)任務(wù)調(diào)用它時(shí)才會(huì)運(yùn)行(例如在服務(wù)安裝成功后,再啟動(dòng)該服務(wù))

        在ansible中,劇本相關(guān)的配置都使用Yaml文件定義(必須使用空格縮進(jìn),不允許使用tab鍵縮進(jìn),故建議將你的IDE工具的tab按鍵輸出替換成4個(gè)空格)。 我們繼續(xù)以安裝nginx并啟動(dòng)nginx為例進(jìn)行講解: 定義劇本:

        nginx.yml 內(nèi)容如下:

        – hosts: group1become: yesbecome_user: roottasks:- name: “安裝nginx”yum:pkg: nginxstate: installedwhen: successnotify:- Start Nginx handlers:- name: Start Nginxservice:name: nginxstate: started

        運(yùn)行劇本:

        $ ansible-playbook nginx.yml

        此時(shí),hosts集群配置文件中的group1群組下的3臺(tái)服務(wù)器上的nginx軟件,就已經(jīng)全部裝好啦。

        【全文完】——————————–十年技術(shù)沉淀,只做原創(chuàng)文章;及時(shí)關(guān)注作者,成就大牛之路!如果您對文章內(nèi)容有不同意見或獨(dú)到見解,歡迎大家在評(píng)論區(qū)留言討論,作者也會(huì)第一時(shí)間進(jìn)行互動(dòng)回復(fù)。

        鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系管理員(admin#wlmqw.com)刪除。
        上一篇 2022年6月20日 09:27
        下一篇 2022年6月20日 09:27

        相關(guān)推薦

        聯(lián)系我們

        聯(lián)系郵箱:admin#wlmqw.com
        工作時(shí)間:周一至周五,10:30-18:30,節(jié)假日休息