默认文件为/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. qemu中是怎么模拟的新的设备

    kvm_cpu_exec 和demo中演示的一样

  2. P1194 买礼物

    题目描述 又到了一年一度的明明生日了,明明想要买B样东西,巧的是,这B样东西价格都是A元. 但是,商店老板说最近有促销活动,也就是: 如果你买了第I样东西,再买第J样,那么就可以只花K[I,J]元,更 ...

  3. 在浏览器中进行深度学习:TensorFlow.js (八)生成对抗网络 (GAN

    Generative Adversarial Network 是深度学习中非常有趣的一种方法.GAN最早源自Ian Goodfellow的这篇论文.LeCun对GAN给出了极高的评价: “There ...

  4. 静态区间第k大 树套树解法

    然而过不去你谷的模板 思路: 值域线段树\([l,r]\)代表一棵值域在\([l,r]\)范围内的点构成的一颗平衡树 平衡树的\(BST\)权值为点在序列中的位置 查询区间第\(k\)大值时 左区间在 ...

  5. idiots

    idiots 题目描述 给定 $n$ 个长度分别为 $a_i$ 的木棒,问随机选择 $3$ 个木棒能够拼成三角形的概率. 输入格式 第一行一个正整数 nn. 第二行 nn 个正整数,第 ii 个数表示 ...

  6. Pandas之DataFrame——Part 1

    ''' [课程2.] Pandas数据结构Dataframe:基本概念及创建 "二维数组"Dataframe:是一个表格型的数据结构,包含一组有序的列,其列的值类型可以是数值.字符 ...

  7. Angular(二)

    <!DOCTYPE html> <html lang="en" ng-app='myApp'> <head> <meta charset= ...

  8. 转:Android Log

    在调试代码的时候我们需要查看调试信息,那我们就需要用Android Log类. android.util.Log常用的方法有以下5个:Log.v() Log.d() Log.i() Log.w() 以 ...

  9. js得到时间戳(10位数)

    //从1970年开始的毫秒数然后截取10位变成 从1970年开始的秒数 function timest() { var tmp = Date.parse( new Date() ).toString( ...

  10. Scenes in Cocos2D

    https://www.makeschool.com/docs/?source=mgwu#!/cocos2d/1.0/scenes Scenes in Cocos2D In Cocos2D you h ...