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

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

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

提升工作效率!一文詳解 Ansible 自動(dòng)化運(yùn)維

馬哥Linux運(yùn)維 ? 來(lái)源:云原生之路 ? 2023-07-10 11:27 ? 次閱讀

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

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

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

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

核心:ansible

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

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

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

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

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

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

二、Ansible工作原理

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

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

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

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

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

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

三、ansible的七個(gè)命令

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

1、ansible


[root@localhost ~]# ansible -h
Usage: ansible [options]
ansible是指令核心部分,其主要用于執(zhí)行ad-hoc命令,即單條命令。默認(rèn)后面需要跟主機(jī)和選項(xiàng)部分,默認(rèn)不指定模塊時(shí),使用的是command模塊。如:
[root@361way.com ~]# ansible 192.168.0.102 -a 'date'
192.168.0.102 | success | rc=0 >>
Tue May 12 2224 CST 2015
不過(guò)默認(rèn)使用的模塊是可以在ansible.cfg 中進(jìn)行修改的。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ù)有兩個(gè)-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/ 站點(diǎn)下載第三方擴(kuò)展模塊,我們可以形象的理解其類(lèi)似于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
這個(gè)安裝了一個(gè)aeriscloud.docker組件,前面aeriscloud是galaxy上創(chuàng)建該模塊的用戶名,后面對(duì)應(yīng)的是其模塊。在實(shí)際應(yīng)用中也可以指定txt或yml 文件進(jìn)行多個(gè)組件的下載安裝。這部分可以參看官方文檔。

4、ansible-lint

ansible-lint是對(duì)playbook的語(yǔ)法進(jìn)行檢查的一個(gè)工具。用法是ansible-lint playbook.yml 。

5、ansible-playbook

該指令是使用最多的指令,其通過(guò)讀取playbook 文件后,執(zhí)行相應(yīng)的動(dòng)作,這個(gè)后面會(huì)做為一個(gè)重點(diǎn)來(lái)講。

6、ansible-pull

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

7、ansible-vault

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

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





審核編輯:劉清

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

    關(guān)注

    52

    文章

    8065

    瀏覽量

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

    關(guān)注

    0

    文章

    182

    瀏覽量

    16265
  • python
    +關(guān)注

    關(guān)注

    54

    文章

    4759

    瀏覽量

    84296

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    誠(chéng)聘高級(jí)運(yùn)自動(dòng)化工程師

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

    【深圳】誠(chéng)聘運(yùn)開(kāi)發(fā)工程師

    獵頭推薦職位:運(yùn)開(kāi)發(fā)工程師工作職責(zé):1. 負(fù)責(zé)運(yùn)平臺(tái)開(kāi)發(fā)、自動(dòng)化平臺(tái)維護(hù)、研究
    發(fā)表于 07-04 14:34

    學(xué)習(xí)Linux運(yùn)發(fā)展方向

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

    ansible-first-book 自動(dòng)化運(yùn)工具

    ansible-first-book 自動(dòng)化運(yùn)工具
    發(fā)表于 09-08 09:31 ?5次下載

    配電自動(dòng)化實(shí)用運(yùn)指標(biāo)研究

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

    Ansible企業(yè)級(jí)自動(dòng)化運(yùn)探索的詳細(xì)資料說(shuō)明

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

    詳解Ansible自動(dòng)化運(yùn)

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

    城域網(wǎng)自動(dòng)化運(yùn)實(shí)現(xiàn)的關(guān)鍵點(diǎn)、難點(diǎn)和解決方案研究

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

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

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

    自動(dòng)化流水線多機(jī)器的工作效率得到顯著提升

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

    使用Ansible的OpenStack自動(dòng)化

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

    什么是Ansible

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

    廣凌運(yùn)管理平臺(tái):全程線上!工作效率提升80%

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

    網(wǎng)絡(luò)設(shè)備自動(dòng)化運(yùn)工具—ansible入門(mén)筆記介紹

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

    KVM矩陣的智能管理:提升運(yùn)效率與安全性

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