Ansible教程:Inventory


Ansible Inventory介绍

可以想象,当我们需要使用Ansible管理多台服务器时,需要一个地方来定义这些被管理的服务器资源,这就是Inventory。

Static inventory

静态inventory其实就是使用一个文本文件来定义所有被管理的机器。默认的配置文件为:/etc/ansible/hosts。在安装Ansible时并不会自动创建这个文件,因此在安装后需要手工创建它。

未分组主机

如果IP没有被放在任何组中,会被认为是未分组的主机:

www.example.com
192.168.0.1
192.168.0.2

多个主机的表示法:

  • www[01:06].example.com: 表示www01.example.com, www02.example.com, …, www06.example.com

分组进行管理

最好的方式是将不同的主机进行分组,比如:

[web_servers]
xxx.xxx.xxx.xxx
xxx.xxx.xxx.xxx

[db_servers]
xxx.xxx.xxx.xxx
xxx.xxx.xxx.xxx

ansible PATTERN

基本用法:

ansible PATTERN -i inventory -m module -a argument

这里的PATTERN:

  • 可以是组名,比如all,dev
  • 也可以是具体的在inventory中定义的主机IP。
  • 同时还支持通配符*.
  • 两个组的交集:web_servers:&cach_servers
  • 在一个组但不在另一个组中:web_servers:!cache_servers

文章作者: 逻思
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明来源 逻思 !
  目录