金魚哥說Ansible:第一章 介紹Ansible

      網友投稿 856 2025-03-31

      第一章 介紹ansible

      1.1 一切皆自動化

      “運維的未來是,讓研發人員能夠借助工具、自動化和流程,并且讓他們能夠在運維干預極少的情況下部署和運營服務,從而實現自助服務。每個角色都應該努力使工作實現自動化。”——《運維的未來》

      1.2 前言

      公司的服務器越來越多, 維護一些簡單的事情都會變得很繁瑣。用shell腳本來管理少量服務器效率還行, 服務器多了之后, shell腳本無法實現高效率運維。這種情況下,我們需要引入自動化運維工具, 對多臺服務器實現高效運維。

      場景:

      假設我要去1000臺服務上做一個操作(如nginx服務器修改配置文件里的某一個參數), 下面兩種方法缺點明顯:

      傳統的方法, 手工去裝:ssh到每臺服務器上去手動操作。

      缺點:

      效率太低。

      容器出錯。

      寫個shell腳本來做。

      缺點:

      管理的機器平臺不一致,腳本可能不具備通用性。

      傳密碼麻煩(在非免密登錄的環境下, 需要expect來傳密碼)

      效率較低,循環1000次也需要一個一個的完成,如果用&符放到后臺執行,則會產生1000個進程。

      如果出了錯誤,需要自己手工去收集信息然后解決,腳本更新了以后又要重新下載一遍去執行,不方便而且效率低。

      有沒有一種工具,能把任務批量給主機去執行,然后還能收集執行過程中的具體信息?

      1.3 常見的開源自動化運維工具比較

      ansible

      基于python語言,Agentless,中小型應用環境。簡單快捷,被管理端不需要啟服務。直接走ssh協議,需要驗證所以機器多的話速度會較慢。

      puppet

      基于ruby語言,功能強大,成熟穩定,配置復雜、重型,適合于大型架構。

      saltstack

      基于python語言,一般需部署agent,執行效率更高;相對簡單,大并發能力比ansible要好, 需要維護被管理端的服務。如果服務斷開,連接就會出問題。

      Fabric:python,agentless。

      Chef:ruby,國內應用少。

      同類自動化工具GitHub關注程度(2016-07-10)

      金魚哥說Ansible:第一章 介紹Ansible

      ansible集合了眾多運維工具(puppet、cfengine、chef、func、fabric)的優點,實現了批量系統配置、批量程序部署、批量運行命令等功能。

      1.4 自動化運維應用場景

      文件傳輸

      應用部署

      配置管理

      任務流編排

      自動化運維: 將日常IT運維中大量的重復性工作,小到簡單的日常檢查、配置變更和軟件安裝,大到整個變更流程的組織調度,由過去的手工執行轉為自動化操作,從而減少乃至消除運維中的延遲,實現“零延時”的IT運維。

      1.5 Ansible發展史

      ansible 的名稱來自科幻小說《安德的游戲》中跨越時空的即時通信工具,使用它可以在相距數光年的

      距離,遠程實時控制前線的艦隊戰斗。

      2012-03-09,發布0.0.1版,2015-10-17,Red Hat 宣布1.5億美元收購。

      官網: https://www.ansible.com/

      官方文檔: https://docs.ansible.com/

      1.6 Ansible 是什么

      Ansible 簡單的說是一個配置管理系統(configuration management system)。你只需要可以使用 ssh 訪問你的服務器或設備就行。它也不同于其他工具,因為它使用推送的方式,而不是像 puppet 等 那樣使用拉取安裝agent的方式。你可以將代碼部署到任意數量的服務器上!

      1.7 Ansible特性

      模塊化:調用特定的模塊,完成特定任務

      有Paramiko,PyYAML,Jinja2(模板語言)三個關鍵模塊

      支持自定義模塊

      基于Python語言實現

      部署簡單,基于python和SSH(默認已安裝),agentless

      安全,基于OpenSSH

      支持playbook編排任務

      冪等性:一個任務執行1遍和執行n遍效果一樣,不因重復執行帶來意外情況

      無需代理不依賴PKI(無需ssl)

      可使用任何編程語言寫模塊

      YAML格式,編排任務,支持豐富的數據結構

      較強大的多層解決方案

      1.8 Ansible架構

      Ansible主要組成部分功能說明

      PLAYBOOKS: 任務劇本(任務集),編排定義Ansible任務集的配置文件,由Ansible順序依次執行,通常是JSON格式的YML文件。

      INVENTORY: Ansible管理主機的清單/etc/anaible/hosts 。

      MODULES: Ansible執行命令的功能模塊,多數為內置的核心模塊,也可自定義,ansible-doc –l 可查看模塊

      PLUGINS: 模塊功能的補充,如連接類型插件、循環插件、變量插件、過濾插件等,該功能不常用。

      API: 供第三方程序調用的應用程序編程接口。

      ANSIBLE: 組合INVENTORY、 API、 MODULES、PLUGINS的綠框,可以理解為是ansible命令工具,其為核心執行工具。

      1.9 安裝Ansible

      現時最新的版本為 4,但若是紅帽系列使用者,建議使用 2.9的版本。

      實驗過程

      此操作在 RHEL 或 CentOS上執行。

      yum安裝ansible需要配置好 epel源 或 可用的 Ansible Engine倉庫。

      # yum install epel-release 可配置國內EPEL源

      # yum -y install ansible

      # ansible --version ansible 2.9.23 config file = /etc/ansible/ansible.cfg configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules'] ansible python module location = /usr/lib/python2.7/site-packages/ansible executable location = /usr/bin/ansible python version = 2.7.5 (default, Aug 7 2019, 00:51:29) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]

      注意事項

      執行ansible的主機一般稱為主控端,中控,master

      ansible2.9主控端Python版本需要2.7或3.5以上

      ansible2.9被控端Python版本需要2.6或3.5以上

      被控端Python版本小于2.4需要安裝python-simplejson

      被控端如開啟SELinux需要安裝libselinux-python

      windows不能做為主控端

      官網地址:

      https://docs.ansible.com/ansible/2.9/installation_guide/intro_installation.html#installing-ansible-on-rhel-centos-or-fedora

      可查看不同版本的情況和python版本的最低要求,也可查看各平臺上的安裝方法

      身為一名技術人員,要學會如何在官網查看資料以幫助自己了解這門服務的部署與使用。

      Linux 運維

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:Excel圖表基礎之用漏斗圖表示總體的轉化率(漏斗圖總體轉化率怎么計算)
      下一篇:紙張在線污點檢測儀的優勢以及檢測原理的介紹
      相關文章
      爱情岛论坛亚洲品质自拍视频网站 | 亚洲乱亚洲乱淫久久| 亚洲AV中文无码乱人伦| 国产亚洲精品美女久久久久| 亚洲韩国—中文字幕| 亚洲人成网站在线观看播放| 亚洲性无码一区二区三区| 亚洲男人天堂2020| 亚洲成AV人片在线观看无码| 亚洲av成本人无码网站| 亚洲成aⅴ人片在线观| 国外亚洲成AV人片在线观看| 亚洲国产精品网站在线播放 | 亚洲成熟丰满熟妇高潮XXXXX| 亚洲色无码国产精品网站可下载| 亚洲黄色免费在线观看| 中文字幕亚洲一区二区三区| 亚洲av无一区二区三区| 亚洲精品无码av片| 欧洲亚洲综合一区二区三区 | 亚洲成在人天堂在线| 亚洲欧洲日产国产综合网| 久久亚洲AV无码精品色午夜 | 亚洲国产成人精品无码一区二区 | 国产精品国产亚洲精品看不卡| 日韩欧美亚洲中文乱码| 亚洲 国产 图片| 亚洲一卡2卡3卡4卡乱码 在线| 久久久影院亚洲精品| 最新亚洲成av人免费看| 亚洲色婷婷一区二区三区| 亚洲va无码va在线va天堂| 99久久精品国产亚洲| 亚洲春色在线视频| 2022年亚洲午夜一区二区福利 | 中文字幕亚洲乱码熟女一区二区| 久久精品国产精品亚洲下载| 亚洲国产精品成人久久| 亚洲精品免费在线| 亚洲无删减国产精品一区| 亚洲国产成人久久|