ansible基础-roles
一 简介 注:本文demo使用ansible2.7稳定版 在我看来,role是task文件、变量文件、handlers文件的集合体,这个集合体的显著特点是: 可移植性和可重复执行性。 实践中,通常我们以 部署某个服务 为单元作为一个role ,然后将这些服务单元(role)放在一个roles目录下。主playbook文件通过调用roles目录下的role,来实现各种灵活多变的部署需求。 本节主要为大家介绍下roles的目录结构、引用方法及其他特性。 二 创建与目录结构 2.1 创建roles 通常创建一个role的方法有两种: 命令mkdir和touch行手动创建 使用ansible-galaxy自动初始化一个role 命令行手动创建方式就无需多说了,即需要哪个目录和文件就用「mkdir」和「touch」命令创建出来。 我个人比较喜欢使用「ansible-galaxy」命令创建,创建完后再删除我不需要的目录,这样可以避免因手误创建出错的问题。 例如,我想使用「ansible-galaxy init」命令创建一个名字为role_A 的role,可以这样写: ➜ lab-ansible ansible-galaxy init role_A - role_A was created successfully 创建后的目录结构如下: ➜ lab-ansible tree role_A