Ansible、Ansible Galaxy 和 Ansible Tower 之間有什麼區別?
已發表: 2022-11-23Ansible 是一種開源配置管理工具和 IT 自動化平台。 它有助於自動化軟件配置、配置管理和應用程序部署。
Ansible 不像其他配置管理應用程序。 這就是它與其他配置管理工具(如 Chef、CFEngine、Salt 和 Puppet)的不同之處。
Ansible Tower 提供了一個基於 Web 的界面來管理 Ansible。 Ansible 用戶需要一個易於使用的直觀界面,以便快速部署和配置監控。
Ansible Tower 是 Ansible 管理層的回應。 每種語言和每個框架都有其獨特的功能和細微差別。 這篇文章將討論 Ansible、Ansible Tower 和 Ansible Tower 之間的區別。
Ansible簡介
Ansible 是一種用於配置管理的開源工具,可自動執行軟件供應和配置管理。 您可以從一台服務器機器控制和配置多台機器。

它與基於推送的系統一起工作,其中配置從主機“推送”到它的所有節點。
配置是使用 YAML 編寫的。 它們很容易理解,也很容易讓服務器管理員創建。 它通過 SSH 工作並使用 OpenSSH 作為傳輸層。
所有 Ansible 配置都可以在一組我們稱為 playbook 的 YAML 文件中找到。 該劇本包含任務或劇本。 要配置節點,任務使用模塊。
劇本是可以編寫配置的地方。 劇本中編寫的所有任務都以相同的順序執行。 它支持同步和異步執行。
您可以在上圖中看到幾台主機。 這些主機用於執行我們創建的所有配置。
Ansible 的優點:
- 它是免費和開源的
- 簡單:設置 Ansible 沒有問題
- 強大:使用 Ansible,您可以同時配置數千台機器
- 靈活:它可以在多種環境中使用。
- Agentless:不依賴代理節點,比如 Jenkins。
- 高效:它不需要任何額外的軟件來運行。
Ansible 的缺點:
- 難以安裝
- 不在 Windows 上運行
- 向後兼容性
Ansible Galaxy 簡介
Ansible Galaxy 允許用戶共享和獲取角色。 Ansible Galaxy 鼓勵在服務器配置中使用可重用的角色。 Ansible Galaxy 在項目中經常使用。

Ansible Galaxy 基本上是 Ansible 角色描述的公共存儲庫。 自述文件包含在所有角色中。 它們提供有關角色使用和變量的信息。
Ansible Galaxy 具有許多不斷發展和壯大的角色。 角色允許您分解更大的劇本並創建結構化結構。 您可以修改自己的角色,然後根據需要使用它們。
Ansible Galaxy 角色結構
- README.md是描述角色的自述文件。 自述文件包含有關角色輸入參數的所有詳細信息和示例 yml。
- tasks – 所有任務都可以由 tasks 中的 Role 登記。 角色的入口點是 Main.yml。 這是執行開始的地方。 該文件可以包含其他文件。
- 處理程序——此類別包括可用於此角色或任何其他角色的處理程序。
- defaults – 角色的默認變量。
- vars – 比 Role 的默認值更重要的變量。
- 文件– 這些文件可以使用 Role 部署。
- templates – 此部分包含可通過 Role 使用的模板。
- meta – 元數據可用於定義元中的角色。 此文件還應包括任何角色依賴項。
- 測試——要執行的 CI 測試。
- library – 在角色中嵌入模塊或插件。 不是由 init 命令創建的。 您還可以在此文件夾中使用 Python 創建自定義模塊,然後在您的任務中使用它。
Ansible Galaxy 是一種允許您創建和管理角色的工具。 你會看到 Ansible 的新版本,並且會有變化。 Ansible 版本 2.2.8 具有收集功能。 Ansible 內容以集合形式分發。 它們用於打包和分發模塊、劇本和插件。
Ansible Galaxy 的優點:
- 集中定位、重用和共享與 Ansible 相關的內容
- 輕鬆下載可重複使用的角色以安裝應用程序
- 提高部署速度
Ansible Galaxy 的缺點
- 它是社區驅動的,因此不能保證在模塊上工作
- 許多 Ansible galaxy 角色的文檔不好
- 大多數 Ansible Galaxy 角色都不是冪等的
Ansible 塔介紹
Ansible Tower 是 Ansible 的 UI。 它是一種基於 Web 的解決方案,可供許多不同類型的 IT 團隊使用。
Ansible Tower 可以比作汽車的儀錶盤。 儀表板會顯示您需要的有關汽車狀況的所有信息:速度、油位、剩餘油量等。Ansible Tower 看起來像儀表板,但 Ansible 是引擎。

Ansible Tower 允許用戶通過圖形用戶界面遠程執行任務。 Ansible 作業可以通過 playbook 執行。 這些劇本可以使用 Ansible CLI 執行。 然而,Ansible Tower 允許通過 GUI 完成劇本管理和執行。

您可以執行預先存在的劇本或創建自己的劇本。 Ansible Tower 還提供集成通知。 這允許在作業完成或失敗時通知特定團隊。 這種類型的交叉溝通對任何組織都至關重要。
它還提供基於角色的訪問控制 (RBAC),允許您驗證誰有權運行作業。 這只允許某些用戶在 Ansible Tower 上執行作業。 這通常需要遵守行業安全法規。
它提供 RBAC,還顯示審計日誌,詳細說明在任何給定時間誰負責什麼工作。 這提供了額外的安全性,如果您單獨使用 Ansible 則很難找到這種安全性。
Ansible Tower 允許在不同的應用程序中遠程執行代碼。 VM 可能處於錯誤狀態並需要重新啟動,而 Ansible Tower 可以輕鬆安全地執行此操作。
遠程安裝軟件可用於快速修復安全漏洞或重置密碼。 Ansible Tower 是您通過 Ansible 部署的所有網絡基礎設施和 VM 的一站式商店。
Ansible Tower 與 Ansible 不同,它不是免費的。 Ansible Tower 有兩個版本:Premium 和 Standard。 哪個版本最好取決於您和您公司的 IT 要求。 標準版適用於大多數 IT 操作。 Premium 專為任務關鍵型 DevOps 而設計。
在您與紅帽聯繫後,紅帽將為您提供準確的定價信息。 對於 100 個節點,標準版每年的費用約為 10,000 美元。 對於相同數量的節點,Premium 每年大約需要 14,000 美元。
Ansible Tower 的優點:
- 佈局簡單
- 幫助您構建用於工作流管理的 CI/CD 管道
- 允許安排工作並通知每個錯誤
- 圖文庫存管理
- 非常容易設置
Ansible Tower 的缺點:
- 昂貴的
- 基於訂閱
- 合併衝突解決不可能/不清楚
- 調試複雜
Ansible vs Ansible Galaxy vs Ansible Tower
Ansible 可以用作 IT 自動化工具。 它可以部署軟件和配置系統。 它還可以協調更複雜的 IT 任務,例如持續部署或零停機時間匯總更新。 Ansible 的主要目標是簡單易用。
另一方面,Ansible Tower 被描述為“適用於 Mac 和 Windows 的最強大的 Git 客戶端”。 您可以在更高效的 GUI 中使用 Git 的所有強大功能。 Ansible Galaxy 可用於存儲 Ansible 角色。 Ansible Galaxy 相當於 Python 的 PyPI 或 Java 的 Maven。
沒有 Ansible 就無法使用 Ansible Tower。 Ansible Tower 可以與 Ansible Tower 一起使用。 Ansible 是驅動基礎架構管理和部署的引擎。
Ansible Tower 讓我們可以看到一切的內部運作。 它允許您查看和控制組織基礎架構的安全合規性。
Ansible Tower 可以為您的 Ansible 部署提供 RBAC。 如果您正在尋找不擅長編碼的專業人員來審查您的基礎架構,Ansible Tower 也是一個不錯的選擇。
Ansible 與 Ansible Tower 與 Ansible Galaxy 的比較:
Ansible的 | 塔 | 銀河系 |
開源配置管理工具 | Ansible 的用戶界面 | 角色和集合的存儲庫 |
通過 CLI 執行劇本 | 通過 GUI 執行劇本 | 使用 CLI 運行 ansible-galaxy |
2012 年首次發布 | 2015 年首次發布 | 2016 年首次發布 |
免費使用 | 100 個節點起價為每年 5000 美元 | 免費使用 |
設置和使用非常簡單 | 提供對整個 Ansible 環境的可見性 | 它可以在不同的劇本中重複使用代碼塊 |
結論
所以,這就是關於 Ansible、Ansible Tower 和 Ansible Galaxy 以及 Ansible、Ansible Galaxy 和 Ansible Tower 之間的區別的全部內容。 組織應該考慮其對 Ansible Tower 的要求,因為它非常昂貴。 但總的來說,Ansible 是適用於任何類 Linux 環境的優秀 CM 工具。
您可能還對可以使用 Ansible 自動執行的系統管理任務感興趣。