我们想听听您的意见!帮助我们深入了解 Ansible 生态系统的现状。
参加 2024 年 Ansible 项目调查

在 Ansible Tower 上安装和使用集合

在 Ansible Tower 上安装和使用集合

Ansible 集合是分发和管理内容的新方法。Ansible 内容可以是模块、角色、插件,甚至 Ansible 剧本。在我的上一篇博客文章中,我介绍了如何从 Ansible Galaxy 和自动化中心使用 Ansible 集合。Ansible Galaxy 是用于共享 Ansible 集合的上游社区。任何社区用户都可以创建一个命名空间并与任何人共享内容。对自动化中心的访问包含在 Red Hat Ansible 自动化平台订阅中。自动化中心仅包含来自 Red Hat 及其合作伙伴的完全支持和认证的内容。

在这篇博文中,我们将介绍如何将 Ansible 集合与 Red Hat Ansible 自动化平台的一部分 Ansible Tower 结合使用。使用命令行 Ansible 与 Ansible Galaxy 或自动化中心同步与使用 Ansible Tower 之间存在一些差异。但是,它实际上非常容易,我将向您展示如何操作!

从 Ansible Tower 访问自动化中心和 Galaxy 中的集合内容。

如果您的项目中包含 Ansible 集合,则无需对自动化中心进行身份验证。此方法是您使用需求文件动态下载内容的地方。通常,有三种策略可以将 Ansible 集合与您的环境一起使用

  1. 将集合安装到您的运行时环境或虚拟环境中
  2. 将集合作为您的 SCM 树的一部分提供
  3. 使用需求文件

从自动化中心访问内容时,必须在 Ansible Tower 的设置中进行身份验证令牌和身份验证 URL 配置。

注意:即使您在项目存储库中的 ansible.cfg 文件中具有授权详细信息,Ansible Tower 也不会提取这些信息。您需要在 Ansible Tower 设置中输入这些详细信息

为此,请从 Ansible Tower 管理部分导航到“设置 > 作业”侧边栏链接。

tower jobs ui

单击“作业”并更新以下字段

  1. 主要 Galaxy 服务器 URL:https://cloud.redhat.com/api/automation-hub/
  2. 主要 Galaxy 身份验证 URL:https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token
  3. 主要 Galaxy 服务器令牌:xxxxxxxxxxxxxxxxxxxxxxxxx......

Red Hat 建议使用自动化中心作为您的主要 Galaxy 服务器 URL,以确保您正在使用通过 Red Hat Ansible 自动化平台订阅获得完全支持的认证内容

tower ui screenshot

这是您在 Ansible Tower 中需要做的唯一步骤,以便从自动化中心下载在collections/requirements.yml 文件中定义的认证集合。

剧本通常通过作业模板调用。

tower ui screenshot

启动此作业模板会导致从自动化中心和 Galaxy 下载集合,并调用通过这些集合提供的模块。

ajay collections

结论

Ansible 集合引入了一种有效地模块化和打包自动化内容的方法。Red Hat 自动化中心托管经过验证和 Red Hat 支持的认证集合。客户可以从两个内容存储库访问集合。我认为集合是 Ansible 所采用的“包含电池”方法的超级加速器。它提升了构建自动化所涉及的细微差别,使用户能够即插即用由认证合作伙伴和社区构建的最新和最优秀的自动化内容。




Ansible 安全自动化资源模块

Ansible 安全自动化资源模块

安全专业人员越来越多地采用自动化,作为一种帮助将安全操作统一到结构化工作流中的方法,这些工作流可以减少操作复杂性、人为错误、响应时间,并且可以集成到现有的 SIEM(安全信息和事件管理)或 SOAR(安全编排自动化和响应)平台中。

2019 年 10 月,Ansible 网络自动化团队引入了资源模块的概念。

那么“资源模块”到底是什么?设备配置的各个部分可以被认为是该设备提供的资源。网络资源模块的范围有意限于配置单个资源,并且可以组合成构建块以配置复杂的网络服务。

请记住,第一个网络自动化模块可以对目标设备执行任意命令,或者从文件读取设备配置并部署它。这些模块非常通用,没有提供对某些服务或资源的任何微调。

相反,资源模块可以通过避免覆盖各种配置的大型配置文件模板,使那些在生产中自动化多个平台的人更轻松、更一致地进行网络自动化。相反,它们专注于手头的任务,提供可以用来描述复杂配置的独立构建块。

相同的原则可以应用于安全领域,我们开始探索 Ansible 安全自动化的可能性。

安全自动化中的资源模块

在安全自动化中,许多集合已经拥有更精细的模块,这些模块针对相应目标环境的用例或工作流。因此,在与产品无关的资源方面,几乎没有标准化或通用抽象。

例如,如果您仔细查看我们的调查丰富博客文章,您会发现,虽然我们使用了一些模块,但这些模块通常非常特定于产品,并且在通用资源方面没有提供太多内容。

同时,安全自动化确实涵盖了许多任务,在这些任务中,资源模块可以增加很多价值。无论是通过访问控制列表 (ACL) 或策略授予和拒绝对网络的访问,还是管理 IDPS 系统中的规则或将节点的日志转发到中央 SIEM:所有这些任务通常都在多个产品中执行在定义明确的资源上,这使得这些任务成为资源模块可以帮助的理想人选。

用于访问控制列表的安全自动化资源模块

遵循这条思路,我们开始在 Ansible 中引入 ACL 资源模块。ACL 可以帮助在应用于接口或作为访问规则全局应用时提供第一层安全性,因为它们允许或拒绝防火墙中的流量流。

在 ACL 中,访问控制条目 (ACE) 的顺序至关重要,因为根据 ACE 的顺序,设备会决定是否允许流量。鉴于此背景,ACL 资源模块提供了与用户手动更改相应设备上的配置时可以实现的相同级别的功能。但是,ACL 资源模块具有 Ansible 的优势

  • 使用 Ansible 自动化可以加速生产力。
  • Ansible 功能强大,用户可以在用户或企业级别自动化各种任务。这有助于编排完整的应用程序生命周期,包括 ACL,并将安全自动化作为应用程序部署流程和整个技术业务流程的一部分。
  • Ansible 具有无代理架构,它使用受管目标节点的本机通信协议。这避免了在受管环境中引入和安装新软件和新安全协议的需要。
  • 最后但并非最不重要的是,借助 Ansible 的事实收集功能,可以高效地收集受管节点的数据结构并使其可访问。

请注意,新 ACL 资源模块的命名约定使用复数形式而不是单数形式:“acls”而不是“acl”。如果您要自动化的平台具有这两种名称的模块,则模块的复数形式是对应于资源模块倡议的较新形式。模块的单数形式可能会在将来的版本中弃用。引入这种区别是为了简化向资源模块的过渡,并避免当前自动化工作流中断。

示例:Cisco ASA ACL

了解新的 ACL 资源模块的一个好方法是通过一个示例。为此,让我们看一下针对 Cisco 自适应安全设备系列的Cisco ASA 集合。在这个集合中,你会找到一个名为asa_acls的模块,它是管理 ASA 设备上的命名或编号 ACL 的资源模块。

例如,让我们首先检查当前文档。为此,我们可以使用模块的功能来收集现有的 ACL 配置

---
- name: Get structured data
  hosts: cisco
  gather_facts: false
  collections:
   - cisco.asa

  tasks:
  - name: Gather facts
    asa_acls:
      state: gathered
      register: gather
  - name: output data
    debug:
      vars: “{{ gather }}”

输出将类似于以下内容

- acls:
   - aces:
       - destination:
           address: 192.0.3.0
           netmask: 255.255.255.0
           port_protocol:
                 eq: www
         grant: deny

请注意,以这种方式生成的输出纯粹专注于手头的资源 - ACL。这与提供更多数据的通用事实收集形成对比,这使得难以保持概述并随后处理数据。

鉴于手头的配置,让我们假设为了本示例的缘故,我们分析了收集的配置,并希望对其进行更改。下一个配置看起来像

- acls:
  - name: global_access
    acl_type: extended
    aces:
    - grant: deny
      line: 1
      protocol_options:
        tcp: true
      source:
        address: 192.0.4.0
        netmask: 255.255.255.0
        port_protocol:
          eq: telnet
      destination:
        address: 192.0.5.0
        netmask: 255.255.255.0
        port_protocol:
          eq: www

此配置描述了从定义的源到目标的访问被拒绝。请注意,此完整定义主要与产品无关,也可以与其他系统一起使用。

鉴于此描述可作为变量 acls 获得,因此可以使用 cisco_acls 模块进行部署

---
- name: Replace ACLs device configuration
  hosts: cisco
  gather_facts: false
  collections:
   - cisco.asa

  tasks:
  - name: Replaces device configuration of listed acls
    asa_acls:
      config: “{{ acls }}”
      state: replaced

如您所见,可以将现有的资源描述应用于现有的设备。资源模块允许用户读取现有配置并将其转换为结构化的数据模型。这些数据模型可以用作基础,以进一步将更改后的配置部署到目标节点上。

要点

安全专业人员需要将其操作工作流统一起来。自动化很有帮助 - 更重要的是,如果它运行的平台提供了更简单的方法来控制原本相当复杂的结构。提供的 Ansible 安全自动化资源模块是标准化自动化操作的构建块。




Bullhorn #5

Ansible Bullhorn banner

Bullhorn

面向 Ansible 开发者社区的新闻通讯

欢迎来到Bullhorn,我们面向 Ansible 开发者社区的新闻通讯。如果您有任何问题或想分享的内容,请通过 [email protected] 联系我们。
 

ANSIBLE-BASE 2.10 BETA 1 发布

6 月 17 日,Ansible 核心团队发布了 ansible-base-2.10 的第一个测试版。

ansible-base 包只包含 Ansible 执行引擎、相关工具(例如 ansible-galaxy、ansible-test)以及少量内置插件;其余内容已移至 Ansible 集合,现在可以单独安装。有关新增功能、安装说明和完整变更日志链接的更多详细信息,请阅读 Matt Davis 对 ansible-devel 邮件列表的公告
 

ANSIBLE-2.10 ALPHA 1 发布

6 月 18 日,Ansible 社区团队发布了 ansible-2.10 的第一个 alpha 版本。此 Ansible 包与以前版本的 Ansible 相当,并且旨在成为其直接替代品;所有以前可用的模块的集合已重新集成到此包中。有关安装说明、已知问题和即将发布计划的更多详细信息,请阅读 Toshio Kuratomi 对 ansible-devel 邮件列表的公告
 

发布新的 ANSIBLE 内容集合

Red Hat 维护的 Ansible 内容集合的初始版本已发布到自动化中心,用于自动执行来自 Arista、AWS、Cisco、IBM、Juniper、Splunk 等的精选平台。社区版本也可从 Ansible Galaxy 获取。有关更多信息,请阅读 Andrius Benokraitis 在 ansible.com 上的博客文章
 

发布新的 ANSIBLE 社区集合

两个关键的 Ansible 社区集合,community.general 和 community.network,在上周达到了 0.2.0 版本,这是其开发中的一个重要里程碑。请参阅 https://github.com/ansible-collections/community.general/issues/507https://github.com/ansible-collections/community.network/issues/64,了解有关其发布周期的更多信息。
 

提醒:虚拟 ANSIBLE 贡献者峰会

下一次 Ansible 贡献者峰会将在不到两周的时间内举行!它定于 **7 月 6 日星期一** 举行,之后是 7 日和 8 日的编程马拉松。如果您计划参加活动的任何部分,请在 Eventbrite 上注册。

要查看议程,请查看 etherpad 上的“潜在主题”部分,添加您想看到讨论的主题或对现有主题进行投票。
 

社区工作组亮点

社区工作组每周三在 Freenode IRC 上的 #ansible-community 频道以 UTC 时间 18:00 举行会议。如果您希望接收提醒,可以将此 URL community.ics 导入到您的日历中。要查看正在讨论的内容并添加您自己的主题,请参阅 议程

Bullhorn 的目标之一是让人们了解对贡献者的重要更改。随着代码库以集合及其存储库的形式进行分布式,我们更需要改进沟通。因此,我们将包含最近更改的摘要,这些更改是您作为(潜在)贡献者或集合维护者应该了解的。

影响贡献者的更改

  • 由于 ansible-base 2.10 beta1 已经发布,现在是时候确保您的存储库正在从 ansible/ansible:stable-2.10 分支运行 ansible-test sanity 了。如果您还没有设置 CI,您可以从 ansible-test GitHub Action 示例 中复制“Sanity”部分。
  • 同样在 CI 方面,您应该复制 tests/sanity/ignore-2.10.txt 到 tests/sanity/ignore-2.11.txt,以便为从 ansible-base 的 stable-2.10 和 devel 分支运行 sanity 测试做准备。
  • 我们很高兴地宣布,定义和记录弃用 的方法已达成一致。Ansible-test(包含在 ansible-base 2.10 中)已更新以检查这些方法,因此您应根据需要查看和更新。
  • 由于弃用现在在集合 meta/runtime.yml 中定义,ANSIBLE_METADATA 不再需要,因此您可以从集合中的所有模块批量删除它,请参阅 删除 ANSIBLE_METADATA 了解详细信息。
  • 要加快您的单元和集成测试,您可能希望查看您正在引入的 Python 依赖项,查看 部分 A部分 B 了解更多信息。
  • 现在有一个自动生成变更日志的过程,有关如何实现此目的的更多信息,请查看 此指南

我们建议您订阅(使用右侧的按钮) https://github.com/ansible-collections/overview/issues/45,我们将在其中提前宣布更改。

如果您需要任何帮助,请加入我们,在 Freenode 上的 #ansible-devel 频道与我们交流。
 

ANSIBLE 拉取请求审查日

在 7 月 17 日星期三,我们举办了自迁移到集合以来第一次“大型 PR 审查日”。这是一个让大家了解集合工作以及进展如何的好机会。我们有 15 人加入,其中两人是 Ansible 的全新贡献者。

下一次 PR 审查日将在 8 月举行,订阅 大型 PR 审查日 以了解何时举行。
 

ANSIBLE 虚拟会议

在接下来的一个月里,Ansible 社区将举办以下虚拟会议

Ansible 印度会议:Ansible 2.10、集合等等!
6 月 27 日星期六· UTC+5:30 上午 10:00
使用您“附近”的其中一个会议组进行 RSVP:班加罗尔加尔各答德里孟买奥兰加巴德金奈海得拉巴德浦那!(它们将链接到同一个虚拟活动。)

Ansible NOVA:利用 Ansible 和 Pureport 进行多云网络!
6 月 30 日星期二· 东部时间下午 4:00
https://www.meetup.com/Ansible-NOVA/events/271232565/

Ansible 新西兰:Ansible for Windows。如何、为什么以及何时?
7 月 9 日星期四· 格林威治标准时间+12 下午 12:00
https://www.meetup.com/Ansible-New-Zealand/events/271155213/

注意:对于这些虚拟活动,参与链接将在您 RSVP 参加后可见。如果您对提出的主题感兴趣,只要时区和语言适合您,您就可以从世界任何地方加入!

有兴趣在 Ansible 虚拟会议上做演讲吗?在此注册:https://forms.gle/aG5zpVkXDVMHLERX9
 

反馈

您有任何想问的问题或想看到解决的问题吗?请发送电子邮件至 [email protected]

 

 




Bullhorn #4

Ansible Bullhorn banner

Bullhorn

面向 Ansible 开发者社区的新闻通讯

欢迎来到Bullhorn,我们面向 Ansible 开发者社区的新闻通讯。如果您有任何问题或想分享的内容,请通过 [email protected] 联系我们。
 

虚拟 ANSIBLE 贡献者峰会

下一次 Ansible 贡献者峰会将于 7 月 6 日星期一举行,之后是 7 日和 8 日的编程马拉松。如果您计划参加活动的任何部分,请在 Eventbrite 上注册,并在 etherpad 上添加可能讨论的议程项目。

 

ANSIBLE 大型 PR 日

很棒的 Ansible 社区每月都会贡献大量的拉取请求(PR)。有时,大量涌入的 PR 意味着贡献者可能需要等待很长时间才能将它们合并甚至审查。我们将通过举办专门的 PR 审查日来改变这种情况。

下一个日期是 2020 年 6 月 17 日星期三,UTC 时间 14:00(我的时区是什么时间)。我们对此感到非常兴奋,因为这将是第一个专注于集合的日期。

我们希望实现的目标
  • 为潜在的新社区贡献者提供一个学习和尝试 Ansible 审查流程的地方

  • 通过您的反馈改进流程和文档

    • 我们特别重视来自开源入门人员的反馈,因为它有助于识别和改进随着时间的推移可能变得复杂的流程和文档。长期贡献者已经积累了这些知识,忘记了当初不知道如何做某件事的感觉!

  • 识别可合并或关闭的 PR

帮助未被现有 Ansible 工作组涵盖的 PR,这些 PR 可能会意外地漏掉

如果您白天有时间加入我们,请随时参与或只是听一听。

有关如何加入的更多信息,请参见 https://github.com/ansible/community/issues/407

 

每周社区会议

根据社区反馈,我们在每周三 UTC 时间 18:00 在 Freenode IRC 的 #ansible-collections 上定期举行周会。您可以将此 URL 导入到自己的日历中 community.ics,如果您想收到提醒。

这是一个绝佳的机会,您可以了解 Ansible 2.10 的进展情况,特别是从单一代码库 (github.com/ansible/ansible) 转移到多个 集合存储库

要查看迄今为止的讨论内容,请查看 https://github.com/ansible/community/issues/539

 

社区数据分析

Greg Sutcliffe,我们的社区数据科学家,发表了一篇新的 博客文章,介绍了 community.general 的真实统计数据,以及为什么正确测试代码很重要。事实证明,我们在 第 2 期 中发布的图表是错误的,他详细说明了发生的事情、真实的图表以及我们下一步的计划。以下是一些预告

 

 

社区内容

我们每月都会注意到社区发布的精彩内容。虽然并非所有内容都严格针对开发人员,但也许这里有一两篇文章会引起您的兴趣?如果您想看到更多此类内容,请告诉我们。
 

使 Ansible 集合集成测试提速!Steampunks 如何使 Sensu Go Ansible 集合的测试时间尽可能短的故事。
 

Serge van Ginderachter 发表了一个包含 示例代码 的 gist,用于库存插件。
 

使用 Molecule 和 Podman 测试 Ansible 角色。Ilkka Tengvall 是芬兰赫尔辛基的 Ansible 解决方案架构师。在这里,他详细介绍了他的角色测试设置,甚至还提供了一个简短的视频供您欣赏。

Mint Security 撰写了有关 使用 Ansible 安装 Splunk 的文章。
 

来自 IBM 的 Stuart Cunliffe 在 YouTube 上进行了关于 Ansible 的详细讨论。他谈论了它与 IBM Power Systems 的关系以及与 IBM PowerVC 的集成。在本视频中,他演示了 Ansible 模块、剧本和角色,以及 Ansible 部署新的 PowerVM LPAR 的过程。

 

ANSIBLE 虚拟会议

在接下来的一个月里,Ansible 社区将举办以下虚拟会议

 

Ansible 巴黎聚会 #19

UTC+2 时间 6 月 12 日(星期五)下午 6:30

https://www.meetup.com/Ansible-Paris/events/271033303/

 

Ansible 明尼阿波利斯:云中的自助基础设施配置

CDT 时间 6 月 18 日(星期四)下午 6:30

https://www.meetup.com/Ansible-Minneapolis/events/sbqkgrybcjbxb/

 

Ansible 多伦多 2020 年 6 月

EDT 时间 6 月 19 日(星期五)中午 12:00

https://www.meetup.com/Ansible-Toronto/events/271081384/ 

 

Ansible 印度聚会

6 月 27 日星期六· UTC+5:30 上午 10:00

在您“附近”的某个聚会组中 RSVP:班加罗尔加尔各答德里孟买奥兰加巴德钦奈海得拉巴德浦那!(它们将链接到同一个虚拟活动。)


注意:对于这些虚拟活动,参与链接将在您 RSVP 参加后可见。如果您对提出的主题感兴趣,只要时区和语言适合您,您就可以从世界任何地方加入!

我们正在计划更多虚拟聚会以接触更广泛的受众,并且 **我们希望听到您的意见**!您最近是否开始使用 Ansible,还是长期用户?Ansible 如何改善您的工作流程或扩展您的自动化?您遇到了哪些挑战以及从中吸取了哪些教训?通过在虚拟 Ansible 聚会上进行演示分享您的经验:https://forms.gle/aG5zpVkXDVMHLERX9

您可以选择预先录制演示,并在聚会期间进行现场问答,也可以现场进行演示。我们会与您协商最佳设置,并与您分享一些很酷的 Ansible 礼品!
 

反馈

您有任何想问的问题或想看到的问题吗?请发送电子邮件至 [email protected]

 

 




牛角号 #3

Ansible Bullhorn banner

Bullhorn

面向 Ansible 开发者社区的新闻通讯

欢迎来到Bullhorn,我们面向 Ansible 开发者社区的新闻通讯。如果您有任何问题或想分享的内容,请通过 [email protected] 联系我们。

 

ANSIBLEFEST 2020 现已成为虚拟体验

AnsibleFest 虚拟体验将是一项免费的沉浸式多日活动,于 2020 年 10 月 12 日当周举行,将提供及时的、有用的客户主题演讲、分会场演讲、与 Ansible 专家直接交流的机会等等。有关更多详细信息,请访问 Ansible 博客
 

下次虚拟 Ansible 贡献者峰会:7 月 6 日(星期一)


投票已经结束,大多数参与投票的贡献者都选择 7 月 6 日(星期一)作为我们下次 Ansible 虚拟贡献者峰会的时间,虚拟黑客马拉松将在 7 日和 8 日举行。要注册或添加可能需要讨论的议程项目,请访问 Etherpad 查看该活动的详细信息。
 

Ansible 2.10 的即将发布的预览版本

Ansible Base 2.10 的第一个测试版目前计划在 5 月 29 日(星期五)发布,Ansible 2.10 的每日构建将在 6 月 2 日(星期二)开始。这些每日构建将为开始测试集合和通用功能提供绝佳机会,我们特别鼓励集合维护人员利用这段时间开始验证他们的模块和内容。

** 我们将在第一个每日构建可用时发出明确的广播,并告知您在哪里以及如何获取它;敬请关注! **
 

五万

本周,Ansible 项目突破了一个重要的里程碑,即 50,000 次提交!



使用 GitHub Actions 进行 Ansible 代码静态检查

想要确保在每次 GitHub 提交时都对您的 Ansible 内容进行检查吗?现在有 一个 GitHub 操作可以运行 Ansible Lint。Colin McCarthy 在 他的博客文章 中介绍了该过程,该文章发表在 ansible.com 上。

 

Ansible 入门,由 NetworkChuck 演示

您的朋友需要一个快速、易于理解的 Ansible 入门介绍吗?NetworkChuck 在他的 YouTube 频道发布了 一个新的 Ansible 视频,其中包含一个易于理解的教程,可引导用户从安装到第一个剧本。
 

ANSIBLE 虚拟会议

在接下来的一个月里,Ansible 社区将举办以下虚拟会议

Ansible 伦敦:虚拟聚会 – 6 月 3 日
GMT+1 时间 6 月 3 日(星期三)下午 6:00
https://www.meetup.com/Ansible-London/events/270746783/
 

Ansible 在 DevOps 托伦-比得哥什:#6 会议 AiDO -> Terraform
GMT+2 时间 6 月 10 日(星期三)下午 5:00

https://www.meetup.com/Ansible-in-DevOps-Torun-Bydgoszcz/events/270881163/

我们正在计划更多虚拟聚会以接触更广泛的受众,并且 **我们希望听到您的意见**!您最近是否开始使用 Ansible,还是长期用户?Ansible 如何改善您的工作流程或扩展您的自动化?您遇到了哪些挑战以及从中吸取了哪些教训?通过在虚拟 Ansible 聚会上进行演示分享您的经验:https://forms.gle/aG5zpVkXDVMHLERX9

您可以选择预先录制演示,并在聚会期间进行现场问答,也可以现场进行演示。我们会与您协商最佳设置,并与您分享一些很酷的 Ansible 礼品!
 

反馈

您有任何想问的问题或想看到的问题吗?请发送电子邮件至 [email protected]