起因:

阿里云新扩容一批机器,要对上面的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.  

最新文章

  1. HDU 1690 Bus System
  2. 使用强大的可视化工具redislive来监控我们的redis,别让自己死的太惨~~~
  3. 基于SoCkit的opencl实验1-基础例程
  4. information_schema系列十二
  5. 【BZOJ-4653】区间 线段树 + 排序 + 离散化
  6. js获取随机数
  7. 数往知来SQL SERVER 视图 触发器 <九>
  8. jQuery基础选择器
  9. 更换用installshield打包生成exe文件的图标【转】
  10. 在 LINQ to Entities 查询中无法构造实体或复杂类型
  11. Asp.Net Mvc MapRoute .html不起作用(转)
  12. django email用法
  13. 怎么用CIFilter给图片加上各种各样的滤镜_1
  14. 初探LVS NAT与DR
  15. Centos7 & Docker & Jenkins & ASP.NET Core 2.0 自动化发布和部署
  16. UWP 唤起应用商城,邮件
  17. Linux信号实践(4) --可靠信号
  18. 激光三角法点云重建分享——halcon 方法
  19. streaming窗口操作
  20. ASP利用xhEditor编辑器实现图片上传的功能。

热门文章

  1. bootstraptable为行中的按钮添加事件
  2. Qt5 How to translate App UI languages
  3. 宽字符、多字节、unicode、utf-8、gbk编码转化
  4. YUI前端优化之javascript,css篇
  5. VC++知识点整理
  6. Golang template和junit xml report转html工具
  7. platform总线驱动代码分析
  8. 设置UITextField键盘上return key不可点击
  9. Google Tango service outdated谷歌Tango的服务过时了
  10. (字符串) Hidden String -- HDU -- 5311