Ansible角色与剧本:变量、依赖、Galaxy及条件逻辑
1. 基于角色的变量和依赖设置
变量是使Ansible剧本和角色可重用的核心,因为它们允许相同的代码通过不同的值或配置数据重新使用。Ansible角色目录结构允许在两个位置声明特定于角色的变量:
- defaults/main.yml
- vars/main.yml
这两个位置的区别在于它们在Ansible变量优先级顺序中的位置。 defaults/ 目录中的变量优先级较低,很容易被覆盖。适合放置那些希望容易被覆盖,但又不想让其未定义的变量。例如,安装Apache Tomcat时,可以设置一个默认版本(如7.0.76),这样即使有人忘记设置版本,角色也能正常工作,并且可以通过清单变量或命令行(使用 -e 或 --extra-vars 开关)轻松更改。
而 vars/ 目录中的变量在Ansible变量优先级排序中位置较高,不会被清单变量覆盖,适用于需要保持静态的变量数据。不过,使用 -e 或 --extra-vars 开关可以覆盖任何定义的变量。
2. 角色元数据与依赖示例
除了上述基于角色的变量,还可以使用 meta/ 目录为角色添加元数据。下面通过一个实际示例来说明如何使用 meta/ 目录。
超级会员免费看
订阅专栏 解锁全文
18

被折叠的 条评论
为什么被折叠?



