Ansible 用可读的期望状态声明替代重复的 Shell 操作。本实践课程会从 SSH 访问和清单开始,逐步构建 Playbook、Jinja2 模板与可复用角色的自动化流程。
你会把 localhost 作为目标,从而专注于 Ansible 的结构,而不是外部基础设施。引导实验会安装并启动 Nginx、渲染包含主机信息的页面,并把安装任务封装成角色;最终挑战则在同一主机上组合 Apache、页面模板和 MariaDB 角色。
你将学到什么
- 安装 Ansible 并验证控制节点工具
- 为受管主机配置基于密钥的 SSH 访问
- 创建 INI 清单、对主机分组并使用 Ansible ping 模块测试连接
- 编写并运行包含权限提升、软件包和服务任务的 YAML Playbook
- 定义自定义变量并使用 Ansible 提供的清单变量
- 将 Jinja2 模板渲染到受保护目录并指定文件权限
- 初始化、填充、语法检查和调用 Ansible 角色
- 在一个 Play 中组合 Web 服务器任务、主页模板和数据库角色
本课程适合谁
本中级课程适合希望从手动服务器命令转向结构化 Ansible 自动化的 Linux 用户、初级系统管理员和 DevOps 学习者。
前置要求: 熟悉 Linux Shell、SSH 概念、sudo、软件包与服务管理、基本 YAML 缩进和简单 HTML。无需 Ansible 经验。
学习环境: 提供 Ansible 和管理员权限的 Debian 系 Linux 终端。控制节点与受管主机是同一个 localhost,不同实验会通过 SSH 或本地连接进行管理。
常见问题
课程会让我自动化多台远程服务器吗?
不会。你会学习清单分组和受管主机模型,但所有实验都只针对名为 localhost 的一台实验主机,不涉及多主机拓扑、云清单或大规模编排。
最终的“全栈”挑战实际部署什么?
它会在同一主机上安装并启动 Apache、部署 Jinja2 渲染的主页,并通过角色安装和启动 MariaDB;不会部署应用代码、初始化数据库结构或建立应用到数据库的连接。
课程涵盖生产级 Ansible 架构吗?
课程介绍核心构件和标准角色目录。Vault、handlers、collections、动态清单、测试、CI 和大规模变量优先级等高级主题不在范围内。





