联系我们
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® 操作系统用户映射到 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 方面经验不足的用户特别有帮助。

扩展阅读

文章

Ansible 基础知识入门

Ansible 是一种对 IT 流程自动化的工具,如置备和配置管理等流程。希望能通过这篇 Ansible 关键概念的介绍,帮助您了解 Ansible 的基础知识。

文章

什么是业务流程管理?

业务流程管理(BPM)是指对端到端业务流程进行建模、分析和优化,以实现战略业务目标。

文章

为什么选择红帽实现自动化?

红帽 Ansible 自动化平台中包含了在团队间分享自动化以及实现企业级自动化所需的各种工具。

详细了解自动化

产品

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

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

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

相关资源

电子书

自动化企业:实现人员和流程的统一

电子书

自动化基础架构工作流

摘要

红帽认证工程师技能路径

 

电子书

数字化转型,开源之路

电子书

实战经验谈:系统管理员 IT 自动化指南

产品规格表

红帽企业 Linux 自动化和管理

检查清单

自动修复性能问题的三大好处

电子书

自动化架构师手册

培训

免费培训课程

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

免费培训课程

针对 SAP 的红帽 Ansible 自动化

Illustration - mail

获取更多类似的内容

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