默认文件为/etc/ansible/hosts

例如

[test]

web.yinzhipeng.com

dhcp ansible_ssh_host=172.16.18.195

1.中括号中的名字代表组名

2.主机(hosts)部分可以使用域名、主机名、IP地址表示;当然使用前两者时,也需要主机能反解析到相应的IP地址,一般此类配置中多使用IP地址;

3.别名,例如dhcp那行

  如果某些主机的SSH运行在自定义的端口上,清单上可以这么写

192.168.1.1:3091

  假如你想要为某些静态IP设置一些别名,可以这样做:

server1 ansible_ssh_port = 1055 ansible_ssh_host = 172.16.3.2 

上面的server1别名就指代了IP为172.16.3.2,ssh连接端口为1055的主机。





指定主机范围 

[webservers]

www[01:50].jintian.com

[databases]

db-[a:f].jintian.com

上面指定了从web1到web50,webservers组共计50台主机;databases组有db-a到db-f共6台主机。



下面是hosts中能用到的参数

ansible_ssh_host   

#用于指定被管理的主机的真实IP

ansible_ssh_port     

#用于指定连接到被管理主机的ssh端口号,默认是22 

ansible_ssh_user     

#ssh连接时默认使用的用户名 

ansible_ssh_pass     

#ssh连接时的密码 

ansible_sudo_pass     

#使用sudo连接用户时的密码 

ansible_sudo_exec     

#如果sudo命令不在默认路径,需要指定sudo命令路径 ansible_ssh_private_key_file     

#秘钥文件路径,秘钥文件如果不想使用ssh-agent管理时可以使用此选项 ansible_shell_type     

#目标系统的shell的类型,默认sh 

ansible_connection     

#SSH 连接的类型: local , ssh , paramiko,在 ansible 1.2 之前默认是 paramiko ,后来智能选择,优先使用基于 ControlPersist 的 ssh (支持的前提) 

ansible_python_interpreter     

#用来指定python解释器的路径,默认为/usr/bin/python 同样可以指定ruby 、perl 的路径 

ansible_*_interpreter    

#其他解释器路径,用法和ansible_python_interpreter类似,这里"*"可以是ruby或才perl等其他语言



[test]

192.168.1.1 ansible_ssh_user=root ansible_ssh_pass='P@ssw0rd' 192.168.1.2 ansible_ssh_user=breeze ansible_ssh_pass='123456' 192.168.1.3 ansible_ssh_user=bernie
ansible_ssh_port=3055 ansible_ssh_pass='456789' 

上面的示例中指定了三台主机,三台主机的用密码分别是P@ssw0rd、123456、45789,指定的ssh连接的用户名分别为root、breeze、bernie,ssh 端口分别为22、22、3055 ,这样在ansible命令执行的时候就不用再指令用户和密码等了。



表示所有的主机可以使用all或者*

在ansible和ansible-playbook中,还可以通过一个参数”--limit”来明确指定排除某些主机或组:

ansible-playbook site.yml --limit datacenter2

从Ansible1.2开始,如果想排除一个文件中的主机可以使用"@":

ansible-playbook site.yml --limit @retry_hosts.txt



查看ansible版本可以用

ansible --version查看





文章摘自http://breezey.blog.51cto.com/2400275/1757643

ansible的inventory文件含义的更多相关文章

  1. Ansible学习 Inventory文件

    Ansible可同时操作属于一个组的多台主机,组与主机之间关系配置在inventory文件中,inventory默认的配置文件是/etc/ansible/hosts 1.在/etc/ansible/h ...

  2. 002.Ansible之Inventory文件

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

  3. Ansible 之动态Inventory文件(二)

    上篇主要讲解了Ansible 的安装和配置,并且根据不同的业务场景将服务器的信息存放在Ansible的Inventory中,其实存放这样的数据每次更新都需要我们自动的添加和删除,这样对于我们维护起来很 ...

  4. Ansible主机清单Inventory文件hosts

    Ansible主机清单Inventory文件hosts 发表于 2017-05-14 | 分类于 运维相关 , Ansible | | 阅读次数 4638 | 字数统计 1,442 | 阅读时长预计 ...

  5. Ansible之 Inventory 资源清单介绍

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

  6. (2)ansible主机清单文件inventory

    1)inventory作用 作用:通常用于定义要管理主机的认证信息,例如ssh登录用户名,密码等相关信息 缺省文件:/etc/ansible/hosts 2)定义主机组方式 #vim /etc/ans ...

  7. Ansible的Inventory管理

    Ansible将可管理的服务器集合成为Inventory,Inventory的管理便是服务器的管理. hosts文件的位置: /etc/ansible/hosts 在命令行通过-i参数指定 通过/et ...

  8. .classpath 和.project文件含义

    .classpath文件是在建立eclipse工程时创建的描述工程配置情况的文件,包括:  * 源码路径  * 编译结果的输出路径  * 所使用的外部库的路径 -----------------下面是 ...

  9. 结合P2P软件使用Ansible分发大文件

    一 应用场景描述 现在我需要向50+数量的服务器分发Logstash新版本的rpm包,大概220MB左右,直接使用Ansible的copy命令进行传输,命令如下: 1 ansible all  -m  ...

随机推荐

  1. js文字跳动效果

    /*! * chaffle v1.0.0 * * Licensed under MIT * Copyright 2013-2014 blivesta * http://blivesta.com */ ...

  2. 【转】TCP通信的三次握手和四次撒手的详细流程(顿悟)

    TCP(Transmission Control Protocol) 传输控制协议 三次握手 TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接: 位码即tcp标志位 ...

  3. vue的main.js

    import Vue from 'vue'; import App from './App.vue'; //================http 请求======================= ...

  4. 从日升的mecha anime看mecha genre的衰退

    注:矢立肇是日升企画部集体笔名,如勇者系列便是公司企画 这里列出一些我看过认为有意思的动画,大抵同系列的就合并了,除非后续作品(剧场版,OVA,etc)并非直接剧情承接且有趣 注意我对长篇TV动画评价 ...

  5. java算法(一) 直接选择排序

    一.基本概念 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置(注:要把最大最小的元素和起始的元素交换), 然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾.以 ...

  6. ef unitofwork 主从表更新

    readonly UnitOfWork _u = new UnitOfWork(); public M Get(int id) { return _u.T_MtnContractRepository( ...

  7. 解方程(NOIP2014)Warning!(前方高能!!)

    原题传送门 一看这不是水题嘛. 枚举+乱搞..特别容易.... 然后a[i]取值范围出现了 当当当当~:|a[i]|<=10^10000!!!!! 我去,这是什么鬼.. 高精度? 然后默默算了算 ...

  8. Linux下Tcpdump使用

    1. 介绍 tcpdump是一款用来截取网络数据的工具:这里主要介绍的是为嵌入式Linux编译tcpdump的方法 2. 编译 首先去官网下载源代码, 需要下载tcpdump和libpcap, 将他们 ...

  9. 嵌入式Linux下Camera编程--V4L2【转】

    转自:http://blog.csdn.net/fwqlzz/article/details/51126653 版权声明:本文为博主原创文章,未经博主允许不得转载. USB video class(又 ...

  10. FileReader&FileWriter

    FileReader public static void main(String[] args) { //创建文件对象指定要读取的文件路径 File file=new File("d:\\ ...