Ansible Automation Platform 入门


Red Hat Ansible Automation Platform 2.5

Ansible Automation Platform 入门

Red Hat Customer Content Services

摘要

本指南介绍了如何开始使用 Ansible Automation Platform。

前言

Red Hat Ansible Automation Platform 是一个统一的自动化解决方案,可自动化各种 IT 流程,包括配置、配置管理、应用程序部署、编配以及安全和合规性更改(包括补丁系统)。

Ansible Automation Platform 提供了平台界面,您可以设置集中身份验证、配置访问管理,以及从单一位置执行自动化任务。

本指南将帮助您介绍三个中央概念:自动化执行、自动化决策和自动化内容来帮助您开始使用 Ansible Automation Platform。

对红帽文档提供反馈

如果您对本文档有任何改进建议,或发现错误,请通过 https://access.redhat.com 联系技术支持来创建一个请求。

第 1 章 主要功能和概念

使用 Ansible Automation Platform,您可以为您的机构在用户、团队和区域创建、管理和扩展自动化。如需了解更多详细信息,请参阅 Ansible Automation Platform 的以下功能和概念。

Ansible Automation Platform 2.5 的发行版本引入了一个更新的、统一的用户界面(UI),可让您与平台的每个部分进行交互和管理。

平台网关是处理 Ansible Automation Platform 身份验证和授权的服务。它在 Ansible Automation Platform 中提供了一个条目,并提供平台用户界面,以便您可以从一个位置验证并访问所有 Ansible Automation Platform 服务。

1.1. 活动流

平台网关包含一个活动流,用于捕获平台网关资源的更改,如创建或修改机构、用户和服务集群等。对于每个更改,活动流会收集有关更改时间的信息、启动更改的用户、执行的操作以及对对象进行的实际更改。收集的信息因更改类型而异。

您可以从 API 访问活动流捕获的详情:

/api/gateway/v1/activitystream/
Copy to Clipboard Toggle word wrap

1.2. 自动化执行

Ansible Automation Platform 的数据中心是其自动化执行命令和控制中心,您可以在其中部署、定义、操作、扩展和委派整个企业的自动化。通过此功能,您可以从单个位置执行各种任务,例如从简单、直接的 Web UI 运行 playbook、监控仪表板活动和集中式日志记录来管理和跟踪作业执行。

在自动化执行环境中,您可以使用自动化控制器任务来构建作业模板,从而标准化如何部署、启动和委派自动化,从而使它更具可重复使用和一致性。

1.2.1. 清单

清单是单个文件,通常采用 INI 或 YAML 格式,包含可以使用 Ansible 命令和 playbook 执行操作的主机和组列表。您可以使用清单文件指定您的安装场景,并描述 Ansible 的主机部署。您还可以使用清单文件将受管节点组织到中央文件中,该文件为 Ansible 提供系统信息和网络位置。

1.2.2. 策略强制

自动化运行时的策略实施是一个使用编码规则来定义、管理和强制实施策略的功能,它管理用户如何与 Ansible Automation Platform 实例交互。策略实施自动化策略管理,提高了安全性、合规性和效率。策略强制点可以在清单、作业模板或机构级别进行配置。如需更多信息,请参阅配置 自动化执行指南中的实施策略强制

1.3. 自动化内容

Automation hub 是 Ansible Automation Platform 内容的核心位置。在 Automation Hub 中,您还可以找到您可以下载并集成到自动化环境中的内容集合。您还可以创建并上传您自己的内容以分发到您的用户。

Ansible 内容集合是自动化的现成工具包,可以包含多种类型的内容,包括角色、模块、playbook 和插件。

您可以通过两种方式之一访问自动化中心:

  • 在 Red Hat-hosted Hybrid Cloud Console 上,您可以在其中找到可同步到平台环境的红帽验证或认证内容。
  • 在自托管的、内部的私有自动化中心中,您可以为自动化用户策展内容,并管理对集合和执行环境的访问。

根据您访问自动化中心的方式,您可以访问不同类型的内容集合。

Red Hat Ansible 内容有两种类型:

  • Ansible 认证的内容集合,红帽构建、支持和维护。认证集合包含在 Red Hat Ansible Automation Platform 订阅中,并可在 Automation Hub 中找到。
  • Ansible 验证的内容集合可以自定义,因此没有支持保证,但已在 Ansible Automation Platform 环境中测试。

如需有关 Ansible 内容的更多信息,请参阅 作为 自动化开发人员入门 中的创建自动化内容

1.3.1. Ansible 角色

Ansible 角色允许您创建可重复使用的自动化内容,以帮助团队更有效地工作,并避免重复工作。使用角色,您可以将更广泛的现有自动化内容组合在一起,如 playbook、配置文件、模板、任务和处理程序,以创建可重复使用和共享自定义自动化内容。

您还可以通过公开用户在调用角色时设置的变量来使角色进行配置,从而根据其机构的要求来配置其系统。

角色通常包含在 Ansible 内容集合中。

其他资源

有关更多信息,请参阅 与 Ansible 角色捆绑内容

1.3.2. Ansible playbook

playbook 是包含您发送到单个目标或目标组的特定可读指令或"plays"集的 YAML 文件。Ansible playbook 是可重复且可重复使用的配置管理工具,用来部署复杂应用。

您可以使用 playbook 管理到远程机器的配置,以对涉及滚动更新的多层推出部署进行排序。使用 playbook 将操作委派给其他主机,并在此过程中与监控服务器和负载平衡器交互。

编写好后,您可以使用和重新使用 playbook 进行整个企业的自动化。例如,如果您需要多次运行任务,请编写 playbook 并将其置于源控制中。然后,您可以使用 playbook 来推送新配置或确认远程系统的配置。

Ansible playbook 可以声明配置,编配许多机器上手动排序进程的步骤,或者以同步或异步启动任务。

您还可以使用 Red Hat Ansible Lightspeed (Ansible generative AI 服务)创建和开发 playbook 以满足您的需要。如需更多信息,请参阅 Ansible Lightspeed 文档

1.4. 自动化决策

Red Hat Ansible Automation Platform 包括 Event-Driven Ansible,它是一个自动化引擎,侦听系统的事件流,并对您使用目标自动化任务指定的事件做出反应。这样,Event-Driven Ansible 管理日常自动化任务和响应,让您腾出可以处理更复杂的任务。

通过 Event-Driven Ansible 控制器进行管理,Ansible 规则手册是自动化决策的框架。Ansible 规则手册是规则集的集合,它由一个或多个源、规则和条件组成。规则手册告诉系统标记哪些事件以及如何响应它们。在平台用户界面的 Automation Decisions 部分中,您可以使用规则手册来连接和侦听事件源,并且定义触发的操作来响应某些事件。

其他资源

有关规则手册、事件和源的更多信息,请参阅 Rulebook 操作

1.5. Automation mesh

自动化网格是一个覆盖网络,旨在使用现有连接来简化在一组执行节点间自动化分布。执行节点是实际执行 Ansible Playbook 的位置。节点会运行一个自动化执行环境,这又运行 Ansible Playbook。自动化网格在这些执行节点之间创建对等连接,提高自动化工作负载的弹性到网络延迟和连接中断。这也允许更灵活的架构,提供快速、独立的控制和执行容量扩展。

1.6. Red Hat Ansible Lightspeed

Red Hat Ansible Lightspeed with IBM watsonx Code Assistant 是一个由 Ansible 平台工程师和开发人员设计的通用 AI 服务。它接受用户输入的自然语言提示,然后与 IBM watsonx 基本模型交互,以生成基于 Ansible 最佳实践构建的代码建议。

Red Hat Ansible Lightspeed with IBM watsonx Code Assistant 帮助自动化团队更有效地了解、创建和维护 Red Hat Ansible Automation Platform 内容。

1.7. Ansible 开发工具

Ansible 开发工具是集成且受支持的功能套件,可帮助 IT 人员在任何技术层面上生成自动化内容,而不是通过手动编码更快地生成自动化内容。Ansible 开发工具可帮助您快速、准确地创建、测试和部署自动化内容,如 playbook、执行环境和集合等。如需有关 Ansible 开发工具如何帮助您创建自动化内容的更多信息,请参阅有关 开发自动化内容 的文档。

1.8. Ansible Automation Platform 安装和配置

Red Hat Ansible Automation Platform 提供灵活的安装和配置选项。根据您的环境,您可以使用以下方法之一安装 Red Hat Ansible Automation Platform:

1.9. 仪表板组件

在您的系统上安装 Ansible Automation Platform 后,并首次登录,熟悉平台仪表板。

快速启动
您可以使用名为快速启动的指南来了解 Ansible 自动化功能。在仪表板中,您可以通过选择快速启动卡来快速访问。在显示的面板中,单击 Start 并完成屏幕说明。您还可以按关键字和状态过滤快速启动。
资源状态
指明主机、项目和清单的状态。状态指示符链接到配置的主机、项目和清单,您可以在其中搜索、过滤、添加和更改这些资源。
作业活动
您可以查看当前作业状态的摘要。在一段时间内或按作业类型过滤作业状态,或者点击 Go to jobs 查看当前可用的作业的完整列表。
Jobs
您可以查看最近运行的作业,或者点击 View all Jobs 以查看当前可用的作业的完整列表,或创建新作业。
项目
您可以查看最近更新的项目,或者点击 View all Projects 以查看当前可用的项目的完整列表,或创建新项目。
清单
您可以查看最近更新的清单,或者点 View all Inventories 查看可用清单的完整列表,或创建新清单。
规则手册激活
您可以查看最近的规则手册激活列表及其状态,显示当前可用的规则手册激活的完整列表,或者创建新的规则手册激活。
规则审计
您查看最近触发的规则审计、查看规则审计记录,并根据对应的规则手册激活运行查看规则审计数据。
决策环境
您可以查看最新更新的决策环境,或者点 View all Decision Environments 查看可用清单的完整列表,或创建新的决策环境。

1.10. 使用本指南

安装 Ansible Automation Platform 2.5 并熟悉仪表板后,请使用此文档来探索更多设置和每日使用的选项。本指南的结构,以便您可以选择最适合您以及您机构中的角色的路径。我们还建议您探索本指南中概述的其他路径,以了解 Ansible 如何为用户提供各种角色和目标来构建和自定义自动化任务。

选择以下路径之一继续开始:

第 2 章 作为平台管理员入门

作为平台管理员,Ansible Automation Platform 可帮助您使用户和团队能够开发和运行自动化。

本指南指导您执行基本步骤,以设置为 Ansible Automation Platform 的管理员,包括为用户配置和维护平台。

要以管理员身份开始,请查看以下内容:

2.1. 第一次登录

以管理员身份登录 Ansible Automation Platform,再输入您的订阅信息。然后,您可以创建用户配置集并分配角色。

流程

  1. 安装完成后提供的登录信息,打开 Web 浏览器,并通过访问其服务器 URL 登录到 Red Hat Ansible Automation Platform,地址为: https://<AAP_SERVER_NAME>/
  2. 使用安装过程中指定的凭证登录:

    • 默认用户名是 admin
    • admin 的密码是安装过程中指定的值。

第一次登录后,会提示您输入您的订阅信息。

2.2. 添加您的订阅

要添加订阅信息,您可以上传订阅清单,或使用您的服务帐户凭证查找与您的帐户关联的订阅。

先决条件

要通过上传订阅清单来添加订阅,您必须首先:

  • 获取您的清单文件。有关如何执行此操作的步骤,请参阅 访问管理和身份验证指南中的获取 清单文件

要使用服务帐户凭证添加订阅,您必须首先:

  • 已创建了服务帐户 并保存客户端 ID 和客户端 secret。
  • 将您的服务帐户添加到 Subscription viewer 用户组,以便它能够查看您的订阅。有关如何操作的说明,请参阅知识库文章 配置 Ansible Automation Platform 中的"更新订阅管理"部分。

流程

通过上传订阅清单来添加订阅:

  • 将文件拖到 红帽订阅清单下的字段,或浏览本地计算机上的文件。

使用您的服务帐户凭证添加您的订阅:

  1. Service Account / Red Hat Satellite 标签页。
  2. 在标记为 Client ID / Satellite username 的字段中,输入您在创建服务帐户时收到的客户端 ID。
  3. 在标记为 Client secret / Satellite 密码的字段中,输入您在创建服务帐户时收到的客户端 secret。您的订阅会出现在 Subscription 列表中。选择您的订阅。
  4. 添加订阅后,点 Next
  5. 选中指示您同意 最终用户许可证协议的框
  6. 查看您的信息并点 完成
注意

如果您输入客户端 ID 和客户端 secret,但无法找到订阅,您可能没有在服务帐户上设置正确的权限。有关服务帐户的更多信息和故障排除指南,请参阅配置 Ansible Automation Platform 以通过服务帐户凭证进行身份验证

提示

登录后,请查看导航面板中的快速启动部分以获取有用的指导。

2.3. 配置身份验证

首次以管理员身份登录后,您必须为您的用户配置身份验证。根据机构的需要和资源,您可以:

  • 通过手动创建用户、团队和机构来设置身份验证。
  • 使用 GitHub 等外部源为您的系统配置身份验证。

基于角色的访问控制(RBAC)根据用户在机构中的角色限制用户访问。RBAC 中的角色指的是用户对网络的访问权限级别。

您可以根据 RBAC 策略,控制用户可以在广泛或粒度级别使用 Ansible Automation Platform 组件的功能。您可以选择用户是系统管理员还是普通用户,并将角色和访问权限与机构中的位置保持一致。

您可以使用许多权限来定义角色,然后分配给资源、团队和用户。组成角色的权限决定了分配的角色允许什么。仅分配权限,仅为用户分配所需的访问权限来执行适合其角色的任务。

2.5. 创建机构

Ansible Automation Platform 会自动创建一个默认机构。如果您有自助支持级别许可证,则只有默认机构可用且无法删除它。

流程

  1. 在导航面板中,选择 Access ManagementOrganizations
  2. 单击 Create organization
  3. 输入 Name,并选择性地为您的机构提供 描述

    注意

    如果在平台上启用了自动化控制器,请继续第 4 步。否则,继续执行第 6 步。

  4. 选择 Execution 环境 的名称,或搜索存在此团队成员可以运行自动化的环境的名称。
  5. 输入要 在其上运行此 机构的实例组的名称。
  6. 可选:输入 Galaxy 凭证 或从现有凭证列表中搜索。
  7. 选择此机构的 Max hosts。默认值为 0。当这个值为 0 时,它表示没有限制。如果您试图将主机添加到已达到或超过其在主机上上限的机构中,则会显示错误消息:

    You have already reached the maximum number of 1 hosts allowed for your organization. Contact your System Administrator for assistance.
    Copy to Clipboard Toggle word wrap
  8. 点击 Next
  9. 如果您选择了超过 1 个实例组,您可以通过将实例组拖放到列表中或缩减来管理顺序,然后点 Confirm

    注意

    执行优先级由实例组列出的顺序决定。

  10. Next 并验证机构设置。
  11. 单击 Finish

2.6. 创建团队

您可以创建新团队,为团队分配一个机构,并管理与每个团队关联的用户和管理员。与团队关联的用户会继承与团队关联的权限以及团队成员资格的任何机构权限。

要为团队添加用户或管理员,该用户必须已创建。

流程

  1. 在导航面板中,选择 Access ManagementTeams
  2. Create team
  3. 输入 Name,并选择性地为团队提供一个 Description
  4. 选择要与这个团队关联的机构。

    注意

    每个团队只能分配给一个机构。

  5. Create team

    Details 页面将打开,您可以在其中查看和编辑团队信息。

2.7. 创建用户

Ansible Automation Platform 中有三种类型的用户:

普通用户
普通用户具有读写访问权限,仅限于该用户获得了适当角色和权限的资源(如清单、项目和作业模板)。普通用户是默认用户类型。
Ansible Automation Platform 管理员
管理员(也称为 Superuser)具有完整的系统管理权限 swig-rhacm,具有对整个安装的完整读写权限。管理员通常负责管理所有方面,并将日常工作的职责委派给不同的用户。
Ansible Automation Platform Auditor
审核员对环境中所有对象具有只读权限。

流程

  1. 在导航面板中,选择 Access ManagementUsers
  2. Create user
  3. Create user 页面的字段中,输入新用户的详情。带星号 rolebinding 标记的字段是必需的。
  4. 如果没有指定 User type,则普通用户是默认设置。要将用户定义为管理员或审核员,请选择 User type 复选框。

    注意

    如果您要修改您自己的密码,请退出并重新登录以便其生效。

  5. 选择要分配给此用户的 机构。有关创建新机构的详情,请参考 创建机构
  6. Create user

成功创建用户后,用户 对话框将打开。您可以在此处查看和修改用户团队、角色、令牌和其他成员资格详情。

注意

如果没有新创建的用户,详细信息屏幕会显示该用户的最后登录活动。

如果您以自己的身份登录并查看用户配置集的详细信息,您可以选择 Tokens 选项卡从您的用户配置集管理令牌。

2.8. 配置 GitHub 身份验证

您可以使用 OAuth 将 GitHub 身份连接到 Ansible Automation Platform。要设置 GitHub 身份验证,您需要使用 将新 应用程序注册到 GitHub,从 GitHub 注册您的机构拥有的应用,从 GitHub 获取 OAuth2 密钥和 secret。

OAuth2 密钥(客户端 ID)和机密(客户端 Secret)用于提供 UI 中的必填字段。要注册应用程序,您必须为其提供网页 URL,这是验证器配置的 Authenticator 详情中显示的回调 URL。

流程

  1. 在导航面板中,选择 Access ManagementAuthentication Methods
  2. Create authentication
  3. Authentication type 列表中选择 GitHub,再单击 Next
  4. 输入此身份验证配置的 Name
  5. 注册应用程序时,GitHub 会显示 客户端 ID 和客户端 Secret

    1. 将 GitHub 客户端 ID 复制并粘贴到 GitHub OAuth2 Key 字段中。
    2. 将 GitHub Client Secret 复制并粘贴到 GitHub OAuth2 Secret 字段中。
  6. 可选:输入此验证器可以采用的任何其他 身份验证器字段。这些字段不会被验证,并直接传递给验证器。

    注意

    此字段中定义的值覆盖 UI 中提供的专用字段。此处未定义的任何值都不提供给验证器。

  7. 要在成功登录时自动创建机构、用户和团队,请选择 Create objects
  8. 要在创建时启用此验证方法,请选择 Enabled
  9. 要在之前从此来源进行身份验证时添加的任何组删除用户,请选择 Remove users
  10. 点击 Next

验证

要验证是否已正确配置了身份验证,请注销 Ansible Automation Platform,检查登录屏幕是否显示您选择的验证方法的徽标,以启用使用这些凭证登录。

第 3 章 作为自动化开发人员入门

作为自动化开发人员,您可以使用 Ansible Automation Platform 来实现组织的自动化策略。Ansible Automation Platform 可帮助您编写、测试和共享自动化内容,并下载和使用红帽认证的集合。本指南指导您完成在 Ansible Automation Platform 上设置为自动化开发人员的基本步骤,以及有关如何进行以下操作的信息:

  • 设置您的开发环境
  • 创建、发布和使用自定义自动化内容
  • 构建并使用自动化执行环境和决策环境
  • 为 Event-Driven Ansible 创建并运行 rulebook 激活
  • 创建和使用作业模板

3.1. 设置您的开发环境

在开始创建内容前,请查阅我们的 指南来开发自动化内容。您可以找到有关 Ansible 开发工具的信息,您可以集成到环境中,并了解如何构建 playbook 项目。

3.2. 使用 playbook 创建自动化内容

Ansible playbook 是蓝图,告知 Ansible Automation Platform 要针对哪些设备执行哪些任务。您可以使用 playbook 定义您希望平台运行的自动化任务。

3.2.1. 创建 playbook

playbook 包含一个或多个 play。基本 play 包含以下参数:

  • 名称 :对 playbook 整体功能的简短描述,有助于保持所有用户的可读性和组织性。
  • 主机 :标识要针对 Ansible 运行的目标或目标。
  • become 语句 :此可选语句可以设为 trueyes,以使用 become 插件(如 sudosupfexecdoaspbrundzdoksu)启用特权升级。
  • 任务 :这是对 play 中每一主机执行的操作列表。

以下是 playbook 中 play 的示例:您可以看到 play、主机和 play 中包含的任务列表。

- name: Set Up a Project and Job Template
  hosts: host.name.ip
  become: true

  tasks:
    - name: Create a Project
      ansible.controller.project:
        name: Job Template Test Project
        state: present
        scm_type: git
        scm_url: https://github.com/ansible/ansible-tower-samples.git

    - name: Create a Job Template
      ansible.controller.job_template:
        name: my-job-1
        project: Job Template Test Project
        inventory: Demo Inventory
        playbook: hello_world.yml
        job_type: run
        state: present
Copy to Clipboard Toggle word wrap

有关编写 playbook 的更多详细信息,请参阅 开发自动化内容,或使用 IBM watsonx Code Assistant 用户指南来查阅有关 Red Hat Ansible Lightspeed 的文档,以了解如何生成带有 AI 协助的 playbook。

3.3. 使用规则手册定义事件

Ansible 规则手册是一个规则集集合,它引用一个或多个源、规则和条件。

规则手册属于 Event-Driven Ansible Ansible 整个 playbook。与 playbook 一样,规则手册为平台定义自动化任务,以及它们应何时触发。

3.3.1. 规则手册操作

规则手册使用 "if-this-then-that" 逻辑,告知 Event-Driven Ansible 在触发规则时激活什么操作。event-Driven Ansible 侦听控制器事件流,并在事件触发规则时激活自动化操作。

规则手册可触发以下激活:

  • run_job_template
  • run_playbook (仅支持 ansible-rulebook CLI)
  • debug
  • print_event
  • set_fact
  • post_event
  • retract_fact
  • shutdown

要了解更多有关规则手册激活的信息,请参阅 Ansible Rulebook 文档中的操作。https://ansible.readthedocs.io/projects/rulebook/en/latest/actions.html

3.4. 使用 Ansible 角色捆绑内容

角色就像自定义的自动化内容一样,该角色将相关位从 playbook 中捆绑到一起,以满足您系统的特定需求。角色是自包含且可移植的,可以包含任务、变量、配置模板、处理程序和其他支持文件分组,以编排复杂的自动化流程。

您可以使用角色将任务划分为更小、更分散的工作单元,而不是创建具有数百个任务的大型 playbook。

要了解更多有关角色的信息,请参阅什么是 Ansible 角色,以及如何使用它?

3.4.1. 创建角色

您可以使用 Ansible Galaxy CLI 工具创建角色,该工具包含在 Ansible Automation Platform 捆绑包中。从 role 子命令访问角色特定命令:

ansible-galaxy role init <role_name>
Copy to Clipboard Toggle word wrap

支持集合之外的独立角色。在集合内创建新角色,以利用 Ansible Automation Platform 必须提供的功能。

流程

  1. 在终端中,前往集合中的 roles 目录。
  2. 在集合中创建一个名为 my_role 的角色:

    $ ansible-galaxy role init my_role
    Copy to Clipboard Toggle word wrap

    这个集合现在在 roles 目录中包括一个名为 my_role 的角色,如下例所示:

    ~/.ansible/collections/ansible_collections/<my_namespace>/<my_collection_name>
        ...
        └── roles/
            └── my_role/
                ├── .travis.yml
                ├── README.md
                ├── defaults/
                │   └── main.yml
                ├── files/
                ├── handlers/
                │   └── main.yml
                ├── meta/
                │   └── main.yml
                ├── tasks/
                │   └── main.yml
                ├── templates/
                ├── tests/
                │   ├── inventory
                │   └── test.yml
                └── vars/
                    └── main.yml
    Copy to Clipboard Toggle word wrap
  3. 可以使用-- role-skeleton 参数提供自定义角色 框架目录。这使得组织能够为新角色创建标准化模板,以满足其需求。

    $ ansible-galaxy role init my_role --role-skeleton ~/role_skeleton
    Copy to Clipboard Toggle word wrap

    这会通过将 ~/role_skeleton 的内容复制到 my_role 来创建名为 my_role 的角色。role_skeleton 的内容可以是在角色目录中有效的任何文件或文件夹。

3.5. 关于内容集合

Ansible 内容集合是自动化内容的主要因素。Ansible 集合有两种类型:

  • Ansible 认证内容集合,其中包含完全受支持的角色和模块,它们可在您的环境中使用。
  • Ansible 验证的内容集合,它为您在产品中执行基本操作和任务提供了一种信任的专家指导方法。

两种类型的内容集合都可以通过 Hybrid Cloud Console 在自动化中心中找到。

3.6. 发布到集合

您可以将项目配置为上传到 Git,或配置为上传到您选择的源控制管理器。

流程

  1. 在导航面板中,选择 Automation ExecutionProjects
  2. 找到或创建您要发布到您的源控制管理器的项目。
  3. 在项目 Details 选项卡中,选择 Edit project
  4. Source Control Type 下拉菜单中选择 Git
  5. 在以下字段中输入相关信息:

    1. 源控制 URL - 在工具提示中看到示例。
    2. 可选: Source control branch/tag/commit :从源控制输入 SCM 分支、标签、提交散列、任意 refs 或修订号(如果适用)。除非在下一字段中还提供了自定义 refspec,否则某些提交哈希和引用可能不可用。如果留空,则默认为 HEAD,这是此项目最后一次签出的分支、标签或提交。
    3. 源控制 Refspec - 此字段是 Git 源控制特有的选项,只有熟悉和熟悉的高级用户才应指定要从远程存储库下载哪些参考。如需更多信息,请参阅 作业分支覆盖
    4. 源控制凭证 -如果需要身份验证,请选择适当的源控制凭证。
  6. 可选: Options - 选择启动行为(如果适用):

    1. 进行更新前清除任何本地修改。
    2. 删除 - 在进行更新前删除整个本地存储库。根据存储库的大小,这可能会显著增加完成更新所需的时间。
    3. 跟踪子模块 - 跟踪最新的提交。如需更多信息,请参阅工具提示。
    4. 更新启动时的 Revision,将项目的修订更新至远程源控制中的当前修订版本,并缓存 Ansible GalaxyCollections 中的 roles 目录支持。自动化控制器可确保本地修订版本匹配,并且角色和集合与最近更新保持同步。另外,为了避免在生成作业的速度超过项目可以同步的速度,为了避免作业溢出,请选择此选项可让您配置缓存超时来缓存之前的项目同步。
    5. Allow Branch Override - 启用作业模板或使用此项目的清单源,从项目以外的指定 SCM 分支或修订开始。如需更多信息,请参阅 作业分支覆盖
  7. Save 保存您的项目。

3.6.1. 将集合上传到自动化中心

如果要共享您与其余 Ansible 社区创建的集合,您可以将其上传到自动化中心。

注意

与 Ansible 社区共享集合需要获取由我们的合作伙伴工程团队认证或验证的集合。此操作仅适用于合作伙伴客户。有关成为合作伙伴的更多信息,请参阅我们的 软件认证文档

您可以使用自动化中心用户界面或 ansible-galaxy 客户端上传您的集合。

先决条件

  • 您已为自动化中心配置了 ansible-galaxy 客户端。
  • 您至少有一个命名空间。
  • 您已通过 ansible-test sanity运行所有内容

流程

  1. 在导航面板中,选择 Automation ContentNamespaces
  2. 在 My namespaces 选项卡中,找到并单击您要上传集合的命名空间。
  3. 选择 Collections 选项卡,然后单击 Upload collection
  4. 在 New collection modal 中,点 Select file。在您的系统中找到该文件。
  5. Upload

使用 ansible-galaxy 客户端,输入以下命令:

$ ansible-galaxy collection publish path/to/my_namespace-my_collection-1.0.0.tar.gz --api-key=SECRET
Copy to Clipboard Toggle word wrap

3.7. 构建并使用执行环境

Red Hat Ansible Automation Platform 中的所有自动化都在称为自动化执行环境的容器镜像上运行。

自动化执行环境是一致且可共享的容器镜像,充当 Ansible 控制节点。自动化执行环境减少了共享具有外部依赖项的 Ansible 内容的挑战。如果自动化内容类似于开发人员编写的脚本,则自动化执行环境类似于开发人员环境的副本,从而允许您重现并扩展开发人员编写的自动化内容。这样,执行环境可让您更轻松地在各种环境中实现自动化。

自动化执行环境包括:

  • Ansible 内核
  • Ansible Runner
  • Ansible Collections
  • Python 库
  • 系统依赖项
  • 自定义用户需求

您可以使用 Ansible Automation Platform 订阅中包含的默认基本执行环境,也可以使用 Ansible Builder 定义和创建自动化执行环境。

3.7.1. 使用基本自动化执行环境

使用 Ansible Automation Platform 的订阅可让您访问一些基本自动化执行环境。您可以使用基本执行环境作为创建自定义执行环境的起点。

Ansible Automation Platform 包括以下默认执行环境:

  • minimal - 包括最新的 Ansible-core 2.15 版本和 Ansible Runner,但不包含集合或其他内容
  • EE 支持 - Minimal,以及所有红帽支持的集合和依赖项

Ansible Automation Platform 中包含的基础镜像托管在红帽生态系统目录(registry.redhat.io)上。

先决条件

  • 您有有效的 Red Hat Ansible Automation Platform 订阅。

流程

  1. 登录到 registry.redhat.io。

    $ podman login registry.redhat.io
    Copy to Clipboard Toggle word wrap
  2. 从 registry 中拉取基础镜像:
$podman pull registry.redhat.io/aap/<image name>
Copy to Clipboard Toggle word wrap

其他资源

虽然这些环境涵盖了许多自动化用例,但您也可以根据特定的需求自定义这些容器。有关自定义执行环境的更多信息,请参阅 创建和使用执行环境指南中的自定义现有自动化执行环境镜像

3.7.1.1. 关于 Ansible Builder

您还可以选择使用 Ansible Builder 创建完全新的执行环境,也称为执行环境构建器。Ansible Builder 是一个命令行工具,可用于为 Ansible 创建执行环境。您只能使用 Ansible Builder 创建执行环境。

要构建自己的执行环境,您必须:

  • 下载 Ansible Builder
  • 创建定义执行环境的定义文件
  • 根据定义文件创建执行环境镜像

有关构建执行环境的更多信息,请参阅 创建和使用执行环境

3.7.2. 将执行环境添加到作业模板

先决条件

  • 必须使用 ansible-builder 创建执行环境,如 使用 Ansible Builder 中所述。创建执行环境后,您可以使用它来运行作业。使用自动化控制器 UI 指定作业模板中使用的执行环境。
  • 根据执行环境是否为全局用途或者与某个机构关联,您必须具有适当的管理员特权级别才能在作业中使用执行环境。与组织关联的执行环境需要机构管理员能够使用这些执行环境运行作业。
  • 在运行使用为其分配了凭证的执行环境的作业或作业模板前,请确保凭据具有用户名、主机和密码。

流程

  1. 在导航面板中,选择 Automation ExecutionInfrastructureExecution Environments
  2. 单击 Create execution environment 以创建执行环境。
  3. 在以下字段中输入相关信息:

    1. Name (必需):输入执行环境的名称。
    2. Image (必需):输入镜像名称。镜像名称需要其完整位置(存储库)、registry、镜像名称和版本标签,如下例所示: quay.io/ansible/awx-ee:latestrepo/project/image-name:tag
    3. 可选: Pull: 在运行作业时选择拉取类型:

      1. 在运行前始终拉取容器 :为容器拉取最新的镜像文件。
      2. 只有在运行前不存在时才拉取镜像 :如果没有指定,则仅拉取最新的镜像。
      3. 永不会拉取容器,然后再运行: 永不拉取容器镜像的最新版本。

        注意

        如果没有为 pull 设置类型,则值默认为运行 之前不存在的镜像

    4. 可选: 描述 :输入可选描述。
    5. 可选: 机构 分配机构以专门使用此执行环境。要使执行环境可用于多个机构,请将此字段留空。
    6. Registry 凭证 :如果镜像有一个受保护的容器 registry,提供访问它的凭证。
  4. 单击 Create execution environment。您新添加的执行环境已准备好在作业模板中使用。
  5. 要将执行环境添加到作业模板,请导航到 Automation ExecutionTemplates 并选择您的模板。..Click Edit template 并在标记为执行环境的字段中指定您的 执行环境

验证

将执行环境添加到作业模板后,模板会在执行环境详情的 Templates 选项卡中列出。

3.7.3. 关于容器 registry

如果您有许多要维护的自动化执行环境,您可以将它们存储在链接到私有自动化中心的容器 registry 中。

如需更多信息,请参阅 创建和使用执行环境指南中的 填充私有自动化中心容器 registry

3.8. 构建并使用决策环境

event-Driven Ansible 包含一个 ansible.eda 集合,其中包含示例源、事件过滤器和规则手册。所有集合、ansible 规则手册及其依赖项都使用决策环境,这是可在 Podman 或 Kubernetes 上运行的镜像。

在决策环境中,源通常是 Python 代码,它们通过 ansible-collections 进行发布。它们将外部事件注入处理规则手册。规则手册由以下内容组成:

  • python 解释器
  • Drools 规则集的 Java 运行时环境
  • ansible-rulebook python 软件包
  • ansible.eda 集合

您可以使用基础决策环境,并使用额外的集合和集合依赖项构建自己的自定义决策环境。您可以使用 Dockerfile 构建决策环境,也可以选择将 CA 证书部署到镜像中。

3.8.1. 设置新的决策环境

以下步骤描述了如何将决策环境导入到平台中。

先决条件

  • 您已设置任何必要的凭证。如需更多信息,请参阅使用自动化决策指南中的 设置凭证 部分。
  • 您已将决策环境镜像推送到镜像存储库,或者您选择使用 registry.redhat.io 提供的镜像不受支持

流程

  1. 导航到 Automation DecisionsDecision Environments
  2. Create decision environment
  3. 使用以下命令:

    名称
    插入名称。
    描述
    此字段是可选的。
    Image
    这是完整的镜像位置,包括容器 registry表、镜像名称和版本标签。
    凭证
    此字段是可选的。这是使用决策环境镜像所需的令牌。
  4. 选择 Create decision environment

您的决策环境现已创建,可以在 Decision Environments 页面中管理。

保存新的决策环境后,将显示决策环境的详细信息页面。您可以从那里或 Decision Environments 列表视图编辑或删除它。

3.9. 创建自动化执行环境项目

项目是 playbook 的逻辑集合。根据您选择的机构原则,项目可用作对自动化内容进行分组的方法。

您可以在平台 UI 中设置自动化执行环境项目。

流程

  1. 在导航面板中,选择 Automation ExecutionProjects
  2. Projects 页面上,单击 Create project 以启动 Create Project 窗口。
  3. 在以下必填字段中输入相关信息:

    • Name (必需)
    • 可选: 描述
    • Organization (必需):项目必须至少有一个机构。现在选择一个机构来创建项目。创建项目时,您可以添加额外的机构。
    • 可选: 执行环境 :输入执行环境的名称,或从现有环境列表中搜索以运行此项目。
    • Source Control Type (必需):从菜单中选择与此项目关联的 SCM 类型。以下部分中的选项会根据所选的类型提供。如需更多信息,请参阅 手动管理 playbook 或使用 源控制管理 playbook
    • 可选: Content Signature Validation Credential: 使用此字段启用内容验证。指定用于在项目同步期间验证内容签名的 GPG 密钥。如果内容已被篡改,则该作业将不会运行。如需更多信息,请参阅 项目签名和验证
  4. 单击 Create project

3.10. 创建自动化决策项目

与自动化执行环境一样,自动化决策项目是自动化决策内容的逻辑集合。您可以使用项目功能来组织自动化决策内容。

先决条件

  • 您已设置了任何 neccessary 凭证。如需更多信息,请参阅使用自动化决策指南中的 设置凭证 部分。
  • 您有一个现有的存储库,其中包含了与自动化控制器使用的仓库中包含的 playbook 集成的规则手册。

流程

  1. 在导航面板中,选择 Automation DecisionsProjects
  2. 单击 Create project
  3. 输入以下信息:

    • 名称 :输入项目名称。
    • Description: 此字段是可选的。
    • Organization: 选择与项目关联的机构。
    • 源控制类型 :Git 是唯一可供使用的 SCM 类型。
    • Proxy: 用于访问 HTTP 或 HTTPS 服务器的代理。
    • Source control branch/tag/commit: Branch to checkout。也可以是标签、提交哈希或任意 refs。
    • 源控制 refspec :要获取的 refspec。此参数允许通过分支字段访问原本不可用的引用。
    • 可选: 源控制凭证 :使用源控制 URL 所需的令牌。
    • 内容签名验证凭证 :启用内容签名以验证内容在项目同步期间是否保持安全。如果内容被篡改,则该作业将不会运行。
    • 选项 :选中 验证 SSL 旁边的框,验证 SSL 在项目被导入时验证 SSL。
  4. 单击 Create project

您的项目现已创建,可以在 Projects 屏幕中进行管理。

保存新项目后,会显示项目的详情页面。从这里或项目列表视图中,您可以编辑或删除它。

3.11. 关于清单

清单是列出由 Ansible Automation Platform 管理的主机集合的文件。机构会被分配到清单,而根据清单启动 playbook 的权限则在用户或团队级别控制。

3.11.1. 浏览并创建清单

您可以在 UI 中找到清单,方法是导航到 Automation ExecutionInfrastructureInventories。Inventories 窗口显示当前可用的清单列表。您可以根据名称对清单列表进行排序,并根据清单类型、机构、描述、清单创建者或修饰符或其他条件进行搜索。使用以下步骤创建新清单。

流程

  1. 在导航面板中,选择 Automation ExecutionInfrastructureInventoriesInventories 视图显示当前可用的清单列表。
  2. 单击 Create inventory,然后从列表菜单中选择您要创建的清单类型。
  3. 在以下字段中输入相关信息:

    • Name :输入清单的名称。
    • 可选: 描述 :输入描述。
    • Organization: 在可用机构中进行选择。
    • 仅适用于智能清单:智能主机过滤器 :过滤器与标签中的标签类似,用于过滤包含这些名称的某些主机。因此,要填充此字段,请指定包含您想要的主机的标签,而不是主机本身。过滤是区分大小写的。如需更多信息,请参阅使用 自动化执行指南中的智能主机过滤器。
    • 实例组 : 选择要运行此清单的实例组或组。如果列表太长,请使用搜索来缩小选项范围。您可以选择多个实例组,并根据您想要运行的顺序对它们进行排序。
    • 可选: 标签 :添加描述此清单的标签,以便它们可用于对清单和作业进行分组和过滤。
    • 仅适用于构建的清单:输入清单 :指定要包含在此构建的清单中的源清单。 来自输入清单的空组将复制到构建的清单中。
    • 可选,仅适用于构建的清单: 缓存超时(秒):Set 您希望缓存插件数据超时的时间长度。
    • 仅适用于构建的清单:详细控制 Ansible 生成的输出级别,因为 playbook 执行与构建的清单关联的清单源相关的级别。 从 Normal 到各种 Verbose 或 Debug 设置中选择详细程度。这仅显示在"details"报告视图中。

      • 详细日志记录包括所有命令的输出。
      • 调试日志记录非常详细,包括对某些支持实例有用的 SSH 操作信息。大多数用户都不需要查看调试模式输出。
    • 只适用于构建的清单: 限制 与构建的清单关联的清单源返回的主机数量。您可以将组名称粘贴到 limit 字段中,以仅包含该组中的主机。如需更多信息,请参阅 Source variables 设置。
    • 仅适用于标准清单: 选项 :选中 Prevent 实例组回退 旁边的框,仅启用 实例组 字段中列出的实例组来执行该作业。如果不选中,执行池中的所有可用实例将根据控制在 配置自动化执行指南中的 运行位置 中描述的层次结构使用。单击工具提示以了解更多信息。

      注意

      通过 API 为智能清单设置 prevent_instance_group_fallback 选项。

    • 变量 (构建的清单的源变量 ):

      • 变量 :应用到此清单中的所有主机的变量定义和值。使用 JSON 或 YAML 语法输入变量。使用单选按钮在两者之间切换。
      • 构建的清单的源 变量 用于配置构建的清单插件。源变量在组数据 键下创建组。变量接受 Jinja2 模板语法,呈现每个主机,进行 truefalse 评估,并在结果为 true 时包括组中的主机(来自条目的密钥)。
  4. 单击 Create inventory

创建新清单后,您可以继续配置权限、组、主机、源和查看已完成的作业(如果适用于清单类型)。

3.12. 使用作业模板

作业模板是用于运行 Ansible 作业的定义和一组参数。

作业模板将项目中的 Ansible playbook 和启动它所需的设置合并在一起,包括运行 playbook 的目标主机的信息、用于访问主机的身份验证信息,以及任何其他相关变量。作业模板可用于多次运行同一作业。作业模板还鼓励重复使用 Ansible playbook 内容以及团队间的协作。如需更多信息,请参阅自动化控制器用户指南中的作业模板。

3.12.1. 作业模板入门

作为初始设置的一部分,为您创建一个 Demo Job Template

流程

  1. 要查看现有模板,请从导航面板中选择 Automation ExecutionTemplates
  2. 单击 Demo Job Template 以查看其详细信息。

3.12.2. 设置您感兴趣的域

通过域过滤,您可以自定义 Automation Execution 的 JobsTemplates 子部分显示的内容。作业和模板链接到描述性标签。当您选择一个标签时,您可以过滤掉不太相关的资源,可让您轻松访问与感兴趣的资源相关的资源。

流程

  1. 在导航面板中,选择 Automation ExecutionJobsAutomation ExecutionTemplates
  2. 在页面标题下(在 Domains 旁边)是与主题相关的标签列表。选择一个标签来过滤作业和作业模板,以便只显示与标签相关的内容。您可以选择多个标签。
  3. 要清除您的选择,请单击 X
  4. 要自定义域选项,请选择 Wrench 图标。在出现的模式中,选择 Add Domain to add new domain to filter.
注意

当使用相关域标签过滤时,您可以在单独的作业模板中添加标签,使模板显示为资源。进入 Automation ExecutionTemplates,选择您的作业模板,然后点 Edit template。在编辑屏幕上,在 Labels 字段中输入您要使用的标签,然后点击 Save job template

3.12.3. 创建作业模板

流程

  1. 在导航面板中,选择 Automation ExecutionTemplates
  2. Templates 页面上,从 Create template 列表中选择 Create job template
  3. 在以下字段中输入相关信息:

    注意

    如果某个字段选择了 Prompt on launch 复选框,则启动作业时会提示您输入该字段的值。

    大多数提示的值将覆盖作业模板中设置的任何值。

    下表中会记录例外情况。

    Expand
    字段选项启动时提示

    Name

    输入作业的名称。

    N/A

    描述

    根据需要输入任意描述(可选)。

    N/A

    任务类型

    选择作业类型:

    • 运行:启动时启动 playbook,在选定的主机上运行 Ansible 任务。
    • check:执行 playbook 的"dry run"并报告将要进行的更改,而无需实际进行更改。不支持检查模式的任务将丢失,且不会报告潜在的更改。

    如需有关作业类型的更多信息,请参阅 Ansible 文档中的 Playbook 部分。

    清单(Inventory)

    从可供登录的用户可用的清单中选择要用于此作业模板的清单。

    系统管理员必须授予您或团队权限,才能在作业模板中使用某些清单。

    是。

    清单提示会在后续提示窗口中以自己的步骤的形式显示。

    项目

    从可供登录的用户可用的项目中选择要用于此作业模板的项目。

    N/A

    源控制分支

    只有在您选择了允许分支覆盖的项目时,才会显示此字段。指定要在任务运行中使用的覆盖分支。如果留空,则使用项目中的指定 SCM 分支(或提交散列或标签)。

    如需更多信息,请参阅 作业分支覆盖

    执行环境

    选择要运行此任务的容器镜像。您必须选择一个项目,然后才能选择执行环境。

    是。

    执行环境提示会在后续提示窗口中以自己的步骤的形式显示。

    Playbook

    从可用的 playbook 中选择要使用此作业模板启动的 playbook。此字段自动填充所选项目的项目基本路径中找到的 playbook 名称。另外,如果未列出 playbook,则可以输入 playbook 的名称,如您要使用该 playbook 运行的文件的名称(如 foo.yml)。如果您输入无效的文件名,模板会显示一个错误,或者导致作业失败。

    N/A

    凭证

    选择 examine 图标打开一个单独的窗口。

    从用于此作业模板的可用选项中选择凭据。

    如果列表太长,请使用下拉菜单列表根据凭证类型过滤。某些凭证类型不会被列出,因为它们不适用于某些作业模板。

    • 如果选择,在启动具有默认凭证的作业模板时,如果相同类型,则提供另一个凭证会替换默认凭证。以下是此消息的示例:

    作业模板默认凭据必须替换为同一类型之一。请为以下类型选择一个凭证,以便继续: Machine。

    • 当看到适合时,您可以添加更多凭证。
    • 凭证提示会在后续提示窗口中以自己的步骤的形式显示。

    标签

    • (可选)提供描述此作业模板的标签,如 devtest
    • 使用标签对显示中的作业模板和完成的作业进行分组和过滤。
    • 标签在添加到作业模板时创建。标签使用作业模板中提供的项目与单个机构关联。如果机构的成员具有编辑权限(如 admin 角色),则机构的成员可以在作业模板上创建标签。
    • 保存作业模板后,标签会显示在 Expanded 视图中的 作业模板 概述中。
    • 选择标签旁边的 Disassociate 将其删除。删除标签后,它不再与该特定作业或作业模板关联,但它与引用它的任何其他作业关联。
    • 在启动时,作业会继承作业模板中的标签。如果您从作业模板中删除标签,它也会从作业中删除。
    • 如果选择,即使提供了默认值,也会在启动时提示您提供附加标签(如果需要)。
    • 您无法删除现有标签,选择 Disassociate 只删除新添加的标签,而不是现有的默认标签。

    Forks

    执行 playbook 时使用的并行或同步进程数量。值为零使用 Ansible 默认设置,即五个并行进程,除非在 /etc/ansible/ansible.cfg 中被覆盖。

    限制

    用于进一步限制受 playbook 管理或影响的主机列表的主机模式。您可以通过冒号(:)分隔多个模式。与核心 Ansible 一样:

    • a:b 表示"在组 a 或 b 中"
    • a:b:&c 表示"在 a 或 b 中,但必须在 c 中"。
    • 答:!b 表示"在 a 中,一定不要在 b 中"

    如需更多信息,请参阅 Ansible 文档中的 Patterns:以主机和组为目标

    如果未选中,则作业模板针对清单中的所有节点,或者仅在 Limit 字段中预定义节点执行。作为工作流的一部分运行时,会使用工作流作业模板限制。

    详细程度

    控制 Ansible 在 playbook 执行时生成的输出级别。从 Normal 到各种 Verbose 或 Debug 设置中选择详细程度。这只会出现在 详情 报告视图中。详细日志记录包括所有命令的输出。调试日志记录非常详细,包括对某些支持实例有用的 SSH 操作信息。

    详细程度 5 会导致自动化控制器在作业运行时大量阻断,这可能会延迟报告作业已完成(即使它已经完成),并可能导致浏览器标签页锁定。

    任务分片

    指定您希望此作业模板运行的分片数量。每个片段针对清单的一部分运行相同的任务。有关作业分片的更多信息,请参阅 作业分片

    Timeout(超时)

    这可让您指定在作业被取消前可以运行的时间长度(以秒为单位)。在设置超时值时请考虑以下几点:

    • 在设置中定义了一个全局超时,默认为 0,表示没有超时。
    • 作业模板上的一个负超时(<0)是作业中的 true "no timeout"。
    • 作业模板上的超时为 0,将作业默认为全局超时(默认为没有超时)。
    • 一个正超时会设置该作业模板的超时时间。

    显示更改

    允许您查看 Ansible 任务所做的更改。

    实例组

    选择 Instance 和 Container Groups 来与此作业模板关联。如果列表太长,使用 examine 图标缩小选项范围。作业模板实例组贡献作业调度标准,请参阅 作业运行时 行为 和控制针对规则运行的作业的位置。系统管理员必须授予您或团队权限,才能在作业模板中使用实例组。使用容器组需要 admin 权限。

    • 是。

    如果选择,您将按首选顺序提供作业首选实例组。如果第一个组没有容量,则会考虑列表中的后续组,直到有容量可用为止,该组被选择来运行作业。

    • 如果您提示输入实例组,则输入的内容会替换正常的实例组层次结构,并覆盖所有机构和清单实例组。
    • 实例组提示在后续提示窗口中以自己的步骤的形式显示。

    作业标签

    键入 并选择 Create 菜单,以指定应执行 playbook 的哪些部分。有关更多信息和示例,请参阅 Ansible 文档中的 标签

    跳过标签

    键入 并选择 Create 菜单,以指定要跳过的 playbook 的某些任务或部分。有关更多信息和示例,请参阅 Ansible 文档中的 标签

    额外变量

    • 向 playbook 传递额外的命令行变量。这是 ansible-playbook 的"-e"或"-extra-vars"命令行参数,记录在 Ansible 文档中 在运行时定义变量的 Ansible 文档中
    • 使用 YAML 或 JSON 提供键或值对。这些变量具有最大优先级值,并覆盖其他位置指定的其他变量。以下是一个值: git_branch: production release_version: 1.5

    是。

    如果要能够在调度中指定 extra_vars,您必须在作业模板中为 Variables 选择 Prompt on launch,或者在作业模板上启用问卷调查。那些回答的问卷调查问题将变为 extra_vars

  4. 如果需要,您可以设置启动此模板的以下选项:

    • 权限升级 :如果选中,您可以让此 playbook 以管理员身份运行。这等同于将-- become 选项传给 ansible-playbook 命令。
    • 置备回调 :如果选中,您可以启用主机通过 REST API 调用自动化控制器,并从此作业模板启动作业。如需更多信息,请参阅 置备回调
    • 启用 Webhook :如果选中,您可以打开与用于启动作业模板的预定义 SCM 系统 Web 服务进行接口的功能。GitHub 和 GitLab 是支持的 SCM 系统。如果您启用 Webhook,会显示其他字段,提示输入更多信息:

      • Webhook 服务 :选择要从哪个服务侦听 Webhook。
      • Webhook URL :自动填充将 POST 请求发送到的 Webhook 服务的 URL。
      • Webhook 密钥 :生成共享 secret,供 Webhook 服务用来签署发送到自动化控制器的有效负载。您必须在 Webhook 服务上的设置中对此进行配置,以便自动化控制器接受来自该服务的 Webhook。
      • Webhook 凭证 :(可选)提供 GitHub 或 GitLab 个人访问令牌(PAT)作为凭证,用来向 webhook 服务发回状态更新。

        在选择它前,凭证必须存在。

        请参阅 凭证类型 来创建。

      • 有关设置 Webhook 的更多信息,请参阅使用 Webhook
    • 并发作业 :如果选中,则允许队列中的作业如果不依赖于另一个作业,则同时运行。如果要同时运行作业分片,请选中此框。如需更多信息,请参阅 自动化控制器容量确定和作业影响
    • 启用事实存储 :如果选中,自动化控制器会为与作业运行相关的清单中所有主机存储收集的事实。
    • 防止实例组回退 :检查此选项仅允许 Instance Groups 字段中列出的实例组运行作业。如果清除,则执行池中的所有可用实例将根据控制作业运行位置 中描述的层次结构 使用
  5. 当您完成作业模板详情配置后,点 Create job template

创建模板不会退出作业模板页面,而是提前进入作业模板 详情选项卡。保存模板后,您可以点 Launch template 来启动作业。您还可以点 Edit 添加或更改模板的属性,如权限、通知、查看完成的作业并添加问卷调查(如果作业类型不是扫描)。在启动前,您必须首先保存模板,否则 Launch template 仍然被禁用。

验证

  1. 在导航面板中,选择 Automation ExecutionTemplates
  2. 验证新创建的模板是否出现在 Templates 页面中。

3.12.4. 编辑作业模板

作为初始设置的一部分,您可以将默认的 Demo 作业模板 保留原样,但稍后可以对其进行编辑。

流程

  1. 打开模板以使用以下任一方法编辑它:

    • 在作业模板 Details 页面中,点 Edit
    • 在导航面板中,选择 Automation ExecutionTemplates。点模板名称旁边的 Edit,并编辑适当的详情。
  2. 保存您的更改。

  3. 要在保存并返回到 模板 列表视图后退出,请使用面包屑导航栏导航链接,或单击 Cancel。点 Save 不会退出 Details 对话框。

3.13. 创建并运行规则手册激活

在 Event-Driven Ansible 中,规则手册激活是在后台运行的进程,由执行特定规则手册的决策环境定义。

3.13.1. 设置规则手册激活

先决条件

  • 您已设置了一个项目。
  • 您已设置了决策环境。

流程

  1. 在导航面板中,选择 Automation DecisionsRulebook Activations
  2. Create rulebook activation
  3. 输入以下信息:

    • 名称 :插入名称。
    • Description: 此字段是可选的。
    • Organization: 此字段是可选的。
    • Project: 此字段是可选的。
    • 规则手册 :根据您选择的项目显示 Rulebooks。
    • 凭证 :为这个规则手册激活选择 0 个或更多凭证。此字段是可选的。

      注意

      此字段中显示的凭证根据您的规则激活自定义,仅包含以下凭证类型:Vault、Red Hat Ansible Automation Platform 或您创建的任何自定义凭证类型。有关凭证的更多信息,请参阅 使用 自动化决策指南中的凭证。

    • 决策环境 :决策环境是一个容器镜像,用于运行 Ansible 规则手册。

      注意

      在 Event-Driven Ansible 控制器中,您无法自定义决策环境的拉取策略。默认情况下,它遵循 always 策略的行为。每次启动激活时,系统会尝试拉取镜像的最新版本。

    • 重启策略 :这是决定在容器进程运行源插件后如何重启 的策略。从以下选项中选择:

      • Always :这会立即重新启动规则手册激活,无论它是否成功结束,并且不会超过 5 次。
      • Never :当容器进程结束时,这永远不会重启规则手册激活。
      • 失败时,这会默认在 60 秒后重启规则手册激活,只有在容器进程失败时,才会发生超过 5 次。
    • 日志级别 :此字段定义日志记录事件中的内容的严重性和类型。从以下选项之一中选择:

      • 错误: 包含激活 History 选项卡中显示的错误消息的日志。
      • info :包含有关规则手册激活的有用信息的日志,如成功或失败、触发的操作名称及其关联的操作事件以及错误。
      • debug :包含仅在 debug 阶段有用的信息的日志,在生产期间可能只有较少的值。 此日志级别包括 error 和 log level data。
    • 服务名称 :定义 Kubernetes 的服务名称,以便在激活公开端口时配置入站连接。此字段是可选的。
    • 启用规则手册激活? 要自动启用规则手册激活运行。
    • 变量 :规则手册的变量采用 JSON 或 YAML 格式。内容等同于通过 ansible-rulebook 命令的 --vars 标志传递的文件。
    • 选项 :如果您不想在规则审核中看到您的事件,请检查 Skip audit 选项。
  4. Create rulebook activation

现在,您的规则手册激活已创建,可以在 Rulebook Activations 页面上管理。

保存新的 rulebook 激活后,会显示 rulebook 激活的详情页面,并显示 PendingRunningFailed 状态。从 there 或 Rulebook Activations 列表视图中,您可以重启或删除它。

注意

有时,当源插件关闭时,它会导致规则手册在一定时间后安全退出。当规则手册激活关闭时,任何等待执行的任务都会被取消,并将信息级别消息发送到激活日志。如需更多信息,请参阅 规则手册

3.13.1.1. 规则手册激活列表视图

Rulebook Activations 页面中,您可以查看您创建的规则手册激活以及 Status、带有 规则规则数Fire countRestart count

如果 StatusRunning,这表示规则手册激活在后台运行,并根据规则手册中声明的规则执行必要的操作。

您可以从 Rulebook Activations 列表视图中选择激活来查看更多详情。

对于已运行的所有激活,您可以查看 DetailsHistory 选项卡,以获取有关发生情况的更多信息。

3.13.2. 启用和禁用规则手册激活

流程

  1. 选择行级的切换,以启用或禁用您选择的规则手册。
  2. 在 窗口中,选择 Yes,确认我要启用/禁用这些 X 规则手册激活
  3. 选择 Enable/Disable rulebook activation

3.13.3. 重启规则手册激活

注意

如果当前启用并且重启策略在创建时被设置为 Always,您只能重新启动一个规则手册激活。

流程

  1. 选择 Rulebook Activation enabled/disabled 切换开关旁边的 More Actions 图标
  2. 选择 Restart rulebook 激活
  3. 在 窗口中,选择 Yes,确认我要重新启动这些 X 规则手册激活
  4. 选择 Restart rulebook 激活

3.13.4. 删除规则手册激活

流程

  1. 选择 Rulebook Activation enabled/disabled 切换开关旁的 More Actions 图标
  2. 选择 Create rulebook 激活
  3. 在 窗口中,选择 Yes,我确认我要删除这些 X 规则手册激活
  4. 选择 Delete rulebook 激活

3.13.5. 激活 Webhook 规则手册

在 Openshift 环境中,您可以通过创建一个提供规则手册激活的 Kubernetes 服务的路由来允许 Webhook 通过给定端口访问 activation-job-pod。

先决条件

  • 您已创建了规则手册激活。
注意

以下是带有给定 Webhook 的 rulebook 示例:

- name: Listen for storage-monitor events
  hosts: all
  sources:
    - ansible.eda.webhook:
        host: 0.0.0.0
        port: 5000
  rules:
    - name: Rule - Print event information
    condition: event.meta.headers is defined
    action:
      run_job_template:
        name: StorageRemediation
        organization: Default
        job_args:
          extra_vars:
             message: from eda
             sleep: 1
Copy to Clipboard Toggle word wrap

流程

  1. 创建一个路由(在 OpenShift Container Platform 中)以公开服务。以下是 ansible-rulebook 源的 Route 示例,它要求 POST 在决策环境 pod 的端口 5000 上:

    kind: Route
    apiVersion: route.openshift.io/v1
    metadata:
      name: test-sync-bug
      namespace: dynatrace
      labels:
        app: eda
        job-name: activation-job-1-5000
    spec:
      host: test-sync-bug-dynatrace.apps.aap-dt.ocp4.testing.ansible.com
      to:
        kind: Service
        name: activation-job-1-5000
        weight: 100
      port:
        targetPort: 5000
      tls:
        termination: edge
        insecureEdgeTerminationPolicy: Redirect
      wildcardPolicy: None
    Copy to Clipboard Toggle word wrap
  2. 在创建路由时,使用 到 Route URL 的 Post 进行测试

    curl -H "Content-Type: application/json" -X POST
    test-sync-bug-dynatrace.apps.aap-dt.ocp4.testing.ansible.com -d
    '{}'
    Copy to Clipboard Toggle word wrap
    注意

    您不需要端口,因为它在 Route (targetPort) 上指定。

第 4 章 作为自动化 Operator 入门

作为自动化 Operator,Ansible Automation Platform 可以使用您的机构的红帽认证集合或自定义内容来组织和管理自动化项目。

要开始作为平台 Operator,请参阅以下部分:

4.1. playbook 入门

playbook 将按顺序运行任务,从上到下。在每个 play 中,任务也会按照从上到下的顺序运行。

4.1.1. 了解 playbook

具有多个"play"的 playbook 可以编排多计算机部署,在您的 web 服务器上运行一个 play,在数据库服务器上运行另一个 play,并在网络基础架构中有一个第三个 play。

如需更多信息,请参阅开始使用 playbook

4.2. 编写 playbook

创建一个 playbook,以 ping 您的主机并打印 "Hello world" 消息。

Ansible 使用 YAML 语法。YAML 是一个人类可读的语言,可让您创建 playbook,而无需了解复杂的编码语言。

流程

  1. ansible_quickstart 目录中创建一个名为 playbook.yaml 的文件,其内容如下:

    - name: My first play
      hosts: myhosts
      tasks:
        - name: Ping my hosts
        ansible.builtin.ping:
    
        - name: Print message
        ansible.builtin.debug:
          msg: Hello world
    Copy to Clipboard Toggle word wrap
  2. 运行您的 playbook:

    $ ansible-playbook -i inventory.ini playbook.yaml
    Copy to Clipboard Toggle word wrap

Ansible 返回以下输出:

PLAY [My first play] ********************************************************

TASK [Gathering Facts] ******************************************************
ok: [192.0.2.50]
ok: [192.0.2.51]
ok: [192.0.2.52]

TASK [Ping my hosts] ********************************************************
ok: [192.0.2.50]
ok: [192.0.2.51]
ok: [192.0.2.52]

TASK [Print message] ********************************************************
ok: [192.0.2.50] => {
    "msg": "Hello world"
}
ok: [192.0.2.51] => {

    "msg": "Hello world"
}
ok: [192.0.2.52] => {
    "msg": "Hello world"
}

PLAY RECAP ******************************************************************
192.0.2.50: ok=3    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
192.0.2.51: ok=3    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
192.0.2.52: ok=3    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
Copy to Clipboard Toggle word wrap

其他资源

4.3. 使用 Ansible 角色捆绑内容

角色就像自定义的自动化内容一样,该角色将相关位从 playbook 中捆绑到一起,以满足您系统的特定需求。角色是自包含且可移植的,可以包含任务、变量、配置模板、处理程序和其他支持文件分组,以编排复杂的自动化流程。

您可以使用角色将任务划分为更小、更分散的工作单元,而不是创建具有数百个任务的大型 playbook。

要了解更多有关角色的信息,请参阅什么是 Ansible 角色,以及如何使用它?

4.3.1. 创建角色

您可以使用 Ansible Galaxy CLI 工具创建角色,该工具包含在 Ansible Automation Platform 捆绑包中。从 role 子命令访问角色特定命令:

ansible-galaxy role init <role_name>
Copy to Clipboard Toggle word wrap

支持集合之外的独立角色。在集合内创建新角色,以利用 Ansible Automation Platform 必须提供的功能。

流程

  1. 在终端中,前往集合中的 roles 目录。
  2. 在集合中创建一个名为 my_role 的角色:

    $ ansible-galaxy role init my_role
    Copy to Clipboard Toggle word wrap

    这个集合现在在 roles 目录中包括一个名为 my_role 的角色,如下例所示:

    ~/.ansible/collections/ansible_collections/<my_namespace>/<my_collection_name>
        ...
        └── roles/
            └── my_role/
                ├── .travis.yml
                ├── README.md
                ├── defaults/
                │   └── main.yml
                ├── files/
                ├── handlers/
                │   └── main.yml
                ├── meta/
                │   └── main.yml
                ├── tasks/
                │   └── main.yml
                ├── templates/
                ├── tests/
                │   ├── inventory
                │   └── test.yml
                └── vars/
                    └── main.yml
    Copy to Clipboard Toggle word wrap
  3. 可以使用-- role-skeleton 参数提供自定义角色 框架目录。这使得组织能够为新角色创建标准化模板,以满足其需求。

    $ ansible-galaxy role init my_role --role-skeleton ~/role_skeleton
    Copy to Clipboard Toggle word wrap

    这会通过将 ~/role_skeleton 的内容复制到 my_role 来创建名为 my_role 的角色。role_skeleton 的内容可以是在角色目录中有效的任何文件或文件夹。

4.4. 关于自动化内容

在开始 Ansible 开发项目前,请使用以下 Ansible 概念来创建成功的 Ansible Playbook 和自动化执行环境。

4.4.1. 关于内容集合

Ansible 内容集合是自动化内容的主要因素。Ansible 集合有两种类型:

  • Ansible 认证内容集合,其中包含完全受支持的角色和模块,它们可在您的环境中使用。
  • Ansible 验证的内容集合,它为您在产品中执行基本操作和任务提供了一种信任的专家指导方法。

两种类型的内容集合都可以通过 Hybrid Cloud Console 在自动化中心中找到。

4.4.2. 下载内容

完成集合后,您可以将其导入到可在您的机构中的其他位置。

流程

  1. 登录到 Red Hat Ansible Automation Platform。
  2. 在导航面板中,选择 Automation ContentCollectionsCollections 页面显示所有存储库中的所有集合。您可以搜索特定的集合。
  3. 选择您要导出的集合。此时会打开集合详情页面。
  4. Install 选项卡中,选择 Download tarball.tar 文件下载到您的默认浏览器下载文件夹。现在,您可以将其导入到您选择的位置。

4.5. 发布到集合

您可以将项目配置为上传到 Git,或配置为上传到您选择的源控制管理器。

流程

  1. 在导航面板中,选择 Automation ExecutionProjects
  2. 找到或创建您要发布到您的源控制管理器的项目。
  3. 在项目 Details 选项卡中,选择 Edit project
  4. Source Control Type 下拉菜单中选择 Git
  5. 在以下字段中输入相关信息:

    1. 源控制 URL - 在工具提示中看到示例。
    2. 可选: Source control branch/tag/commit :从源控制输入 SCM 分支、标签、提交散列、任意 refs 或修订号(如果适用)。除非在下一字段中还提供了自定义 refspec,否则某些提交哈希和引用可能不可用。如果留空,则默认为 HEAD,这是此项目最后一次签出的分支、标签或提交。
    3. 源控制 Refspec - 此字段是 Git 源控制特有的选项,只有熟悉和熟悉的高级用户才应指定要从远程存储库下载哪些参考。如需更多信息,请参阅 作业分支覆盖
    4. 源控制凭证 -如果需要身份验证,请选择适当的源控制凭证。
  6. 可选: Options - 选择启动行为(如果适用):

    1. 进行更新前清除任何本地修改。
    2. 删除 - 在进行更新前删除整个本地存储库。根据存储库的大小,这可能会显著增加完成更新所需的时间。
    3. 跟踪子模块 - 跟踪最新的提交。如需更多信息,请参阅工具提示。
    4. 更新启动时的 Revision,将项目的修订更新至远程源控制中的当前修订版本,并缓存 Ansible GalaxyCollections 中的 roles 目录支持。自动化控制器可确保本地修订版本匹配,并且角色和集合与最近更新保持同步。另外,为了避免在生成作业的速度超过项目可以同步的速度,为了避免作业溢出,请选择此选项可让您配置缓存超时来缓存之前的项目同步。
    5. Allow Branch Override - 启用作业模板或使用此项目的清单源,从项目以外的指定 SCM 分支或修订开始。如需更多信息,请参阅 作业分支覆盖
  7. Save 保存您的项目。

4.5.1. 管理 Automation Hub 中的集合

作为平台 Operator,您可以使用 Automation Hub 中的命名空间来策展和管理集合,以满足以下目的:

  • 使用权限创建组来策展命名空间,并将集合上传到私有自动化中心。
  • 在命名空间中添加信息和资源,以帮助其自动化任务中的集合的最终用户。
  • 将集合上传到命名空间。
  • 查看命名空间导入日志,以确定上传集合及其当前批准状态是否成功或失败。

如需有关集合的更多信息,请参阅管理自动化内容

4.5.2. 将集合上传到自动化中心

如果要共享您与其余 Ansible 社区创建的集合,您可以将其上传到自动化中心。

注意

与 Ansible 社区共享集合需要获取由我们的合作伙伴工程团队认证或验证的集合。此操作仅适用于合作伙伴客户。有关成为合作伙伴的更多信息,请参阅我们的 软件认证文档

您可以使用自动化中心用户界面或 ansible-galaxy 客户端上传您的集合。

先决条件

  • 您已为自动化中心配置了 ansible-galaxy 客户端。
  • 您至少有一个命名空间。
  • 您已通过 ansible-test sanity运行所有内容

流程

  1. 在导航面板中,选择 Automation ContentNamespaces
  2. 在 My namespaces 选项卡中,找到并单击您要上传集合的命名空间。
  3. 选择 Collections 选项卡,然后单击 Upload collection
  4. 在 New collection modal 中,点 Select file。在您的系统中找到该文件。
  5. Upload

使用 ansible-galaxy 客户端,输入以下命令:

$ ansible-galaxy collection publish path/to/my_namespace-my_collection-1.0.0.tar.gz --api-key=SECRET
Copy to Clipboard Toggle word wrap

4.6. 构建并使用执行环境

Red Hat Ansible Automation Platform 中的所有自动化都在称为自动化执行环境的容器镜像上运行。

自动化执行环境是一致且可共享的容器镜像,充当 Ansible 控制节点。自动化执行环境减少了共享具有外部依赖项的 Ansible 内容的挑战。如果自动化内容类似于开发人员编写的脚本,则自动化执行环境类似于开发人员环境的副本,从而允许您重现并扩展开发人员编写的自动化内容。这样,执行环境可让您更轻松地在各种环境中实现自动化。

自动化执行环境包括:

  • Ansible 内核
  • Ansible Runner
  • Ansible Collections
  • Python 库
  • 系统依赖项
  • 自定义用户需求

您可以使用 Ansible Automation Platform 订阅中包含的默认基本执行环境,也可以使用 Ansible Builder 定义和创建自动化执行环境。

4.6.1. 使用基本自动化执行环境

使用 Ansible Automation Platform 的订阅可让您访问一些基本自动化执行环境。您可以使用基本执行环境作为创建自定义执行环境的起点。

Ansible Automation Platform 包括以下默认执行环境:

  • minimal - 包括最新的 Ansible-core 2.15 版本和 Ansible Runner,但不包含集合或其他内容
  • EE 支持 - Minimal,以及所有红帽支持的集合和依赖项

Ansible Automation Platform 中包含的基础镜像托管在红帽生态系统目录(registry.redhat.io)上。

先决条件

  • 您有有效的 Red Hat Ansible Automation Platform 订阅。

流程

  1. 登录到 registry.redhat.io。

    $ podman login registry.redhat.io
    Copy to Clipboard Toggle word wrap
  2. 从 registry 中拉取基础镜像:
$podman pull registry.redhat.io/aap/<image name>
Copy to Clipboard Toggle word wrap

其他资源

虽然这些环境涵盖了许多自动化用例,但您也可以根据特定的需求自定义这些容器。有关自定义执行环境的更多信息,请参阅 创建和使用执行环境指南中的自定义现有自动化执行环境镜像

4.6.2. 将执行环境添加到作业模板

先决条件

  • 您必须构建执行环境,如构建执行环境 中所述,然后才能使用自动化控制器创建 执行环境

    在构建后,您必须将它推送到存储库(如 quay),然后在 UI 中使用自动化控制器创建执行环境时,您必须指向该存储库在 Ansible Automation Platform 中使用它,例如在作业模板中使用。

  • 根据执行环境是否为全局用途或者与某个机构关联,您必须具有适当的管理员特权级别才能在作业中使用执行环境。与组织关联的执行环境需要机构管理员能够使用这些执行环境运行作业。
  • 在运行使用为其分配了凭证的执行环境的作业或作业模板前,请确保凭据包含用户名、主机和密码。

流程

  1. 在导航面板中,选择 Automation ExecutionInfrastructureExecution Environments
  2. Create execution environment 添加执行环境。
  3. 在以下字段中输入相关信息:

    • Name (必需):输入执行环境的名称。
    • Image (必需):输入镜像名称。镜像名称需要其完整位置(存储库)、registry、镜像名称和版本标签,格式为 quay.io/ansible/awx-ee:latestrepo/project/image-name:tag
    • 可选: Pull: 在运行作业时选择拉取类型:

      • 在运行前始终拉取容器 :为容器拉取最新的镜像文件。
      • 只有在运行前不存在时才拉取镜像 :如果没有指定,则仅拉取最新的镜像。
      • 永不会拉取容器,然后再运行: 永不拉取容器镜像的最新版本。

        注意

        如果没有为 pull 设置类型,则值默认为运行 之前不存在的镜像

    • 可选: 描述
    • 可选: 机构 分配机构以专门使用此执行环境。要使执行环境可用于多个机构,请将此字段留空。
    • Registry Credential: 如果镜像有一个受保护的容器 registry,请为访问它的凭证提供凭证。
  4. 单击 Create execution environment

    您新添加的执行环境已准备好在作业模板中使用。

  5. 要将执行环境添加到作业模板,请在作业模板的 Execution Environment 字段中指定它。

当您将执行环境添加到作业模板时,这些模板会在执行环境的 Templates 选项卡中列出:

4.7. 自动执行项目

项目是您可以在 Ansible Automation Platform 中管理的 Ansible playbook 的逻辑集合。

平台管理员和自动化开发人员具有创建项目的权限。作为自动化 Operator,您可以查看和同步项目。

4.7.1. 查看项目详情

Projects 页面中显示当前可用的项目列表。

  1. 在导航面板中,选择 Automation ExecutionProjects
  2. 点项目查看其详情。
  3. 对于列出的每个项目,您可以使用每个项目旁边的图标同步最新的修订、编辑项目或复制项目的属性。

4.8. 使用作业模板

作业模板是用于运行 Ansible 作业的定义和一组参数。

作业模板将项目中的 Ansible Playbook 与启动该作业所需的设置合并。作业模板可用于多次运行同一作业。作业模板还鼓励重复使用 Ansible Playbook 内容和团队之间的协作。如需更多信息,请参阅使用自动化执行指南中的 作业模板

平台管理员和自动化开发人员具有创建作业模板的权限。作为自动化 Operator,您可以启动作业模板并查看其详情。

4.8.1. 启动作业模板

Ansible Automation Platform 提供 Ansible playbook 的按钮式部署。您可以配置模板,以存储您通常在命令行上传递给 Ansible playbook 的所有参数。除了 playbook 外,模板还会传递清单、凭证、额外变量以及您可以在命令行上指定的所有选项和设置。

流程

  1. 在导航面板中,选择 Automation ExecutionTemplates
  2. 选择一个模板来查看其详情。在初始设置过程中会创建一个默认作业模板,以帮助您开始,但您也可以自行创建。
  3. Templates 页面中,点启动图标来运行您的作业模板。

Templates 列表视图显示当前可用的作业模板。默认视图为折叠状态(Compact),显示模板名称、模板类型和使用该模板运行的最后一个作业的时间戳。您可以单击每个条目旁边的箭头图标,以展开和查看更多信息。此列表按名称按字母顺序排序,但您可以根据其他条件排序,或者按各种模板字段和属性进行搜索。

在此屏幕中,您可以启动、编辑和复制作业模板。

有关模板的更多信息,请参阅使用 自动化执行指南中的 作业模板和工作流作业模板 部分。

4.9. 关于清单

清单是列出由 Ansible Automation Platform 管理的主机集合的文件。机构会被分配到清单,而根据清单启动 playbook 的权限则在用户或团队级别控制。

平台管理员和自动化开发人员具有创建清单的权限。作为自动化 Operator,您可以查看清单及其详情。

4.9.1. 执行清单

流程

  1. 在导航面板中,选择 Automation ExecutionInfrastructureInventoriesInventories 窗口显示当前可用的清单列表,以及以下信息:

    • Name :清单名称。
    • 状态 :状态是:

      • 成功 :清单同步成功完成。
      • disabled: 没有添加到清单中的清单源。
      • Error: 清单源出错。
    • Type: 标识清单是标准清单、智能清单还是构建的清单。
    • Organization: 清单所属的机构。
  2. 选择一个清单名称来显示清单的 Details 页面,包括清单的组和主机。

有关清单的更多信息,请参阅使用自动化执行指南中的 清单 部分。

4.10. 自动化执行作业

作业是 Ansible Automation Platform 的一个实例,它根据主机清单启动 Ansible Playbook。

4.10.1. 检查作业状态

Jobs 列表视图显示作业列表及其状态,显示为成功完成、失败或活跃(正在运行)作业。

流程

  1. 在导航面板中,选择 Automation ExecutionJobs

    默认视图为折叠状态(Compact),作业名称、状态、作业类型、启动和完成时间。您可以点箭头图标展开并查看更多信息。您可以根据各种条件对列表进行排序,并执行搜索来过滤感兴趣的作业。

  2. 在这个屏幕中,您可以完成以下任务:

    • 查看作业的详细信息和标准输出。
    • 重新启动作业。
    • 删除所选作业。

重新启动操作只适用于重新启动 playbook 运行,不适用于项目或清单更新、系统作业或工作流作业。

4.10.2. 查看作业输出

当您重新启动作业时,会显示 jobs Output 视图。

流程

  1. 在导航面板中,选择 Automation ExecutionJobs
  2. 选择一个作业。这会进入该作业的 Output 视图,您可以在其中根据这些条件过滤作业输出:

    • Search output 选项允许您按关键字进行搜索。
    • Event 选项允许您根据感兴趣的事件进行过滤,如错误、主机失败、主机重试和跳过的项目。您可以根据需要在过滤器中包含多个事件。

第 5 章 产品通知 Feed

Ansible Automation Platform RSS 通知源将在 2025 年 7 月有效。此源充当与客户通信各种产品更新和更改的方法。

通过访问 announcements.ansiblecloud.redhat.com/feed.atom,用户可以订阅通知。使用 RSS 源读取器,客户将使用 Ansible Automation Platform 升级和系统维护等事件进行更新。

所有 Ansible Automation Platform 客户都可以订阅此内容。消息包括分类标签,以指定部署类型:managed、self-managed (on-prem)或组合。红帽正在开发一个将来的增强功能,将此功能直接集成到 UI 中。

法律通告

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat