阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

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

137次阅读
没有评论

共计 1330 个字符,预计需要花费 4 分钟才能阅读完成。

一、简单说明

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

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计1330字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中