ansible-galaxy ansible-role 入门

一  ansible  role 入门

知乎文章详解role

代码复用之Ansible Roles - 知乎 (zhihu.com)

roles/ \\ansible所有的信息都放到此目录下面对应的目录中
    └── nginx  \\角色名称
        ├── default  \\为当前角色设定默认变量时使用此目录,应当包含一个main.yml文件;
        ├── files  \\存放有copy或script等模块调用的文件,或压缩安装包等
        ├── handlers \\此目录总应当包含一个main.yml文件,用于定义各角色用到的各handler
        ├── meta \\应当包含一个main.yml,用于定义角色的特殊设定及其依赖关系;1.3及以后版本支持
        ├── tasks \\至少包含一个名为main.yml的文件,定义了此角色的任务列表,可使用include指令
        ├── templates \\template模块会自动在此目录中寻找Jinja2模板文件
        └── vars  \\应当包含一个main.yml文件,用于定义此角色用到的变量

 Ansible-8 Roles以及Galaxy - 简书

一个数据中心有可能存在好多类型的服务器。比如WEB类型、DB类型、开发人员使用的开发类型、QA使用的测试类型等等。如果每个类型的服务器的初始化行为都不一致,那要在一个PlayBook中将这些动作完成,这个PlayBook将变得臃肿、庞大,且难以后续维护和更新。如果能够针对每个类型的服务器单独编写PlayBook,最后通过某种方式整合这PlayBook, 在管理方式上就又会变得简单。Ansible中提供了类似的概念,也就是Role。它允许管理员将他们复杂的PlayBook分解成一个个小的逻辑单元, 以便于维护和管理。

从表面上看,它就是一个目录。目录的名字也就是role的名字。进到这个role名字的目录里,会发现好多子目录。
tasks:     存放 task 任务
handlers:  存放 handlers 任务
files:     存放 task 中引用的文件
templages: 存放 task 中引用的模板
meta:      存在 role 的依赖role(这个role 执行前,要先执行那个role)
vars:      存放 role 的变量
defaults:  存在 role 的默认变量

# 目录结构

user.example/
├── defaults
│   └── main.yml
├── files
├── handlers
│   └── main.yml
├── meta
│   └── main.yml
├── tasks
│   └── main.yml
├── templates
└── vars
    └── main.yml
role 的名字叫做 user.example。
其中 tasks 、handlers 、meta、 vars、defaults 目录的入口文件必须是main.yml,不能别配置为其他。

作者:Habit_1027
链接:https://www.jianshu.com/p/eddc2d345488
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

二 延申:

教程:Ansible Galaxy — 国内最专业的Ansible中文官方学习手册 # 现代无法打开这个网站你敢信  逗B 网管

ansible-galaxy 的 github:Ansible Galaxy

实战:

(1347条消息) Ansible-roles批量部署nginx_且听风吟zyw的博客-CSDN博客https://blog.csdn.net/even160941/article/details/100838542

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值