Ansible – Menulis Inventory Hosts Berbasis YAML

Kali ini admin ingin berbagi teknik menulis inventory hosts ansible berbasis YAML. Saya harap setelah temen-temen membaca artikel ini dapat menulis inventory hosts berbasis YAML.

Biasanya yang baru belajar menggunakan format (ini) dalam menulis inventori hosts dan ini sudah benar. 😀 File hosts bawaan ansible juga menggunakan format (ini) jadi it’s no problem guys.

Namun menurut saya ada teknik yang lebih asik untuk menulis inventori hosts Ansible yaitu pakai format YAML. 😀

Baca juga:
Apa itu Ansible?
Tutorial Ansible: Instalasi Ansible di Linux Ubuntu
Tutorial Ansible: Belajar YAML Syntax
Study Case: Ansible untuk RouterOS MikroTik
Study Case: Ansible untuk Proxmox VE

Saya hanya memberi pilihan, mungkin ada yang lebih memilih pakai format YAML. Hhe…

Oke langsung saja saya kasih screenshoot perbandingan antara penulisan menggunakan format (ini) dengan format YAML.

Hosts Inventory Ansible - ini vs YAML
Hosts Inventory Ansible – ini vs YAML

Maksudnya Gimana?
================
– Ada 2 Group, yaitu: webserver dan dbserver.

– Pada group webserver dibuatlah group lagi, yaitu: cluster1 dan cluster2.
cluster1 ada 3 hosts: 192.168.1.[1-3] dan cluster2 juga ada 3 hosts: 192.168.2.[1-3]

– Pada group dbserver dibuatlah group lagi, yaitu: mysql dan postgresql.
mysql ada 2 hosts: 1.1.1.1 dan 2.2.2.2
postgresql ada 2 hosts: 3.3.3.3 dan 4.4.4.4

– Semua hosts yang berada pada cluster1 menggunakan domain: example.com dan,
– Semua hosts yang berada pada cluster2 menggunakan domain: example.net

Format (ini):

[webserver:children]
cluster1
cluster2

[cluster1:vars]
domain=example.com

[cluster2:vars]
domain=example.net

[cluster1]
192.168.1.1
192.168.1.2
192.168.1.3

[cluster2]
192.168.2.1
192.168.2.2
192.168.2.3

[dbserver:children]
mysql
postgresql

[mysql]
1.1.1.1
2.2.2.2

[postgresql]
3.3.3.3
4.4.4.4

Format YAML

---
all:
  children:
    webserver:
      children:
        cluster1:
          hosts:
            192.168.1.1:
            192.168.1.2:
            192.168.1.3:
          vars:
            domain: example.com
        cluster2:
          hosts:
            192.168.2.1:
            192.168.2.2:
            192.168.2.3:
          vars:
            domain: example.net
    dbserver:
      children:
        mysql:
          hosts:
            1.1.1.1:
            2.2.2.2:
        postgresql:
          hosts:
            3.3.3.3:
            4.4.4.4:

1 thought on “Ansible – Menulis Inventory Hosts Berbasis YAML”

Leave a Reply