端くれプログラマの備忘録 Ansible [Ansible] インベントリの書き方

[Ansible] インベントリの書き方

基本的な書き方

all: # allグループ
  vars: # グループ変数
    key1: param1
    key2: param2
    ...
  hosts: # allグループに含まれるホスト
    node1: # 管理対象ノード1
      key1: param1 # ホスト変数
      key2: param2
      key3: param3
      ...
    node2: # 管理対象ノード2
      key1: param1 # ホスト変数
      key2: param2
      key3: param3
      ...

子グループの定義

---
all: # allグループ (親グループ)
  vars: # グループ変数
    key1: param1
    key2: param2
    ....
  hosts: # allグループに含まれるホスト
    node1:
      key1: param1 # ホスト変数
      key2: param2
      ...
  children: # 子グループ
    app: # appグループ
      vars: # グループ変数
        key1: param1
        key2: param2
        ...
      hosts: # appグループに含まれるホスト
        app1: # 管理対象ノード1
          key1: param1 # ホスト変数
          key2: param2
          ...
        app2: # 管理対象ノード2
          key1: param1 # ホスト変数
          key2: param2
          ...
    db: # グループ名
      vars: # グループ変数
        key1: param1
        key2: param2
        ...
      hosts: # dbグループに含まれるホスト
        db1: # 管理対象ノード1
          key1: param1 # ホスト変数
          key2: param2
          ...
        db2: # 管理対象ノード2
          key1: param1 # ホスト変数
          key2: param2
          ...

よく使いそうなAnsible変数

  • ansible_host: IPアドレス
  • ansible_user: ログインユーザー名
  • ansible_password: ログインパスワード
  • ansible_ssh_private_key_file: 秘密鍵のパス
  • ansible_python_interpreter: Pythonのパス
  • ansible_port: ポート番号

参考サイト

インベントリーの基本|Ansible の使い方
https://zenn.dev/y_mrok/books/ansible-no-tsukaikata/viewer/chapter5