Documentation

32. 术语表

临时(Ad Hoc)

运行 Ansible 来执行一些快速命令,它使用 /usr/bin/ansible,而不是编配语言 /usr/bin/ansible-playbook。例如,可以使用临时命令在您的基础架构中重新引导 50 台机器。通过临时命令实现的工作均可通过编写 Playbook 来完成,而且 Playbook 还可以将许多其他操作粘接在一起。

回调插件(Callback Plugin)

用户编写的代码,这些代码可以从 Ansible 截取结果,并使用它们。GitHub 项目中提供的一些示例,如执行自定义日志记录、发送电子邮件,甚至播放音效。

控制组

也称为 'cgroups',控制组是 Linux 内核中的功能,允许分组和分配资源以运行某些进程。除了为进程分配资源外,cgroups 还能报告在 cgroup 中运行的所有进程的实际资源使用情况。

检查模式

使用 --check 选项运行 Ansible。该选项不会对远程系统进行任何更改,只输出当命令不带此标志运行时可能发生的更改。这与其他系统中的所谓“干运行(dry run)”模式类似。用户应该注意,此模式不考虑意外的命令失败或级联效应(这与其他系统中的类似模式一样)。使用该模式可以了解可能发生的情况,但不能代替临时(stage)环境。

容器组

容器组是实例组的一种类型,用于指定在运行任务的 Kubernetes 或 OpenShift 集群中置备 pod 的配置。这些 pod 是按需置备的,仅存在于 playbook 运行期间。

凭证

Authentication details that may be utilized by the controller to launch jobs against machines, to synchronize with inventory sources, and to import project content from a version control system.

凭证插件

Python 代码,包含外部凭证类型、其元数据字段以及与 secret 管理系统交互所需代码的定义。

分布式作业

由作业模板、清单和分片大小组成的作业(job)。当执行分布式作业时,该作业会将每个清单划分为多个“分片大小(slice size)”的区块,然后用于运行较小的作业分片。

外部凭证类型

A managed credential type for automation controller used for authenticating with a secret management system.

事实

“事实(fact)”是发现的有关远程节点的情况。虽然可以在 playbook 和模板中像使用变量一样使用它们,但事实是推断的情况,而不是设置的情况。当通过在远程节点上执行内部设置模块来运行 play 时,会自动发现事实。您不必显式调用设置模块,它会运行,但是如果不需要该模块,也可以将其禁用以节省时间。为了方便从其他配置管理系统切换过来的用户,事实模块还从 ‘ohai’ 和 ‘facter’ 工具(如果已安装)拉取 (pull) 事实,这两种工具分别是来自 Chef 和 Puppet 的事实库。

分叉(fork)

Ansible and automation controller talk to remote nodes in parallel and the level of parallelism can be set serveral ways--during the creation or editing of a Job Template, by passing --forks, or by editing the default in a configuration file. The default is a very conservative 5 forks, though if you have a lot of RAM, you can easily set this to a value like 50 for increased parallelism.

Ansible 中的一组主机,其中多个主机可能存在于单个清单中。

组变量

group_vars/ 文件是与清单文件共存在目录中的文件,具有以每个组命名的可选文件名。这是放置为给定组提供的变量(特别是复杂的数据结构)的便利位置,因此这些变量不必嵌入到清单文件或 playbook 中。

处理程序(handler)

处理程序与 Ansible playbook 中的常规任务类似(请参阅“任务”),但只有在任务包含一个“notify”指令且表明该指令做出更改时才运行。例如,如果更改了配置文件,则引用配置文件模板操作的任务可能会通知服务重启处理程序。这意味着只有在需要重启服务时,服务才可以退回。处理程序可以用于服务重启以外的其他事务,但服务重启最为常见。

主机

A system managed by automation controller, which may include a physical, virtual, cloud-based server, or other device. Typically an operating system instance. Hosts are contained in Inventory. Sometimes referred to as a "node".

主机指定符

Ansible 中的每个 Play 会将一系列任务(定义系统的角色、目的或顺序)映射到一组系统。每个 play 中的这个“hosts:”指令通常称为主机指定符。它可以选择一个系统、多个系统、一个或多个组,甚至在一个组中且不在另一组中的一些主机。

实例组

在集群环境中使用的实例的组。实例组提供根据策略对实例进行分组的能力。

清单(inventory)

可对其启动任务的主机集合。

清单脚本

一个非常简单的程序(或复杂的程序),它查找主机、主机的组成员资格以及外部资源(SQL 数据库、CMDB 解决方案或者类似 LDAP 的协议)的变量信息 。这个概念来源于 Puppet(被称为“外部节点分类器”),工作方式差类似。

清单源

有关应当合并到当前清单组中的云或其它脚本的信息,从而可自动填充组、主机以及有关这些组和主机的变量。

作业(job)

One of many background tasks launched by the controller, this is usually the instantiation of a Job Template; the launch of an Ansible playbook. Other types of jobs include inventory imports, project synchronizations from source control, or administrative cleanup actions.

作业详情

运行特定作业的历史记录,包括其输出和成功/失败状态。

作业分片

请查看 Distributed Job

任务模板

Ansible playbook 以及启动它所需的一组参数的组合。

JSON

Ansible and automation controller use JSON for return data from remote modules. This allows modules to be written in any language, not just Python.

Mesh(网格)

描述由节点组成的网络。节点之间的通信通过 TCP、UDP 或 Unix 套接字等协议在传输层建立。请参阅 node

元数据

身份验证后,用于在外部系统中查找 secret 的信息。用户在将外部凭证链接到目标凭证字段时提供该信息。

节点

节点与实例数据库模型或 /api/v2/instances/ 端点中的条目对应,是一个机器参与集群/网格。统一作业 API 报告 controller_node 和 execution_node 字段。执行节点是作业运行的位置,以及作业和服务器功能之间的控制器节点接口。

节点类型

描述

Control(控制)

用于运行具有持久性的 Ansible Automation Platform 服务,并将作业委托给混合节点和执行节点

Hybrid(混合)

运行具有持久性的 Ansible Automation Platform 服务和执行作业的节点

Hop(跃点)

只用于跨网格转发

Execution(执行)

用于运行从控制节点交付的作业(从用户的 Ansible 自动化提交的作业)的节点

通知模板

通知类型的实例(电子邮件、Slack 、Webhook 等),其名称、描述和定义的配置。

通知

通知模板的清单;例如,任务失败时使用通知模板定义的配置发送通知。

通知

任务注册更改事件并通知处理器任务在 play 结束时需要运行另一个操作的动作。如果多个任务通知了同一个处理器,它仍将只运行一次。处理程序会按照列出顺序运行,而不是按照通知的顺序运行。

机构(Organization)

A logical collection of Users, Teams, Projects, and Inventories. The highest level in the automation controller object hierarchy is the Organization.

机构管理员

An automation controller user with the rights to modify the Organization's membership and settings, including making new users and projects within that organization. An organization admin can also grant permissions to other users within the organization.

权限

The set of privileges assigned to Users and Teams that provide the ability to read, modify, and administer Projects, Inventories, and other automation controller objects.

Play

Playbook 是 play 的列表。一个 play 至少是一组由主机指定符选择的(通常由组选择,但有时由主机名 glob 选择)主机和那些主机上运行的任务之间的映射,用来定义那些系统要执行的角色。playbook 中可以有一个或多个 play。

Playbook

一个 Ansible playbook。如需更多信息,请参阅 http://docs.ansible.com/

策略

策略指定实例组的行为方式以及任务的执行方式。

项目

A logical collection of Ansible playbooks, represented in automation controller.

角色

Roles are units of organization in Ansible and automation controller. Assigning a role to a group of hosts (or a set of groups, or host patterns, etc.) implies that they should implement a specific behavior. A role may include applying certain variable values, certain tasks, and certain handlers--or just one or more of these things. Because of the file structure associated with a role, roles become redistributable units that allow you to share behavior among playbooks--or even with other users.

Secret 管理系统

用于安全存储并控制对令牌、密码、证书、加密密钥和其他敏感数据的访问的服务器或服务。

调度

作业应自动运行的日期和时间日历。

分片作业

请查看 Distributed Job

源凭证

链接到目标凭证字段的外部凭证。

Sudo

Ansible 不需要使用 root 进行登陆,因为它没有守护进程,也就不需要 root 级守护的进程(在一个敏感的环境中,root 一级的守护进程可能会造成安全问题)。Ansible 可以登录并使用 sudo 命令执行多个操作,并可同时使用无密码和基于密码的 sudo。在以 sudo 模式运行时,某些通常无法使用 sudo``(如 ``scp 文件传输)的操作可以通过 Ansible 的 copytemplatefetch 模块实现。

超级用户(Superuser)

An admin of the automation controller server who has permission to edit any object in the system, whether associated to any organization. Superusers can create organizations and other superusers.

问卷调查

在作业启动时由作业模板询问的问题,可在作业模板上配置。

目标凭证

一个非外部的凭证,它带有一个输入字段,用来链接到外部凭证。

团队(team)

具有关联用户、项目、凭证和权限的机构子部门。团队提供了一种方法来实现基于角色的访问控制方案,并跨机构委派责任。

用户

An automation controller operator with associated permissions and credentials.

Webhook

Webhook 允许应用程序间的通信和信息共享。它们用于响应推送到 SCM 的提交以及启动作业模板或工作流模板。

工作流作业模板

由任何作业模板组合、项目同步和清单同步组成的集合,将它们链接在一起,以便以单个单元的形式执行。

YAML

Ansible and automation controller use YAML to define playbook configuration languages and also variable files. YAML has a minimum of syntax, is very clean, and is easy for people to skim. It is a good data format for configuration files and humans, but is also machine readable. YAML is fairly popular in the dynamic language community and the format has libraries available for serialization in many languages (Python, Perl, Ruby, etc.).