记一次优化ansible inventory的小例子
2024-10-07 03:28:10
起因:
阿里云新扩容一批机器,要对上面的flume配置做修改
之前的inventory是这样子的
[user@vip10-ali-tj-console host_vars]$ sdiff vip10-ali-tj-mm10.yml vip10-ali-tj-mm11.yml
--- ---
hostname: vip10-ali-tj-mm10 | hostname: vip10-ali-tj-mm11
monit_ipaddr: "{{ hostname }}" monit_ipaddr: "{{ hostname }}"
machineid: 590 | machineid: 591
platformname: vip10 platformname: vip10
mm_version: 16.09.1 mm: 16.09.1
lvm_create: lvm_create:
- vg: "data" - vg: "data"
pv: "/dev/vdb" pv: "/dev/vdb"
lv: "apps" lv: "apps"
mount_point: "/data" mount_point: "/data"
[user@vip10-ali-tj-console host_vars]$ cat ../vip10.yml |grep mm
[mm]
vip10-ali-tj-mm10:22
vip10-ali-tj-mm11:22
对上面做一下说明
定义了一个主机组叫mm,这个组下面有两台机器
上面的host_vars分别对每台机器做了配置,其实可以看到配置大部分都相同, 我用sdiff都列出来了,就两个地方不同
所以就要思考了,我要是扩容100台机器,难不成我要生成100个文件...
下面是经过改良过的
在host_vars中用一个模板文件代替每个主机一份配置的方法
[user@vip10-ali-tj-console host_vars]$ cat mm.yml
---
hostname: {{ inventory_hostname }}
monit_ipaddr: "{{ hostname }}"
machineid: {{ hostvars[inventory_hostname].machineid }}
platformname: vip10
mm_version: 16.08.6
lvm_create:
- vg: "data"
pv: "/dev/vdb"
lv: "apps"
mount_point: "/data"
在主机定义文件中设置主机的个性化参数
[user@vip10-ali-tj-console host_vars]$ cat ../vip10.yml |grep mm
[mm]
vip10-ali-tj-mm-10:22 machineid=580
vip10-ali-tj-mm-11:22 machineid=581
然后就可以愉快的测试了,先跑一台看看效果
ansible-playbook -i inventory/vip10/vip10.yml playbooks/vip10/flume/mm.yml --limit vip10-ali-tj-mm-10
Done.
最新文章
- HDU 1690 Bus System
- 使用强大的可视化工具redislive来监控我们的redis,别让自己死的太惨~~~
- 基于SoCkit的opencl实验1-基础例程
- information_schema系列十二
- 【BZOJ-4653】区间 线段树 + 排序 + 离散化
- js获取随机数
- 数往知来SQL SERVER 视图 触发器 <;九>;
- jQuery基础选择器
- 更换用installshield打包生成exe文件的图标【转】
- 在 LINQ to Entities 查询中无法构造实体或复杂类型
- Asp.Net Mvc MapRoute .html不起作用(转)
- django email用法
- 怎么用CIFilter给图片加上各种各样的滤镜_1
- 初探LVS NAT与DR
- Centos7 &; Docker &; Jenkins &; ASP.NET Core 2.0 自动化发布和部署
- UWP 唤起应用商城,邮件
- Linux信号实践(4) --可靠信号
- 激光三角法点云重建分享——halcon 方法
- streaming窗口操作
- ASP利用xhEditor编辑器实现图片上传的功能。
热门文章
- bootstraptable为行中的按钮添加事件
- Qt5 How to translate App UI languages
- 宽字符、多字节、unicode、utf-8、gbk编码转化
- YUI前端优化之javascript,css篇
- VC++知识点整理
- Golang template和junit xml report转html工具
- platform总线驱动代码分析
- 设置UITextField键盘上return key不可点击
- Google Tango service outdated谷歌Tango的服务过时了
- (字符串) Hidden String -- HDU -- 5311