Ansible (軟體)

Ansible是一套軟體工具,其可實現。它是開源的,並且該套件包括軟體供應、組態管理和應用程式部署等功能。

Ansible 最初由 Michael DeHaan 编写,並於 2015 年被Red Hat收購,其旨在自動化設定類 Unix系统和Microsoft Windows 的環境。Ansible 是的,藉由透過SSH或允许PowerShell執行的Windows 遠端管理機制來建立臨時遠端連線。 Ansible 的控制節點在大多数已安裝Python的類 Unix 系统上執行,亦包含安装了WSL的 Windows系統。 部分是透過使用它自己的宣告式語言来定義的。

歷史
"ansible"一詞是由Ursula K. Le Guin在她 1966 年的小說Rocannon 的世界中所創造的,指的是虛構的即時通訊系統。

Ansible 工具是由供應伺服器應用程式Cobbler的作者與用於遠端管理的Fedora 統一網路控制器(Func) 框架其合著者 Michael DeHaan 所開發。

Ansible, Inc. (原 AnsibleWorks, Inc.) 是由 Michael DeHaan、Timothy Gerla 和 Saïd Ziouani 於 2013 年所創立的公司,旨在為 Ansible 提供商業支持和贊助。 紅帽公司 於2015 年 10 月收購了 Ansible。

Ansible 被包含在Red Hat所擁有的 Fedora Linux 發行版中,也可透過 Extra Packages for Enterprise (EPEL) 套件用於Red Hat Enterprise Linux、CentOS、openSUSE、SUSE Linux Enterprise、Debian、Ubuntu、Scientific Linux和Oracle Linux以及其他作業系统。

架構
概述
Ansible 藉由選擇以簡單的 ASCII 文字檔案來儲存的部分 Ansible 存儲庫來幫助管理多台設備。存儲庫是可配置的,而目標機器的存儲庫可以動態取得,也可以從雲端服務中不同檔案格式 (YAML、INI)的來源中取得。

從 2014 年以來,敏感資料可以使用 Ansible Vault 儲存在加密文件中。與其他流行的組態管理軟體 (如Chef 、 Puppet 、 Salt和CFEngine) 相比,Ansible 使用無代理架構,亦即 Ansible 軟體無須在控制節點上正常運行,甚至無須安裝在控制節點上。當 Ansible 不管理節點時,因為沒有執行任何後台程式或安裝任何軟體。

控制節點
控制節點 (主控主機) 主要是在管理 (協調) 目標機器(稱為 "存儲庫" 的節點,見下文)的運作。 其確保可用簡單的方式來做災難復原。然而想要编写非幂等的playbook腳本檔案是可以的。

  • 僅需要最少的學習。 Playbook 使用基於YAML和Jinja 模板的簡單敘述性語言。

模組
模組大多是獨立的,可以用標準腳本语言 (如 Python、Perl、Ruby、Bash 等) 來撰寫。模組的指導目標之一是幂等性,這意味著即使多次重複操作 (例如從系統錯誤中復原時),它也會始终將系統置於相同的狀態。 配置文件列出了 Ansible 可訪問的每個節點的 IP 地址或主機名稱。此外,可以用群組的方式來分配節點。 並支援以群組來分配群組。

Playbook 腳本
Playbook 腳本是內含任務列表的YAML文件,其用於在受控節點上重複 執行。 每個 Playbook 都將一組主機映射 (關聯) 到一組角色。每個角色都由對 Ansible 任務的呼叫來表示。

Ansible 自动化平台
Ansible 自动化平台 (Ansible Automation Platform) 是一个REST API 、 Web 服务和基于 Web 的界面(应用程序),旨在使具有广泛 IT 技能的人更容易使用 Ansible。它是一个由多个组件组成的平台,包括开发人员工具、操作界面以及自动化網路,以实现跨数据中心的大规模自动化任务。 AAP 是 Red Hat, Inc. 支持的商业产品,但衍生了 17 个以上的上游开源项目,包括 AWX 上游项目 (Ansible Tower 衍生自該項目的前身),该项目自 2017 年 9 月开始开源。

还有另一个 Tower 的开源替代品Semaphore ,它是用Go编写的。

平台支援
控制机器必须是 Linux/Unix 主机(例如BSD 、 CentOS 、 Debian 、 macOS 、 Red Hat Enterprise Linux 、 SUSE Linux Enterprise 、 Ubuntu 从 1.7 版本开始,Ansible 还可以管理Windows 节点。

參見
*

  • (IaC)

*

參考文獻
外部連結
*

评论 (0)

  • 还没有评论,来抢沙发吧。