个性化阅读
专注于IT技术分析

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连接一起使用。

为了使事情更明确,建议你在项目未在默认端口上运行的情况下进行设置:

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

赞(0)
未经允许不得转载:srcmini » ansible使用库存

评论 抢沙发

评论前必须登录!