Ansible Playbook 変数を利用するサンプル

環境
Ubuntu 24.04

使用例1
[packages] に値を格納し、{{ packages }} で参照します。
$ vi sample.yml

- hosts: target_servers
  become: yes
  become_method: sudo
  tasks:
  - name: General packages are installed
    apt:
      name: "{{ packages }}"
      state: present
    vars:
      packages:
      - tar
      - wget
      - unzip
    tags: General_Packages

実行

$ ansible-playbook sample.yml --ask-become-pass

確認
$ ansible target_servers -m shell -a “which tar; which wget; which unzip;"

使用例2
Playbook を実行すると、最初に [GATHERING FACTS] タスクが必ず実行されます。
これは対象ホストの情報を収集している処理で、ここで収集された情報は変数に格納されているため、
参照して利用することができます。 [GATHERING FACTS] で収集している情報と同じ情報は
[setup] モジュールで確認できます。
GATHERING FACTS の情報は setup モジュールで確認

GATHERING FACTS 情報の参照例

$ vi sample.yml
# [ansible_distribution], [ansible_distribution_version] を参照
- hosts: target_servers
  tasks:
  - name: Refer to Gathering Facts
    command: echo "{{ ansible_distribution }} {{ ansible_distribution_version }}"
    register: dist
  - debug: msg="{{ dist.stdout }}"

実行
$ ansible-playbook sample.yml

IT

Posted by arkgame