ansible2:配置清单详解
说明
ansible配置清单(inventory)可以使用ini或者yaml语法编写,yaml编写方式略微麻烦,但不能因为麻烦就不去学习,因为后续的ansible-playbook只能用yaml格式编写,下面进行一些举例对比说明。
普通组
-
第一篇文章中有说用all去管理清单中所有的主机,all的两种写法如下。
# ini格式编写: 0 14:28:12 root@ck-ansible,172.16.2.9:~ # cat /etc/ansible/hosts ck-node1 ck-node2 ck-node3 # yaml格式编写: 0 14:30:14 root@ck-ansible,172.16.2.9:~ # cat /etc/ansible/hosts all: hosts: ck-node1: ck-node2: ck-node3: 0 14:30:18 root@ck-ansible,172.16.2.9:~ # ansible all -m ping
-
当然我们也可以细分为多个小组,然后通过组名去管理组内所有主机。
# ini格式编写: 0 14:37:36 root@ck-ansible,172.16.2.9:~ # cat /etc/ansible/hosts ck-node1 [dev] ck-node2 [fat] ck-node3 # yaml格式编写: 0 14:40:32 root@ck-ansible,172.16.2.9:~ # cat /etc/ansible/hosts all: hosts: ck-node1: children: dev: hosts: ck-node2: fat: hosts: ck-node3:
嵌套组
-
当我们生产环境有多条业务线的时候,会用到嵌套组。
# ini格式编写: 0 14:44:39 root@ck-ansible,172.16.2.9:~ # cat /etc/ansible/hosts [pro1] ck-node1 ck-node2 [pro2] ck-node3 [pro:children] pro1 pro2 # yaml格式编写: 0 14:44:43 root@ck-ansible,172.16.2.9:~ # cat /etc/ansible/hosts all: children: pro: children: pro1: hosts: ck-node1: ck-node2: pro2: hosts: ck-node3:
别名
-
第一篇文章还介绍了别名的配置方式。
# ini格式编写(常用): 0 14:49:59 root@ck-ansible,172.16.2.9:~ # cat /etc/ansible/hosts ck-node1 ansible_host=172.16.15.21 # yaml格式编写: 0 14:59:09 root@ck-ansible,172.16.2.9:~ # cat /etc/ansible/hosts all: hosts: ck-node1: ansible_host: 172.16.15.21 # 注意冒号后面是有一个空格的。 ansible_port: 22 ansible_user: root
写作不易,转载请注明出处,谢谢~~