0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

提升工作效率!一文詳解 Ansible 自動化運維

馬哥Linux運維 ? 來源:云原生之路 ? 2023-07-10 11:27 ? 次閱讀

Ansible 是一個模型驅(qū)動的配置管理器,支持多節(jié)點發(fā)布、遠程任務(wù)執(zhí)行。默認使用 SSH 進行遠程連接。無需在被管理節(jié)點上安裝附加軟件,可使用各種編程語言進行擴展。

一、Ansible基本架構(gòu)

45bf155c-1ec6-11ee-962d-dac502259ad0.png

上圖為ansible的基本架構(gòu),從上圖可以了解到其由以下部分組成:

核心:ansible

核心模塊(Core Modules):這些都是ansible自帶的模塊

擴展模塊(Custom Modules):如果核心模塊不足以完成某種功能,可以添加擴展模塊

插件(Plugins):完成模塊功能的補充

劇本(Playbooks):ansible的任務(wù)配置文件,將多個任務(wù)定義在劇本中,由ansible自動執(zhí)行

連接插件(Connectior Plugins):ansible基于連接插件連接到各個主機上,雖然ansible是使用ssh連接到各個主機的,但是它還支持其他的連接方法,所以需要有連接插件

主機群(Host Inventory):定義ansible管理的主機

二、Ansible工作原理

45d64db2-1ec6-11ee-962d-dac502259ad0.jpg

45ed011a-1ec6-11ee-962d-dac502259ad0.png

以上是從網(wǎng)上找到的兩張ansible工作原理圖,兩張圖基本都是在架構(gòu)圖的基本上進行的拓展。從上面的圖上可以了解到:

1、管理端支持local 、ssh、zeromq 三種方式連接被管理端,默認使用基于ssh的連接---這部分對應(yīng)基本架構(gòu)圖中的連接模塊;

2、可以按應(yīng)用類型等方式進行Host Inventory(主機群)分類,管理節(jié)點通過各類模塊實現(xiàn)相應(yīng)的操作---單個模塊,單條命令的批量執(zhí)行,我們可以稱之為ad-hoc;

3、管理節(jié)點可以通過playbooks 實現(xiàn)多個task的集合實現(xiàn)一類功能,如web服務(wù)的安裝部署、數(shù)據(jù)庫服務(wù)器的批量備份等。playbooks我們可以簡單的理解為,系統(tǒng)通過組合多條ad-hoc操作的配置文件 。

三、ansible的七個命令

安裝完ansible后,發(fā)現(xiàn)ansible一共為我們提供了七個指令:ansible、ansible-doc、ansible-galaxy、ansible-lint、ansible-playbook、ansible-pull、ansible-vault 。這里我們只查看usage部分,詳細部分可以通過 “指令 -h” 的方式獲取。

1、ansible


[root@localhost ~]# ansible -h
Usage: ansible [options]
ansible是指令核心部分,其主要用于執(zhí)行ad-hoc命令,即單條命令。默認后面需要跟主機和選項部分,默認不指定模塊時,使用的是command模塊。如:
[root@361way.com ~]# ansible 192.168.0.102 -a 'date'
192.168.0.102 | success | rc=0 >>
Tue May 12 2224 CST 2015
不過默認使用的模塊是可以在ansible.cfg 中進行修改的。ansible命令下的參數(shù)部分解釋如下:

460aede2-1ec6-11ee-962d-dac502259ad0.jpg

462d2754-1ec6-11ee-962d-dac502259ad0.jpg

2、ansible-doc


ansible-doc -h


Usage: ansible-doc [options] [module...]

該指令用于查看模塊信息,常用參數(shù)有兩個-l 和 -s ,具體如下:

//列出所有已安裝的模塊


# ansible-doc -l

//查看具體某模塊的用法,這里如查看command模塊


# ansible-doc -s command

3、ansible-galaxy


ansible-galaxy -h


Usage: ansible-galaxy [init|info|install|list|remove] [--help] [options] ...
ansible-galaxy 指令用于方便的從https://galaxy.ansible.com/ 站點下載第三方擴展模塊,我們可以形象的理解其類似于centos下的yum、python下的pip或easy_install 。如下示例:

[root@localhost ~]# ansible-galaxy install aeriscloud.docker
- downloading role 'docker', owned by aeriscloud
- downloading role from https://github.com/AerisCloud/ansible-docker/archive/v1.0.0.tar.gz
- extracting aeriscloud.docker to /etc/ansible/roles/aeriscloud.docker
- aeriscloud.docker was installed successfully
這個安裝了一個aeriscloud.docker組件,前面aeriscloud是galaxy上創(chuàng)建該模塊的用戶名,后面對應(yīng)的是其模塊。在實際應(yīng)用中也可以指定txt或yml 文件進行多個組件的下載安裝。這部分可以參看官方文檔。

4、ansible-lint

ansible-lint是對playbook的語法進行檢查的一個工具。用法是ansible-lint playbook.yml 。

5、ansible-playbook

該指令是使用最多的指令,其通過讀取playbook 文件后,執(zhí)行相應(yīng)的動作,這個后面會做為一個重點來講。

6、ansible-pull

該指令使用需要談到ansible的另一種模式---pull 模式,這和我們平常經(jīng)常用的push模式剛好相反,其適用于以下場景:你有數(shù)量巨大的機器需要配置,即使使用非常高的線程還是要花費很多時間;你要在一個沒有網(wǎng)絡(luò)連接的機器上運行Anisble,比如在啟動之后安裝。這部分也會單獨做一節(jié)來講。

7、ansible-vault

ansible-vault主要應(yīng)用于配置文件中含有敏感信息,又不希望他能被人看到,vault可以幫你加密/解密這個配置文件,屬高級用法。

主要對于playbooks里比如涉及到配置密碼或其他變量時,可以通過該指令加密,這樣我們通過cat看到的會是一個密碼串類的文件,編輯的時候需要輸入事先設(shè)定的密碼才能打開。這種playbook文件在執(zhí)行時,需要加上--ask-vault-pass參數(shù),同樣需要輸入密碼后才能正常執(zhí)行。





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 驅(qū)動器
    +關(guān)注

    關(guān)注

    51

    文章

    7998

    瀏覽量

    145019
  • SSH
    SSH
    +關(guān)注

    關(guān)注

    0

    文章

    178

    瀏覽量

    16226
  • python
    +關(guān)注

    關(guān)注

    53

    文章

    4753

    瀏覽量

    84080

原文標(biāo)題:提升工作效率!一文詳解 Ansible 自動化運維

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    誠聘高級自動化工程師

    獵頭職位:高級自動化工程師【合肥】工作職責(zé): 1、根據(jù)基礎(chǔ)架構(gòu)管理需求,規(guī)劃設(shè)計
    發(fā)表于 12-12 10:37

    【深圳】誠聘開發(fā)工程師

    獵頭推薦職位:開發(fā)工程師工作職責(zé):1. 負責(zé)平臺開發(fā)、自動化平臺維護、研究
    發(fā)表于 07-04 14:34

    學(xué)習(xí)Linux發(fā)展方向

    及丟失等)、對網(wǎng)站的故障進行監(jiān)控、解決網(wǎng)站運行的潛在安全問題、開發(fā)自動化腳本程序提高工作效率、規(guī)劃網(wǎng)站架構(gòu)、程序發(fā)布流程和規(guī)范,制定工作
    發(fā)表于 07-25 17:15

    ansible-first-book 自動化工具

    ansible-first-book 自動化工具
    發(fā)表于 09-08 09:31 ?5次下載

    配電自動化實用指標(biāo)研究

    根據(jù)《配電自動化實用化驗收細則》中對配電自動化考核要求,重點圍繞終端在線率、遙信動作正確率、遙控使用率與遙控成功率四項指標(biāo)進行考核。目前對配電
    發(fā)表于 03-05 14:55 ?0次下載

    Ansible企業(yè)級自動化探索的詳細資料說明

    本文檔的主要內(nèi)容詳細介紹的是Ansible企業(yè)級自動化探索的詳細資料說明主要內(nèi)容包括了:場景自動
    發(fā)表于 06-03 08:00 ?2次下載
    <b class='flag-5'>Ansible</b>企業(yè)級<b class='flag-5'>自動化</b><b class='flag-5'>運</b><b class='flag-5'>維</b>探索的詳細資料說明

    詳解Ansible自動化

    CMDB:CMDB 存儲和管理者企業(yè)IT架構(gòu)中的各項配置信息,是構(gòu)建 ITIL 項目的核心工具,人員可以組合 CMDB 和 Ansible,通過 CMDB 直接下發(fā)指令調(diào)用Ansible
    的頭像 發(fā)表于 05-19 17:06 ?4240次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>詳解</b><b class='flag-5'>Ansible</b>的<b class='flag-5'>自動化</b><b class='flag-5'>運</b><b class='flag-5'>維</b>

    城域網(wǎng)自動化實現(xiàn)的關(guān)鍵點、難點和解決方案研究

      針對城域網(wǎng)自動化水平較低、人工成本高且無法擺脫重復(fù)勞動的現(xiàn)狀,本文探討了當(dāng)前城域網(wǎng)自動化
    發(fā)表于 10-28 09:09 ?2454次閱讀
    城域網(wǎng)<b class='flag-5'>自動化</b><b class='flag-5'>運</b><b class='flag-5'>維</b>實現(xiàn)的關(guān)鍵點、難點和解決方案研究

    城域網(wǎng)是什么,其生命周期和自動化應(yīng)用有哪些特點

    Labs 摘? 要針對城域網(wǎng)自動化水平較低、人工成本高且無法擺脫重復(fù)勞動的現(xiàn)狀,本文探討了當(dāng)前城域網(wǎng)
    的頭像 發(fā)表于 12-25 14:24 ?977次閱讀

    自動化流水線多機器的工作效率得到顯著提升

    自動化流水線是能實現(xiàn)產(chǎn)品生產(chǎn)過程自動化種機器體系,通過采用套能自動進行加工、檢測、裝卸、運輸?shù)臋C器設(shè)備,組成高度連續(xù)的、完全
    發(fā)表于 04-18 16:22 ?796次閱讀

    使用Ansible的OpenStack自動化

    通過將 Ansible Tower 與 OpenStack 集成到 Cyber Range 軟件中,我們能夠構(gòu)建個應(yīng)用程序,為全球客戶提供按需培訓(xùn)和真實場景。將 Ansible REST API 與行動手冊集成,極大地利用了配
    的頭像 發(fā)表于 12-21 14:12 ?1043次閱讀
    使用<b class='flag-5'>Ansible</b>的OpenStack<b class='flag-5'>自動化</b>

    什么是Ansible

    Ansible自動化工具軟件,用來批量配置服務(wù)器或網(wǎng)絡(luò)設(shè)備(目標(biāo)主機)。
    的頭像 發(fā)表于 02-15 14:06 ?789次閱讀

    廣凌管理平臺:全程線上!工作效率提升80%

    傳統(tǒng)方式,各種弊端頻現(xiàn),申報審批流程繁瑣、耗時耗力、響應(yīng)能力差……已滿足不了學(xué)校信息建設(shè)發(fā)展的需求。在此背景下,廣凌管理平臺應(yīng)運而
    的頭像 發(fā)表于 01-30 10:57 ?621次閱讀
    廣凌<b class='flag-5'>運</b><b class='flag-5'>維</b>管理平臺:全程線上<b class='flag-5'>化</b>!<b class='flag-5'>工作效率</b><b class='flag-5'>提升</b>80%

    網(wǎng)絡(luò)設(shè)備自動化工具—ansible入門筆記介紹

    Ansible自動化工具,基于Python開發(fā),集合了眾多運工具 (Puppet、C
    的頭像 發(fā)表于 01-15 13:46 ?1400次閱讀
    網(wǎng)絡(luò)設(shè)備<b class='flag-5'>自動化</b><b class='flag-5'>運</b><b class='flag-5'>維</b>工具—<b class='flag-5'>ansible</b>入門筆記介紹

    KVM矩陣的智能管理:提升效率與安全性

    管理如何助力企業(yè)實現(xiàn)效率與安全性的雙重提升。 、KVM矩陣的智能管理概述 KVM矩陣的智
    的頭像 發(fā)表于 02-18 14:51 ?403次閱讀