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-hosts
hosts (3):
192.168.1.105
120.77.85.77
192.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=2
mysql_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”

Ansible的Inventory管理的更多相关文章

  1. 002.Ansible之Inventory文件

    一 简介 在使用Ansible来批量管理主机的时候,通常我们需要先定义要管理哪些主机或者主机组,而这个用于管理主机与主机组的文件就叫做Inventory,也叫主机清单.该文件默认位于/etc/ansi ...

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

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

  3. Ansible实现批量管理服务器

    Ansible介绍: a. ansible是一个基于Python开发的自动化运维工具b. ansible是一个基于ssh协议实现远程管理的工具c. ansible软件可以实现多种批量管理操作(批量系统 ...

  4. Ansible批量自动化管理工具

    一,工具与环境介绍 1.1 ansible简介 批量管理服务器的工具 无需部署agent,通过ssh进行管理 流行的自动化运维工具:https://github.com/ansible/ansible ...

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

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

  6. Ansible之 Inventory 资源清单介绍

    一.Inventory 库存清单文件 1.Inventory 作用 Ansible 可以在同一时间针对多个系统设施进行管理工作.它通过选择Ansible 资源清单文件中列出的系统,该清单文件默认是在/ ...

  7. [转帖]Ansible批量远程管理Windows主机(部署与配置)

    2018-09-12 12:04:42 https://blog.51cto.com/7424593/2174156 一.测试环境介绍 Ansible管理主机: 系统:   CentOS6.8 IP ...

  8. ansible 开源批量管理服务器工具

    Ansible 是一款基于 Python 开发的自动化运维工具,可以进行配置管理.批量部署等功能.对于机器较多的场景,可以使用 Ansible 来免去重复敲命令的烦恼. 安装ansibleyum -y ...

  9. Ansible 使用 Playbook 管理 Nginx 配置文件

    前面我们已经安装完 Nginx,但是在日常维护中经常需要修改配置文件,并重新加载配置文件,因此来写一个管理 Nginx 配置文件的 Playbook: [root@localhost ~]$ mkdi ...

随机推荐

  1. [技术选型] CDH-Cloudera Distribution Hadoop

    hadoop是一个开源项目,所以很多公司在这个基础进行商业化,Cloudera对hadoop做了相应的改变. Cloudera公司的发行版,我们将该版本称为CDH(Cloudera Distribut ...

  2. 【转】【Python】Python中的__init__.py与模块导入(from import 找不到模块的问题)

    python中的Module是比较重要的概念.常见的情况是,事先写好一个.py文 件,在另一个文件中需要import时,将事先写好的.py文件拷贝 到当前目录,或者是在sys.path中增加事先写好的 ...

  3. soapui-groovy脚本中文乱码及符号乱码、响应乱码解决方案

    groovy脚本中文乱码及符号乱码,解决方案: 响应乱码解决方案:

  4. 在MySQL中创建cm-hive使用的数据库及账号

    放上来做一个备份,免得忘了密码,囧~ mysql> create database metastore default character set utf8; Query OK, row aff ...

  5. 省市区三级联动[JSON+Jquery]

    <!DOCTYPE html><head> <title>省市区三级联动[JSON+Jquery]</title> <script src=&qu ...

  6. e859. 将键盘事件和字符串对应

    The KeyStroke.toString() method does not return a string that can be parsed by KeyStroke.getKeyStrok ...

  7. Python——hmac

    该模块在Python中实现 RFC 2104 中规范的 HMAC 算法. 目录 一.HMAC 对象 1. HMAC.update() 2. HMAC.digest() 3. HMAC.hexdiges ...

  8. mysql 字段区分大小写

    默认情况下, mysql中的字段是不区分大小写的,所以"aa"与"AA"被认为是一样的. 那么有些特殊情况下,我们希望它区分大小写呢,这时应该怎么办,说出来其实 ...

  9. nginx配置一、二级域名、多域名对应(api接口、前端网站、后台管理网站)

    前提:安装好nginx,如果已经启动nginx,先停止,命令: ./usr/local/nginx/sbin/nginx -s stop 修改nginx配置 vi /usr/local/nginx/c ...

  10. Java多线程——可阻塞的队列BlockingQueue

    阻塞队列与Semaphore有些相似,但也不同,阻塞队列是一方存放数据,另一方释放数据,Semaphore通常则是由同一方设置和释放信号量. ArrayBlockingQueue 只有put方法和ta ...