Ansible 架構及特點 第一章主要講的是 Ansible 架構及特點,主要包含以下內容: Ansible 軟件 Ansible 架構模式 Ansible 特性 Ansible 軟件 Ansible 的編排引擎可以完成配置管理、流程控制、資源部署等工作。 Ansible 基于 Python語言實現,由 Paramiko 和 PyYAML 兩個關鍵模塊構建。 Ansible 應用領域 配置管理 服務即時開通 應用部署 流程編排 監控告警 日志記錄 Ansible 架構模式 Ansible 維護模式通常由控制機和被管機組成??刂茩C是用來安裝 Ansible 工具軟件、執行維護指令的服務器或工作站,是 Ansible 維護的核心。被管機是運行業務服務的服務器,由控制機通過SSH來進行管理。 Ansible 管理方式 Ansible 是一個模型驅動的配置管理器,支持多節點發布、遠程任務執行。默認使用SSH進行遠程連接。無需再被管節點上安裝附加軟件,可使用各種編程語言進行擴展。 Ansible 管理系統由控制主機和一組被管節點組成??刂浦鳈C直接通過SSH控制被管節點,被管節點通過 Ansible 的資源清單來進行分組管理。 Ansible 用劇本方式對3臺運行 Nginx 服務的 Ubuntu 服務器進行配置管理 編寫 webservers.yml 的 Ansible 腳本,即 playbook ,其中包含被管節點的 hosts 和對這些 hosts 按照順序執行的任務列表(task)。 hosts 包括web1、web2、web3。 任務列表包括如下過程: 安裝 Nginx(Install Nginx) 創建 Nginx 配置文件(/etc/nginx/nginx.conf) 基于安全證書SSH方式拷貝配置文件,重啟 Nginx 服務 確保 Nginx 服務處于啟動狀態 在 Ansible 系統的控制主機上執行ansible-playbook webservers.yml,Ansible 將會通過 SSH 連接并行地在web1、web2、web3上面安裝、配置、運行 Nginx 服務。 Ansible 系統架構 核心引擎:即 Ansible。 核心模塊(core modules):Ansible 模塊資源分發到遠程節點使其執行特定任務或匹配一個特定的狀態。 自定義模塊(custom modules) 插件(plugins):模塊功能的補充,借助插件完成記錄日志、郵件等功能。 劇本(playbook):定義 Ansible 任務的配置文件,可將多個任務定義在一個劇本中,由 Ansible 自動執行,可由控制主機運行多個任務,同時對多臺遠程主機進行管理。 連接插件(connectior plugins):Ansible 基于連接插件連接到各個主機,負責和被管節點實現通信。因為支持除SSH連接方法外的其他連接方法,所以需要連接插件。 主機清單(host inventory):定義 Ansible 管理的主機策略。 Ansible 采用 paramiko 協議庫,通過 SSH 或 ZeroMQ 等連接主機。Ansible 在控制主機將 Ansible 模塊通過 SSH協議推送到被管節點執行,執行完自動刪除??刂浦鳈C與被管節點之間支持 local、SSH、ZeroMQ 三種連接方式,默認使用基于 SSH 連接,在大規模情況下,使用 ZeroMQ 連接方式執行速度更快。 任務執行模式 Ansible 系統由控制主機對被管節點的操作方式可分為兩類,即 ad-hoc 和 playbook。 ad-hoc 模式使用單個模塊,支持批量執行單條命令。 playbook 模式是 Ansible 主要管理方式,playbook 通過多個 task 集合完成一類功能。(可以把 playbook 理解為通過組合多條ad-hoc 操作的配置文件) Ansible 特性 Ansible 是基于一致性、安全性、高可靠性設計的輕量級自動化工具,具有功能強大、部署便捷、描述清晰等特性,很好地解決了統一配置、統一部署、流程編排等復雜的 IT 自動化管理問題。 Ansible 功能特性 語法簡單、易讀 不需要再被管節點安裝客戶端軟件 基于推送(Push)方式 方便管理小規模場景 大量內置模塊 非常輕量級的抽象層 Ansible 與其他配置管理的對比 項目 Puppet SaltStack Ansible 開發語言 Ruby Python Python 是否有客戶端 有 有 無 是否支持二次開發 不支持 支持 支持 服務器與遠程機器通信協議 標準 SSL 協議 使用AES加密 使用 OpenSSH 配置文件格式 Ruby語法格式 YAML YAML 與其他自動化工具比較,Ansible 不需要安裝客戶端就可以輕松地管理、配置。 總結 Ansible 的關鍵想法是計算機是一組,而不是一個個分開的機器,即“多層編排”的思想。避免了證書交換,以及反向解析 DNS 和 NTP 的問題。YAML的配置文件格式,簡單易用。
轉載自://www.cnblogs.com/wupeixuan/p/11485367.html
国产无遮挡无码视频在线观看