type
status
date
slug
summary
tags
category
icon
password
书籍

编写和运行Ansible Playbook

Ansible Playbook 是一种用于自动化任务的工具,通过书写一系列任务(tasks)来实现系统配置、软件部署或其他 IT 操作的自动化。Playbook 使用 YAML 语法,结构化地定义每一步操作。

单任务Playbook 结构示例:

YAML 语法要点:

  • 缩进:使用空格,推荐使用2个或4个空格来缩进。
  • 空行:可以使用空行来提高可读性。
  • 缩进规则:子项必须比父项缩进更多。

注意事项:

  • 只能使用空格来缩进,不能使用制表符。
  • 如果使用 vi 编辑器,可以在 .vimrc 中配置以优化 YAML 文件的编写体验,例如:

多任务 Playbook 示例

关键点

  1. hosts: 指定要操作的目标主机。
  1. tasks: 定义要执行的多个任务。
  1. 顺序: 任务按顺序执行,依次创建用户、安装 nginx、复制配置文件。
要查找适合用于任务的模块,您可以按照以下步骤:
  1. Ansible 官方文档:
      • 访问 Ansible 模块文档 来查看 ansible.builtin 模块集合。
      • 模块按照用途分类,涵盖文件操作、包管理、用户管理等常见任务。
  1. 使用 ansible-navigator 查找模块:
      • 启动 ansible-navigator,然后键入 :collections,可以查看已安装的模块集合。
      • 使用冒号 : 后跟模块行号,可以获取详细的模块文档,按 Esc 键返回上一层列表。
  1. 使用命令行帮助:
      • 使用 ansible-doc -l 可以列出所有可用模块。
      • 使用 ansible-doc <模块名> 可以查看特定模块的文档,获取其参数和使用示例。
通过这些工具,您可以方便地查找和了解 Ansible 模块,并应用到您的任务中。
在 Ansible 中,有几个关键概念需要理解:
  1. Ansible Galaxy 和 Automation Hub:
      • Ansible Galaxy: 是一个公开的集合库,提供社区发布的 Ansible 内容集合。网址为 Ansible Galaxy
      • Automation Hub: 是由企业内部管理的私有自动化内容库,可以通过 Red Hat Automation Hub 访问。
  1. FQCN (Fully Qualified Collection Name):
      • 模块使用时的全称,格式为 collection_name.module_name,例如 ansible.builtin.copy
      • 在 Playbook 中,可以省略 FQCN,但为了避免冲突和提高可读性,推荐使用全称。
  1. Idempotency (幂等性):
      • Ansible 的任务大多是幂等的,即重复运行相同任务不会改变系统状态。比如,如果文件已存在,使用 copy 模块将不会再次覆盖它。
这些概念帮助确保在使用 Ansible 时,任务具有可重复性和一致性。
 

1. 执行 Playbook

运行命令:
展示 Playbook 执行的详细结果。

2. Playbook 示例

  • hosts:目标主机。
  • tasks:安装 httpd 最新版本。

3. 执行结果

输出:
说明目标主机安装了最新的 httpd

4. 小结

通过 Playbook 自动化执行软件安装任务,确保目标主机达到预期状态。

Ansible Navigator 输出详细程度与语法检查

1. 输出详细程度

使用 ansible-navigator run 时,可以通过 -v 选项设置输出详细程度,分为四个级别:
选项
描述
-v
显示任务结果。
-VV
显示任务结果和任务配置。
-VVV
显示关于受管主机连接情况的更多信息。
-VVVV
增加连接插件的详细信息,包括执行脚本的用户及其命令。

2. 语法验证

使用以下命令检查 Playbook 语法:
如果语法有误,系统将返回错误信息,指明错误位置。

示例输出:

3. 执行空运行

使用 --check 选项进行空运行:
此命令将检测 Playbook 的更改而不实际执行任何操作。

练习:

Ansible Playbook 示例及步骤:

Ansible Playbook 示例

步骤

  1. 语法检查
    1. 运行 Playbook
      1. 验证服务
         
         
        相关文章
        RHCE 9版本考试资料
        Lazy loaded image
        40.总复习-4 实验手册:galaxy角色配置与部署
        Lazy loaded image
        39.总复习-3 实验手册:配置 RHEL 系统角色和用户管理
        Lazy loaded image
        38.总复习-2 实验手册:Ansible Web 服务器配置和测试
        Lazy loaded image
        37.总复习-1 实验手册:配置和运行Ansible脚本
        Lazy loaded image
        36:总复习
        Lazy loaded image
        05:实施Playbook-4 实施多个play03:实施Playbook-2 管理Ansible配置文件
        Loading...
        みなみ
        みなみ
        一个普通的干饭人🍚
        最新发布
        35条書面-64問-1
        2025年6月13日
        TOKYO自習島
        2025年6月10日
        平成26年秋期 午後問1
        2025年6月6日
        令和5年秋期 午後問1
        2025年6月6日
        令和2年秋期 午後問1
        2025年6月6日
        業務上の規制-87問-1
        2025年6月4日
        公告

        🎉 欢迎访问我的博客 🎉

        🙏 感谢您的支持 🙏

        📅 本站自 2024年9月1日 建立,致力于分享在 IT・MBA・不动产中介 等领域的学习与实践,并推动 学习会 的自主开展。
        📖 博客语言使用比例
        🇯🇵 日语 90% 🇨🇳 中文 8% 🇬🇧 英语 2%

        📚 主要内容

        💻 IT・系统与开发

        • 系统管理:Red Hat 等
        • 容器与编排:Kubernetes、OpenShift
        • 云计算:AWS、IBM Cloud
        • AI 入门:人工智能基础与实践
        • 技术笔记与考证经验

        🏠 不动产 × 宅建士

        • 宅建士考试笔记

        🎓 MBA 学习笔记

        • 管理学、经济学、财务分析等

        🔍 快速查找内容(标签分类)

        由于网站目前没有专门的设计,可能会导致查找信息不便。为了更快找到你感兴趣的内容,推荐使用以下标签功能 进行搜索!
        📌 定期更新,欢迎常来看看!
        📬 有任何建议或想法,也欢迎留言交流!