親愛滴伙伴們,今天給大家說說Ansible自動化運維工具的經驗分享,接下來由我為大家一步步嘮嘮。
Ansible介紹
Ansible是一個開源配置管理工具,可以使用它來自動化任務,部署應用程序實現IT基礎架構。Ansible可以用來自動化日常任務,比如,服務器的初始化配置、安全基線配置、更新和打補丁系統,安裝軟件包等。
Ansible架構相對比較簡單,僅需通過SSH連接客戶機執行任務即可。
Ansible的與節點有關的重要術語包括控制節點,受管節點,清單和主機文件:
1)控制節點(Control node):指安裝了Ansible的主機,也叫Ansible服務器端,管理機。Ansible控制節點主要用于發布運行任務,執行控制命令。Ansible的程序都安裝在控制節點上,控制節點需要安裝Python和Ansible所需的各種依賴庫。注意:目前Ansible還不能安裝在Windows下。
2)受控節點(Managed nodes):也叫客戶機,就是想用Ansible執行任務的客戶服務器。
3)清單(Inventory):受控節點的列表,就是所有要管理的主機列表。
4)host文件:清單列表通常保存在一個名為host文件中。在host文件中,可以使用IP地址或者主機名來表示具體的管理主機和認證信息,并可以根據主機的用戶進行分組。缺省文件:/etc/ansible/hosts,可以通過-i指定自定義的host文件。
5)模塊(Modules):模塊是Ansible執行特定任務的代碼塊。比如:添加用戶,上傳文件和對客戶機執行ping操作等。Ansible現在默認自帶450多個模塊,,Ansible Galaxy公共存儲庫則包含大約1600個模塊。
6)任務(Task):是Ansible客戶機上執行的操作。可以使用ad-hoc單行命令執行一個任務。
7)劇本(Playbook):是利用YAML標記語言編寫的可重復執行的任務的列表,playbook實現任務的更便捷的讀寫和貢獻。比如,在Github上有大量的Ansible playbooks共享,你要有一雙善于發現的眼睛你就能找到大量的寶藏。
8)角色(roles):角色是Ansible 1.2版本引入的新特性,用于層次性、結構化地組織playbook。roles能夠根據層次型結構自動裝載變量文件、tasks以及handlers等。
Ansible工作原理
Ansible可以簡化管理員的自動化配置管理和流程控制方式。它利用推送方式對客戶系統配置,這樣所有的工作都可以在主服務器上完成。
運行Ansible的服務器叫做”管理節點”,通過Ansible進行管理的服務器叫做“受控節點”。
Ansible管理工具的優點為:
1)輕量級,更新時只需要在操作機上進行一次更新即可。
2)采用SSH協議。
3)不需要客戶端安裝agent。
4)批量任務執行可以寫成腳本,并且不需要分發到客戶端。
5)使用Python編寫,維護簡單。
6)支持sudo普通用戶命令。
7)去中心化管理。
Ansible的原理拓撲圖為:
可以看到Ansible由五部分組成:
1)Ansible :核心。
2)Modules :包括 Ansible 自帶的核心模塊及自定義模塊。
3)Plugins :完成模塊功能的補充,包括連接插件、郵件插件等。
4)Playbooks :劇本;定義 Ansible 多任務配置文件,由Ansible 自動執行。
5)host Inventory :定義 Ansible 管理主機的清單。
Ansible安裝配置
1. SSH分發
//安裝sshpass
# yum install sshpass -y
//生成密鑰
# ssh-keygen -t dsa -f /root/.ssh/id_dsa -N ""
//分發密鑰
# vim ~/ssh-fenfa.sh
# sh ~/ssh-fenfa.sh
2. 管理機器安裝部署
// 添加repo
# yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
// yum安裝ansilbe
# yum install ansible -y
# rpm -qa ansible
// 檢查ansible版本
# ansible --version
3. 添加主機清單
# vim /etc/ansible/hosts
4. 測試ansible
# ansible db -m ping
Ansible常用模塊
1. shell模塊
了解一個模塊的時候可以使用ansible-doc命令,在其后加上-h或者–help直接獲取幫助信息,比如現在我們查看shell模塊。還有獲取主機名和查詢系統負載等等。
2. 復制模塊
Copy模塊的作用是往客戶機上備份文件,在使用之前可以ansible-doc查看了解該模塊。
其中,src代表需要備份的文件路徑,dest代表要備份到的文件路徑,owner與group分別代表備份文件的屬主與屬組,mode代表權限。完成備份之后我們可以在客戶機上查看是否備份成功。
3. 用戶模塊
顧名思義就是幫助我們管理用戶的模塊,一般可以用來對用戶進行創建、刪除、修改等操作。
創建用戶時我們須要指定用戶名與狀態,這里name表示指定的用戶名,state表示指定用戶的狀態。
刪除用戶同樣我們也需要指定用戶名與狀態。
修改密碼:
4. yum模塊(更新所有包和安裝apache)
Ansible工具參數
Ansible主要參數詳解:
-v,-verbose:打印詳細模式。
-i PATH,-inventory=PATH:指定host文件路徑。
-f NUM,-forks=NUM:指定fork開啟同步進程的個數,默認是5。
-m NAME,-module-namea=NAME:指定module模塊,默認為command模塊。
-a MODULE_ARGS:module模塊的參數或者命令。
-k,-ask-pass:輸入遠程被管理端的密碼。
-sudo:基于sudo執行。
-K,-ask-sudo-pass:提示輸入sudo密碼與sudo一起使用。
-u USERNAME:執行執行用戶。
-C,–check:測試執行過程,不改變真實內容,相當于預演。
-T TIMEOUT:執行命令超時事件,默認為10s。
–version:查看Ansible軟件的版本信息。
文章小結
運維自動化的價值在于,將運維從繁瑣的、例行、容易發生人為事故的工作中脫離出來,做更有價值的業務運維和服務運維。所以,從這個角度來看,運維自動化既不是起點,也不是終點。運維自動化,終歸只是一個高級工具而已。
運維的價值最終是要體現在業務上的:
體現的方式就是運維服務化,所以運維自動化(智能化)最終都要為運維的服務化服務。
如何構建你的自動化系統最終要看你所支撐的業務需要什么樣的服務。所以,在做之前一定要弄清楚我們的目標,然后再去實現。
本次分享到此結束,謝謝!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129562.html
摘要:今天小數給大家帶來的是數人云工程師金燁的分享,有關于自動快速部署服務相關組件的一些實踐。當與相遇,雙劍合璧,一切變得如此簡單有趣。通過將服務注冊到來做健康檢查。 今天小數給大家帶來的是數人云工程師金燁的分享,有關于自動快速部署DCOS服務相關組件的一些實踐。當Ansible與Docker相遇,雙劍合璧,一切變得如此簡單有趣。 本次分享將包括以下內容: 云平臺部署使用的服務、組件 Do...
摘要:行業內各巨頭的自動化運維架構都各種功能各種酷炫,如下圖,讓人可望不可及。面對這么多問題,我就想啊,如何在低成本情況下實現自動化運維。自動擴縮容通過配置告警規則,調用相應就可以實現實戰以上就是筆者關于自動化運維的一些實踐。 行業內各巨頭的自動化運維架構都各種功能各種酷炫,如下圖,讓人可望不可及。現在最終的樣子大家都知道了,但問題是如何根據自己團隊當前的情況一步步向那個目標演進?筆者所在團隊,三...
摘要:雖然可以使用相同的方式部署應用到云端,使用外部負載均衡器,但動態添加或者減少負載均衡節點依舊是痛點。這對使用外部負載均衡器幫助巨大。 數人云今天帶來的本篇文章將分享Docker在應用程序生命周期每個階段中所扮演的角色,以及遷移到Swarm集群時需要考慮的問題。 利用Docker來開發 Docker讓工作更輕松。如需要一個部署安裝MySQL數據庫,或者安裝Ghost,又或者Redis數據...
摘要:從到到的部署經驗工作中,除了開發功能,還負責系統的部署工作。我從頻繁的部署工作中,逐漸找到了一些偷懶的方法。同時在構建成功后執行我們輸入的命令,來達到自動化部署的工作。缺點也是有的,很難保證對方部署的環境是最新的。 從Docker 到Jenkins 到Ansible的部署經驗 工作中,除了開發功能,還負責系統的部署工作。我從頻繁的部署工作中,逐漸找到了一些偷懶的方法。從傳統的Java ...
摘要:自動化部署最近因為工作需要學習了把這幾天所學的東西做了個總結,和大家分享一下什么是能干什么是新出現的自動化運維工具,基于開發,集合了眾多運維工具的優點,實現了批量系統配置批量程序部署批量運行命令等功能。 ansible自動化部署 最近因為工作需要學習了ansible,把這幾天所學的東西做了個總結,和大家分享一下: 1、什么是ansible?ansible能干什么? ansible是新出...
閱讀 1346·2023-01-11 13:20
閱讀 1684·2023-01-11 13:20
閱讀 1132·2023-01-11 13:20
閱讀 1858·2023-01-11 13:20
閱讀 4100·2023-01-11 13:20
閱讀 2704·2023-01-11 13:20
閱讀 1385·2023-01-11 13:20
閱讀 3597·2023-01-11 13:20