Account 登录
Jump to section

什么是 Ansible Playbook?

复制 URL

Ansible® playbook 是设定自动化任务的一种蓝图,可在无需人工干预或有限干预的前提下执行复杂的 IT 操作。Ansible playbook 对一组或一类共同构成 Ansible 清单的主机执行。

Ansible playbook 本质上是一些框架,是一些预先编写的代码,开发人员可以用作临时模板或起始模板。Ansible playbook 常被用于自动化 IT 基础架构(例如,操作系统和 Kubernetes 平台)、网络、安全系统,以及开发人员角色(例如 Git)。

Ansible Playbook 可以帮助 IT 人员进行应用、 服务、服务器节点或其他设备的编程,无需花费人力去从头创建所有事物。Ansible playbook 及其中的条件、变量和任务,都可以无限期保存、分享或重复使用。

Ansible 模块执行任务。一个或多个 Ansible 任务可以合并为一个 play。一个或多个 play 可以合并为一个 Ansible playbook。Ansible playbook 是一个对主机自动执行的任务列表。主机的群组可以构成 Ansible 库存清单。

Ansible playbook 内的每个模块都执行一项具体的任务。每个模块内的元数据将决定执行任务的时间和地点,以及执行的用户。另外,还有数千个其他 Ansible 模块执行各种 IT 任务,例如:

云管理

oci_vcn 在 Oracle 云基础架构环境中创建、删除或更新 虚拟网络。同样,vmware_cluster 负责添加、删除或更新 VMware vSphere 集群。

用户管理

seloginLinux® 操作系统(OS)用户映射到 SELinux 用户,而 gitlab_user 负责创建、更新或删除 GitLab 用户。

网络

有数十个模块负责处理应用编程接口(API);Cisco IOSNXOSIOS XR 设备;以及 F5 BIG-IP 服务。

安全

Openssh_cert 生成 OpenSSH 主机或用户证书,ipa_config 管理全局 FreeIPA 配置设置。

配置管理

pip 管理 Python 库的依赖关系,assemble 负责合并片段中的配置文件。

通信

mail 可以根据特定标准自动发送电子邮件,snow_record 创建、删除或更新 ServiceNow 中的单个记录。

Ansible 能够与不同设备类别通信,包括从云端 REST API 到 Linux 和 Windows 系统,以及网络硬件等等。以下示例显示两个 Ansible 模块自动更新两种服务器:

--- name: update web servers
  hosts: webservers
  remote_user: root

  tasks:
  - name: ensure apache is at the latest version
    yum:
      name: httpd
      state: latest
  - name: write the apache config file
    template:
      src: /srv/httpd.j2
      dest: /etc/httpd.conf

- name: update db servers
  hosts: databases
  remote_user: root

  tasks:
  - name: ensure postgresql is at the latest version
    yum:
      name: postgresql
      state: latest
  - name: ensure that postgresql is started
    service:
      name: postgresql
      state: started

此 playbook 中包含两个 play: 

  • 第一个 play 检查 Web 服务器软件是否为最新版本,并根据需要运行更新
  • 第二个 play 检查数据库服务器软件是否为最新版本,并根据需要运行更新

自出心裁,释放创新动力。

Ansible 使用 YAML 语法。根据您询问对象的不同,YAML 可以代表另一种标记语言,或者,YAML 不代表任何标记语言(一种递归缩写)。另外,还有两种不同,但得到完全认可的 YAML 文件扩展名:.yaml 或 .yml。

Ansible playbook 有两种使用方式:从命令行接口(CLI)使用,或者使用红帽 Ansible 自动化平台的按钮部署。

从 CLI 使用时

安装 Ansible 开源项目或红帽 Ansible 自动化平台(就像在红帽企业 Linux CLI 中输入 sudo yum 并安装 ansible 一样简单)后,您只需使用 ansible-playbook 命令运行 Ansible playbook。

从平台内使用时

红帽 Ansible 自动化平台网络用户接口中包含 Ansible playbook 按钮部署,后者可作为大型任务(或工作模板)的一部分。这些部署附带额外的安全措施,对于 IT 自动化新手或在 CLI 方面经验不足的用户特别有帮助。

详细了解自动化

产品

Red Hat Consulting

红帽的战略顾问将从大局出发,以战略性视角审视企业发展,分析您当前面临的业务挑战,并提供全面、低成本、高效益的解决方案,帮助您轻松应对各项挑战。

Red Hat Ansible Automation Platform

无论您处于自动化之旅的哪个阶段,这个实施企业级自动化的平台都能助您一臂之力

Red Hat Process Automation

用于开发云原生应用,以实现业务决策和流程自动化的平台。

相关资源

培训

免费培训课程

Ansible 必备:轻松实现自动化之技术概览

免费培训课程

针对 SAP 的红帽 Ansible 自动化

Illustration - mail

获取更多类似的内容

免费订阅我们的 Red Hat Shares 通讯邮件