Ansible、Ansible Galaxy 和 Ansible Tower 之间有什么区别?

已发表: 2022-11-23

Ansible 是一种开源配置管理工具和 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-塔

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 自动执行的系统管理任务感兴趣。