LoginSignup
1
0

More than 3 years have passed since last update.

Ansible 初心者がplaybook~roleを学ぶ ⑤ (wordpress環境構築)-roles(ベストプラクティス)編-

Last updated at Posted at 2020-10-17

目的であったroles理解に入ります。
ルールに従ったroleの構成を作る。
(Ansibleが理解して処理できるディレクトリ構成をつくる、数学の公式みたいなイメージ)
以下公式を参考に作成を進めた。
https://docs.ansible.com/ansible/2.9_ja/user_guide/playbooks_best_practices.html

「playbook単体の構成」と「roles構成の図解」

※太字はディレクトリ、細字はファイルを意味します。
image.png

理解を深めるため、違いを比較

前者は構成がシンプル、後者は構成が複雑に見える。

単一のplaybookの場合は、
処理をplaybook一つにおさめているため、その作業専用としてしか使えない。

rolesの場合は
処理などを細分化してパーツ化することができるため、別の作業へ流用性が高い。

記述(最上位~最下位を連結させるイメージ)

<site.yml>
---
- name: Wordpress build web server
  import_playbook: wordpress_web.yml
<wordpress_web.yml>
---
- hosts: web
  become: yes
  vars_files:
    - group_vars/web.yml
  roles:
    - web
<roles/web/tasks/main.yml>
- name: web install
  import_tasks: web.yml
<roles/web/tasks/web.yml>
---
- name: install repo epel-release,remi-release-7
  yum:
    name: "{{ web.repositorys }}"

前回作成した単一playbookをrolesに置き換えて作成したものをgit habで公開。
https://github.com/hiro0413ike/ansible_roles_study/tree/main/ansible_roles

実行コマンド

$ ansible-playbook -i inventory/hosts site.yml --check   … チェック実行

$ ansible-playbook -i inventory/hosts site.yml … 本番適用

-メモ-
1.図解についてはExcelで自分の理解を絵にした感じです。
2.Commonつくろうと思ってたが共通なものが、それ程なかった。修正する際の課題。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0