Ansible将可管理的服务器集合成为Inventory,Inventory的管理便是服务器的管理。

hosts文件的位置:

  1. /etc/ansible/hosts
  2. 在命令行通过-i参数指定
  3. 通过/etc/ansible/ansible.cfg中的Inventory参数指定

另外Ansible还支持从云服务器获取服务器列表,还可以从CMDB获取服务器列表,

列出服务器 --list-hosts

[root@zydev01 ~]# ansible all --list-hostshosts (3):192.168.1.105120.77.85.77192.168.1.101

单独为主机定义参数

[dbsrvs]
10.10.1.101 mysql_port=3306
10.10.1.102 mysql_port=3307

组中组,和组参数

加上children的方式声明组中包含其它组

[atlanta]
host1
host2[raleigh]
host2
host3[southeast:children]
atlanta
raleigh[southeast:vars]    #定义组的主机的参数ansible_port=3235
some_server=foo.southeast.example.com
halon_system_timeout=30
self_destruct_countdown=60
escape_pods=2mysql_port=3307

Inventory的参数分为行为参数(ansible默认的,如ansible_port)和自定义变量(mysql_port)

打印参数:

一些重要的行为参数:

  • ansible_host          SSH目的主机名或者IP
  • ansible_port      
  • ansible_user          SSH连接的用户名,默认当前用户
  • ansible_ssh_pass 
  • ansible_ssh_private_key_file
  • ansible_become           类似Linux的sudo 
  • ansible_become_user  切换到哪个用户下执行命令

使用正则表达式定义组和匹配组

定义组

[webservers]
www[01:50].example.com
[databases]
db-[a:f].example.com

 匹配组

ansible web* -m ping

使用单独的目录管理服务器和群组的变量

如果服务器特变多,还用一个hosts管理服务器和变量将会很困难。

Ansible可以为每个服务器和群组创建独立的变量文件。

Ansible将依次从Playbook目录下,hosts文件所在目录和/etc/ansible目录下寻找group_varls和host_varsx下寻找变量文件。

192.168.1.106.yaml的内容如下:

需要注意的是hosts定义ini的格式,即“var = value”,使用独立的文件是“var:value”

转载于:https://www.cnblogs.com/zydev/p/7788667.html

Ansible的Inventory管理相关推荐

  1. ansible: Linux批量管理神器

    我们已经知道,基于集群可实现服务器横向扩展slace out.可是,当上百台主机集合成共同为一个站点提供web页面访问的形式时,怎么管理整个集群体呢? 一些小伙伴大概听说过pxe等可实现自动安装系统. ...

  2. 自动化运维工具ansible的安装管理以及模块介绍

    自动化运维工具ansible的安装管理以及模块介绍 目录 自动化运维工具ansible的安装管理以及模块介绍 一.ansible概述 1.几种常用运维工具比较 2.Ansible简介 3.Ansibl ...

  3. Linux 运维工作中的经典应用ansible(批量管理)Docker容器技术(环境的快速搭建)...

    一 Ansible自动化运维工具 Python 在运维工作中的经典应用ansible(批量管理操作)1.安装ansible(需要bese epel 2种源) wget -O /etc/yum.repo ...

  4. ansible动态inventory里的针对AWS中国的设置

    如果你想使用ansible来动态管理AWS里的机器和设施,不幸的你用的是国内的AWS服务,你会发现一开始怎么用例子里的ec2.py都会报错说 AWS_ACCESS_KEY_ID 和 AWS_SECRE ...

  5. python3连接mysql获取ansible动态inventory脚本

    Ansible Inventory 是包含静态 Inventory 和动态 Inventory 两部分的,静态 Inventory 指的是在文件中指定的主机和组,动态 Inventory 指通过外部脚 ...

  6. Ansible批量自动化管理工具(二)

    Ansible批量自动化管理工具(二) 链接:https://pan.baidu.com/s/1A3Iq3gGkGS27L_Gt37_I0g 提取码:ncy2 复制这段内容后打开百度网盘手机App,操 ...

  7. 运维工具Ansible—主机分组管理(hosts)

    ansible主机分组管理: ansible配置 说明:关于ansible hosts文件中可用参数: ansible_ssh_port=22                  #远程主机登陆端口 a ...

  8. Ansible之Inventory定义

    一.Inventory介绍   在Ansible中描述主机的默认方法是将它们列在一个文本文件中,这个文本文件叫作inventory文件.Ansible Inventory 是包含静态 Inventor ...

  9. ansible多主机管理

    Ansible Ansible是一个基于Python开发的配置管理和应用部署工具. Ansible能批量配置.部署.管理上千台主机. Ansible是基于模块工作的,它只是提供了一种运行框架,它本身没 ...

最新文章

  1. 没错,老板让我写个 BUG!
  2. python基础教程第三版豆瓣-1024,程序媛/猿请查收!
  3. 遮掩java_Java×××:重载、重写、隐藏、遮蔽、遮掩(2)
  4. 并发编程实践之公平有界阻塞队列实现
  5. 收藏 | 李飞飞等发布200多页综述,阐述大模型机遇与风险
  6. Bitmap详解(中)之像素级操作
  7. 【Negix】Nginx 面试 一些题目
  8. myeclipse 上安装 Maven3
  9. Facebook 开源 AI 所使用的硬件平台 'Big Sur'
  10. 程序员的macOS系列:精选Mac App
  11. VSC/SMC(二)——基于趋近律的滑模鲁棒控制(白嫖程序模型)
  12. 暑假ACM集训第一周总结
  13. ORA-20011 问题处理
  14. 一场无名的宿醉,失措了一夜的安然。
  15. DEM生成等高线及提取等高线3+1种方法
  16. Jpeg-9e源码编译(Win10,VS2022)
  17. 前端背景图放置_如何在css中添加背景图?
  18. 在mac电脑上,用Safari浏览器调试ios手机移动端页面
  19. 微信小程序自定义组件开发图文详解
  20. 电影票房之数据分析(Hive)-- 第2关

热门文章

  1. java VM argument_java vm args
  2. SpringSpringMVCMybatis框架-张晨光-专题视频课程
  3. Linux和Windows下使用printf的差别
  4. node:http协议、sql、接口
  5. Java学习小程序(6)随机加法运算器
  6. POI操作Excel常用方法总结
  7. Scala入门到精通——第十三节 高阶函数
  8. Python selenium —— 用chrome的Mobile emulation模拟手机浏览器测试手机网页
  9. 实力封装:Unity打包AssetBundle(二)
  10. SPARK:作业基本运行原理