ansible使用库存

Ansible使用一个列表或一组列表同时对基础架构中的多个托管主机起作用,称为清单。
定义清单后,你可以使用模式选择要与Ansible一起运行的主机或组。
库存的默认位置是一个名为/ etc / ansible / hosts的文件。你还可以使用-i < path> 选项在命令行中指定其他清单文件。你可以从动态或云资源或其他格式(YAML,ini)中提取清单文件。 Ansible具有库存插件,可使其灵活和自定义。
主持人和团体
格式为/ etc / ansible /主机采用INI格式,例如:

mail.example.com[webservers] foo.example.com bar.example.com[dbservers] one.example.com two.example.com three.example.com

括号中的标题是组名,用于对系统进行分类。并决定你在什么时候,什么目的上要控制什么策略。你可以将系统分成多个组。
例如,服务器既可以是dbserver,也可以是Web服务器。
如果你有在非标准SSH端口上运行的主机,则可以将端口号放在带有冒号的主机名之后。 SSH配置文件中列出的端口可以与OpenSSH连接一起使用,但不能与paramiko连接一起使用。
【ansible使用库存】为了使事情更明确,建议你在项目未在默认端口上运行的情况下进行设置:
badwolf.example.com:5309

假设你具有静态IP,并且想要设置主机文件中的某些别名,或者可以通过隧道进行连接。另外,你可以像下面的示例一样描述主机:
Jumper ansible_port=5555 ansible_host=192.0.2.50

在上面的示例中,尝试对主机别名“ jumper”进行Ansible将在端口5555上连接192.0.2.50。它使用清单文件的功能来定义特殊变量。
主机变量
你可以将变量分配给将在剧本中使用的主机,例如:
[atlanta] host1 http_port=80 maxRequestsPerChild=808 host2 http_port=303 maxRequestsPerChild=909

组变量
变量可以一次应用于整个组,例如:
[atlanta] host1 host2[atlanta:vars] ntp_server=ntp.atlanta.example.com proxy=proxy.atlanta.example.com

分组组和分组变量
可以使用:children的后缀来分组。你可以使用:vars应用变量。
[atlanta] host1 host2[raleigh] host2 host3[southeast: children] Atlanta Raleigh[southeast:vars] some_server=foo.southeast.example.com halon_system_timeout=30 self_destruct_countdown=60 escape_pods=2[usa: children] southeast northeast southwest northwest

    推荐阅读