text: 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 藉由透過 SSH 臨時在節點上安裝和執行模組來管理節點。在執行一個管理任務期間，執行模組的行程使用基於JSON的協定在其標準輸出入介面來與被控制的機器溝通。當 Ansible 不管理節點時，因為沒有執行任何後臺程式或安裝任何軟體。 ，它不會消耗節點上的資源相依套件.Ansible 要求在所有被管理的機器上安裝Python ，包含pip套件管理器、組態管理軟體以及其相依套件。受控網路裝置不需要額外的相依套件，並且是無代理狀態的。控制節點.控制節點 (主控主機) 主要是在管理 (協調) 目標機器的運作。 控制節點僅適用於Linux等作業系統，不支援Windows作業系統。其允許多個控制節點。 Ansible 不需要單一控制機器來進行協調管理，其確保可用簡單的方式來做災難復原。節點是由控制節點透過SSH來管理。設計目標.Ansible 的設計目標包括：模組.模組大多是獨立的，可以用標準指令碼語言 (如 Python、Perl、Ruby、Bash 等) 來撰寫。模組的指導目標之一是冪等性，這意味著即使多次重複操作 (例如從系統錯誤中復原時)，它也會始終將系統置於相同的狀態。儲存庫配置.目標節點的位置是透過 (在 Linux 系統上) 位於 的清單配置列表 (INI或YAML格式) 來指定。 配置檔案列出了 Ansible 可訪問的每個節點的 IP 地址或主機名稱。此外，可以用群組的方式來分配節點。以下是一份範例清單 (INI 格式)：192.168.6.1[webservers]foo.example.combar.example.com此配置檔案指定了三個節點：第一個節點由 IP 地址指定，後兩個節點由主機名稱來指定。此外，後兩個節點被分配給 codice_1 群組。Ansible 還可以使用自定義的"動態清單"指令碼，該指令碼可以從不同的系統中動態取得資料，並支援以群組來分配群組。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 ，並且需要 Python 2.7 或 3.5。託管節點必須具有 Python 2.4 或更高版本。對於使用 Python 2.5 或更早版本的託管節點，還需要codice_2套件包。 從 1.7 版本開始，Ansible 還可以管理Windows 節點。 在這種情況下，將使用 WS-Management 協議支援的本機 PowerShell 遠端處理，而不是 SSH。Ansible 可以部署到裸機主機、虛擬機器和雲環境。AnsibleFest.AnsibleFest 是讓 Ansible 社群使用者、貢獻者等人參加的年度研討會。
metadata.dataset: erhwenkuo/wikipedia-zhtw
metadata.title: Ansible (軟體)
metadata.url: https://zh.wikipedia.org/wiki?curid=8123354