type
status
date
slug
summary
tags
category
icon
password
书籍
 

1. 管理大型 Playbook

大型 Playbook 可以分割成更小的文件,以便于管理。可以将多个 Playbook 组合到一个主 Playbook 中,或在 Playbook 中插入文件的任务列表,从而实现任务的重用。

2. 导入与包含

Ansible 支持两种将内容插入 Playbook 的方式:
  • 包含 (include):动态操作,在 Playbook 运行期间即时处理。
  • 导入 (import):静态操作,在 Playbook 初始解析时预处理导入的内容。

3. 导入 Playbook

  • 使用 import_playbook 指令将其他 Playbook 文件导入主 Playbook,仅能在 Playbook 顶层使用。
  • 示例:

    4. 导入与包含任务文件

    • 导入任务文件 (import_tasks):静态导入,解析 Playbook 时即插入。
      • 示例:
      • 包含任务文件 (include_tasks):动态导入,Play 运行到指定位置时插入。
        • 示例:

        5. 条件使用的区别

        • 对于 import_* 指令中的条件,条件将应用于所有导入的任务。
        • 对于 include_* 指令,条件应用于包含的任务本身,控制包含是否发生。

        6. 任务文件的用例

        • 按任务类型(例如创建用户、安装软件包等)分割文件。
        • 为不同管理角色(如开发人员、系统管理员)分割文件。
        • 条件导入/包含任务文件,以满足特定服务器需求。

        7. 使用目录管理任务文件

        为任务文件创建专用目录,并从中包含或导入文件,有助于简化 Playbook 的结构。

        8. 为外部文件定义变量

        • 可以将变量传递给任务文件,以增强其重用性。
        • 例如,通用化 HTTPD 安装的任务文件: 在 Playbook 中传递变量:

          9. 注意事项

          早期版本的 include 包含 Playbook 和任务文件,后在 Ansible 2.4 中更换为 include_tasksimport_tasksimport_playbook
           

          练习:

          Ansible 实操教程:配置 Web 服务器及防火墙

          在本教程中,我们将通过 Ansible 配置 Web 服务器、设置防火墙规则、创建占位符文件,并对配置进行测试。以下步骤将逐步指导您如何编写任务文件和 playbook 来实现自动化的 Web 服务器配置。

          目录结构与准备工作

          首先,在项目目录 ~/projects-file 下创建以下任务文件:
          • tasks/environment.yml - 用于安装和启动 Web 服务器
          • tasks/firewall.yml - 用于配置防火墙和开放端口
          • tasks/placeholder.yml - 用于创建占位符文件
          • test.yml - 用于测试 Web 服务器的连接

          步骤 1:环境配置任务 - tasks/environment.yml

          该文件用于安装 Web 服务器(如 httpd)并启动相关服务。使用 Ansible 的 dnf 模块和 service 模块完成包管理和服务控制。
          environment.yml 中,我们定义了 packageservice 作为变量,以便在不同场景中灵活使用不同的服务和软件包。

          步骤 2:防火墙配置任务 - tasks/firewall.yml

          防火墙配置文件用于安装和启动防火墙服务(如 firewalld),并开放指定端口(如 HTTP 和 HTTPS)。

          步骤 3:占位符文件任务 - tasks/placeholder.yml

          创建一个 HTML 文件,包含服务器的 FQDN 信息,用于测试 Web 服务器配置是否成功。

          步骤 4:测试任务文件 - test.yml

          用于测试 Web 服务器的连接,确保配置成功后可以访问 Web 页面。

          步骤 5:编写主 Playbook - playbook.yml

          编写主 Playbook 并包含前面编写的任务文件,同时设置变量值以配置 Web 服务器和防火墙规则。

          测试与验证

          1. 语法检查:在运行 playbook 前,执行以下命令检查语法:
            1. 运行 playbook:确认语法无误后,运行 playbook 来配置服务器和防火墙。
              1. 验证 Web 服务:访问 http://servera.lab.example.com 查看占位符文件,确保页面加载正常,且内容显示自定义的 FQDN 信息。
              1. 完成实验:确保所有任务运行成功后,您可以结束实验:

                总结

                通过这个 Ansible 实践操作,我们学习了如何使用不同的模块来配置服务器环境、设置防火墙规则、创建自定义文件,并最终验证配置结果。此流程能够帮助您快速部署和配置 Web 服务器,为生产环境中的自动化运维提供了参考。
                 
                相关文章
                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
                20:管理复杂的Play和Playbook-3 开放实验18:管理复杂的Play和Playbook-1 利用主机模式选择主机
                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 学习笔记

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

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

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