中级第 8 / 12 节35 分钟 · 实操
Roles 与 Galaxy
Ansible 课程的一部分
迟早会遇到这种情况: 两个项目都需要一台 Web 服务器, 于是你有了两个剧本 (playbook), 两边都在安装 nginx, 都在下发同一份配置模板, 之后都要重启服务。把其中一个剧本里的任务复制到另一个里面, 同一份逻辑就有了两份, 从此得同时维护; 而只要有一次你修好了一处缺陷却忘了另一处, 两边就悄无声息地对不上了。你真正想要的是把这段逻辑只写一次, 写成任何剧本都能按名字引入的形状, 就像预制墙板哪栋楼要用就装到哪栋楼上, 而不是每次都从木料开始现搭。
角色 (role) 是一个可复用的组合包, 里面装着任务、模板和默认值, 你可以按名字把它放进任何剧本, 而不必为每个碰巧有相同需求的项目重新写一遍底层逻辑。可以用施工队看待预制墙板的方式来理解它: 墙板设计一次、生产一次、检验一次, 之后哪栋楼在那个位置需要一面墙, 就把它装上去, 而不是在每个工地现场重新搭骨架。角色就是自动化里的这块墙板: "搭一台 nginx Web 服务器"变成一个固定的、经过验证的单元, 挂到剧目上即可, 而不是每次新项目需要同样的服务器时, 都重新敲一遍十几个任务, 还每次都抄错一点。 ...
想在真实环境里学习 Ansible Roles 与 Galaxy 吗?
点击下方,立即获得一台预装 Ansible 的 Linux 主机,跟懂你代码的 AI 导师一起完成 Roles 与 Galaxy 的实操练习。
开始这节课Roles 与 Galaxy你将学到什么
- Role structure
- Tasks/main.yml
- Defaults
- Templates folder
- Include_role
- Ansible-galaxy install
用你的语言阅读本课
本课程的所有课时
12 节探索其他课程
Python
19 节 · 9.3小时
Go
20 节 · 12.3小时
React
17 节 · 10.2小时
Linux
17 节 · 8.5小时
Docker
13 节 · 6.6小时
Git
13 节 · 5.9小时
Kubernetes
14 节 · 8小时
Bash
12 节 · 5.7小时
Helm
10 节 · 5.4小时
GitLab CI
11 节 · 5.8小时
Jenkins
11 节 · 5.3小时
PostgreSQL
14 节 · 7.6小时
MySQL
13 节 · 6.8小时
Web
14 节 · 5.9小时
TypeScript
18 节 · 7.7小时
Vibe Coding
12 节 · 5.8小时
Prompt Engineering
11 节 · 6.2小时
Vibe 编程:基础
12 节 · 4.5小时
Vibe 编程:从原型到生产
12 节 · 5.5小时
Vibe 编程:多智能体工程
12 节 · 5.3小时
Vibe 编程:高级工程
12 节 · 7.3小时
