手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

Ansible动态inventory 获取自定义的主机列表

[日期:2016-12-09] 来源:Linux社区  作者:freshair [字体: ]

一、简单说明

Ansible,默认是调用“/etc/ansible/hosts”配置的主机组或者主机,同时也可以通过 -i 参数指定自定义的hosts文件。

Ansible Inventory实际上是包含静态Inventory和动态Inventory两部分,静态Inventory指的是在文件/etc/ansible/hosts中指定的主机和组,Dynamic Inventory指通过外部脚本获取主机列表,并按照ansible 所要求的格式返回给ansilbe命令的。这部分一般会结合CMDB资管系统、zabbix 监控系统、crobble安装系统、云计算平台等获取主机信息。由于主机资源一般会动态的进行增减,而这些系统一般会智能更新。我们可以通过这些工具提供的API 或者接入库查询等方式返回主机列表。

二、代码

#!/usr/bin/env Python
import json
 
hostlist = {'db':['vm1','vm2'],'web':['vm3','vm4'],'zabbix':['vm5']}
 
print json.dumps(hostlist)

三、解析

1、在上面的代码中,定义为一个字典,且将这个字典输出为json格式的字符串

2、定义了三个主机组,分别为:db、web、zabbix

四、执行

ansible -i my_host_list.py db -m shell -a "uname -a"

ansible -i my_host_list.py web -m shell -a "uname -a"

ansible -i my_host_list.py zabbix -m shell -a "uname -a"

ansible -i my_host_list.py db:zabbix -m shell -a "hostname" #同时执行db和zabbix组,用冒号分隔

使用Ansible批量管理远程服务器  http://www.linuxidc.com/Linux/2015-05/118080.htm

Ansible安装配置与简单使用  http://www.linuxidc.com/Linux/2015-07/120399.htm

CentOS 7 中安装并使用自动化工具 Ansible  http://www.linuxidc.com/Linux/2015-10/123801.htm

Ansible和Docker的作用和用法  http://www.linuxidc.com/Linux/2014-11/109783.htm

Ansible批量搭建LAMP环境 http://www.linuxidc.com/Linux/2014-10/108264.htm

Ansible :一个配置管理和IT自动化工具  http://www.linuxidc.com/Linux/2014-11/109365.htm

自动化运维工具之 Ansible 介绍及安装使用  http://www.linuxidc.com/Linux/2016-12/138104.htm

Ansible 的详细介绍请点这里
Ansible 的下载地址请点这里

本文永久更新链接地址http://www.linuxidc.com/Linux/2016-12/138111.htm

linux
相关资讯       ansible 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款