Ansible 初心者がplaybook~roleを学ぶ ⑤ (wordpress環境構築)-roles(ベストプラクティス)編-
目的であったroles理解に入ります。
ルールに従ったroleの構成を作る。
(Ansibleが理解して処理できるディレクトリ構成をつくる、数学の公式みたいなイメージ)
以下公式を参考に作成を進めた。
https://docs.ansible.com/ansible/2.9_ja/user_guide/playbooks_best_practices.html
「playbook単体の構成」と「roles構成の図解」
理解を深めるため、違いを比較
前者は構成がシンプル、後者は構成が複雑に見える。
単一の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 }}"
~略~
<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つくろうと思ってたが共通なものが、それ程なかった。修正する際の課題。
Author And Source
この問題について(Ansible 初心者がplaybook~roleを学ぶ ⑤ (wordpress環境構築)-roles(ベストプラクティス)編-), 我々は、より多くの情報をここで見つけました https://qiita.com/showa-engine/items/efd0eb2b7977b2ba132b著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .