ansible2:配置清單詳解
阿新 • • 發佈:2021-11-04
目錄
說明
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
寫作不易,轉載請註明出處,謝謝~~