備忘録

備忘録

Ansible インベントリの書き方

Ⅰ. はじめに

タイトルの通り「Ansible インベントリの書き方」です。

Ⅱ. 形式について

1. INI 形式
  • 内容が少ない場合はこの書き方が一番簡潔になる。
  • 変数は改行できない。スベース区切りで一行にまとめて書く。
[servers]
10.0.0.1 ansible_user='root' ansible_password='password1'
10.0.0.2 ansible_user='root' ansible_password='password2'
2. INI 形式(変数を別けて書く)
  • 変数が多くなった場合に利用する。(1では見づらい場合に利用する。)
[server001]
10.0.0.1
[server001:vars]
ansible_user='root'
ansible_password='password1'

[server002]
10.0.0.2
[server002:vars]
ansible_user='root'
ansible_password='password02'

[servers:children]
server001
server002
3. YAML 形式
  • 複雑な構造になった場合に利用する。
  • 簡単な構造の場合にYAML形式を利用すると冗長と感じる(はず)。
servers:
  children:
    server001:
      hosts:
        10.0.0.1:
      vars:
        ansible_user: root
        ansible_password: password1
    server002:
      hosts:
        10.0.0.2:
      vars:
        ansible_user: root
        ansible_password: password2

Ⅲ. インベントリの変数指定について

変数を指定する(全体)
[all:vars]
ansible_password='password'
変数を指定する(グループごとに指定)
[group:vars]
ansible_password='mypassword'
変数を指定する(個別に指定)
[group]
10.0.0.1 ansible_password='mypassword1'
10.0.0.2 ansible_password='mypassword2'