Ansible Academy · レッスン

Role ディレクトリの構成

tasks、handlers、templates、defaults、vars の役割を学びます。

レッスン 2/413 ステップ

「Role ディレクトリの構成」はCoddyKit上の無料Ansible Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAnsible Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Ansible Academyコースには全4レッスンが含まれています。

ロールはフォルダーのツリー構造

ロールは、決められたサブフォルダーを持つディレクトリにすぎません。Ansibleはフォルダー名を認識し、その内容を自動的に読み込みます。

roles/
  nginx/
    tasks/
    handlers/
    templates/

tasks/main.ymlがエントリーポイント

tasks/main.ymlファイルには、ロールの主なタスク一覧を記述します。ロールが適用されたとき、Ansibleが最初に実行するファイルです。

tasks/main.yml:
- name: Install nginx
  ansible.builtin.package:
    name: nginx

handlers/に再起動の処理を置く

handlersフォルダーでは、サービスの再起動などの処理を定義します。タスクがこれらのハンドラーに通知するため、変更があった場合にだけ再起動が行われます。

Jinja2ファイルはtemplates/に置く

.j2テンプレートファイルはtemplates/に置きます。templateモジュールは完全なパスを指定しなくても、名前でそこからファイルを見つけます。

templates/
  nginx.conf.j2

静的ファイルはfiles/に置く

filesフォルダーには、そのままコピーする通常のファイルを保存します。copyモジュールはtemplatesと同じように、ファイルを自動的に見つけます。

defaults/で優先度の低い変数を設定する

defaults/main.ymlファイルには、優先順位が最も低い変数を記述します。そのため、ロールの外部から簡単に上書きできます。

defaults/main.yml:
nginx_port: 80

vars/で優先度の高い変数を設定する

vars/main.ymlファイルには、優先順位の高い変数を記述します。ロールが依存し、ほとんど変更されない値に使用します。

meta/main.ymlでロールを説明する

meta/main.ymlファイルには、ロールの作成者、ライセンス、対応プラットフォーム、ロールの依存関係を記述します。

main.ymlが特別な名前である理由

tasks、handlers、vars、defaultsの中では、Ansibleがmain.ymlという名前のファイルを自動的に読み込みます。この命名規則が、各要素を結び付けています。

使うものだけ用意すればよい

ロールにすべてのフォルダーを用意する必要はありません。テンプレートがなければ、templatesディレクトリを省略できます。Ansibleは、存在しない任意のフォルダーを無視します。

tests/とREADMEで仕上げる

完成度の高いロールにはREADMEとtestsフォルダーが用意されており、他の人が自動化の内容を理解し、使用前に検証できるようになっています。

クイックチェック

ロールの主なタスク一覧がどこにあるか思い出してみましょう。

まとめ

ロールはフォルダーのツリー構造であり、tasks、handlers、templates、files、defaults、vars、metaにはそれぞれ決められた場所があります。すべてはmain.ymlを基準に構成されます。📁

無料で開始

AI チューターと学ぶ YAML — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
30
レッスン
120

よくある質問

「Role ディレクトリの構成」レッスンは無料ですか?

はい。「Role ディレクトリの構成」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Ansible Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Ansible Academyコースには全4レッスンが含まれています。

「Role ディレクトリの構成」で何を学びますか?

tasks、handlers、templates、defaults、vars の役割を学びます。 ブラウザで直接実行するハンズオンコードでAnsible Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Ansible Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのAnsible Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「Role ディレクトリの構成」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このAnsible Academyレッスンでコードを書いて実行できますか?

はい。すべてのAnsible Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. なぜ Role なのか:モノリスからモジュールへ
  2. Role ディレクトリの構成
  3. ansible-galaxy init で Role のひな形を作る
  4. Role の適用と Role 変数の受け渡し
← Ansible Academyに戻る