がぶさん日記☀️

ゆるゆるとゲーム🎮 プログラム🖥のことを呟きます

Ansible Role活用! 備忘録

Ansibleを使い始めて約1ヶ月。
playbookを作成しながら思ったことがある。
 ・・・僕が書いたPlaybook見ずれぇ!!!

どうにかならないかとググってみたら、
Roleを活用することで綺麗に見やすくPlaybookが作れるみたい…🤥
ふむ・・・Roleとはなんぞや?

Roleとは

playbookで読み込むモジュール。 playbookは複数のRoleを読み込むことができるため、構成する内容を適切な粒度のRoleに分割し、それをインクルードする形でplaybookを構成する。

って感じらしい。
Ansibleのドキュメント張っておきます!

docs.ansible.com

なるほど・・・確かに見やすくなりそう!
ってことで使っていきたいと思います。

ansible /
    inventry/ 
        hosts
    roles/
        httpd/
            tasks/
                main.yml
        nkf/
            tasks/
                main.yml
    test.yml

ディレクトリ構成はこんな感じ。(見ずらいですね、、、すみません。)
root直下にansibleを作成。

ゲストでhttpdのインストールとnkfのインストールを行ってみる。

Roleはrolesディレクトリの配下に作成。Roleの下には、tasks, ディレクトリを作成して、Roleの定義を記述。

# roles/httpd/tasks/main.yml #

- name: install httpd
   yum:
     name=httpd
     state=lates
# roles/nkf/tasks/main.yml #

- name: install nkf
  yum:
    name=nkf
    state=lates


よし、準備はできた。
次は実行するPlaybookの作成。

# ansible/test.yml #

- hosts: targets
  roles:
    - httpd
    - nkf


よし実行っと。

# ansible-playbook -i /ansible/inventory/hosts test.yml

TASK [httpd : install httpd] *****************************************************************
ok: [182.22.156.198]

TASK [nkf : nkf install] *******************************************************************
ok: [182.22.156.198]

おおおお通った!!
実行するPlaybook4行だけ!!!すげぇ!!!奇麗!!w

いろいろ出来るようになると楽しいですね!もっと勉強します!!!

ではまた~~~🤥