1. 程式人生 > 其它 >ansible2:配置清單詳解

ansible2:配置清單詳解

目錄


說明

  ansible配置清單(inventory)可以使用ini或者yaml語法編寫,yaml編寫方式略微麻煩,但不能因為麻煩就不去學習,因為後續的ansible-playbook只能用yaml格式編寫,下面進行一些舉例對比說明。

普通組

  1. 第一篇文章中有說用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
    
  2. 當然我們也可以細分為多個小組,然後通過組名去管理組內所有主機。

    # 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:
    

巢狀組

  1. 當我們生產環境有多條業務線的時候,會用到巢狀組。

    # 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:
    

別名

  1. 第一篇文章還介紹了別名的配置方式。

    # 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
    


寫作不易,轉載請註明出處,謝謝~~