1つのPlaybookに複数のPlay
1つのファイルでweb、続いてdbを対象にします
「1つのPlaybookに複数のPlay」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。
複数のplay
playbookはYAMLリストなので、複数のplayを含めることができます。各playはそれぞれ独自のホストグループを対象にします。🎭
playを分ける理由
異なる層には異なる処理が必要です。あるplayでWebサーバーをセットアップし、別のplayでデータベースホストを設定します。
各playはダッシュで始まる
最上位に新しいダッシュを置くと、新しいplayが始まります。これによってAnsibleは、1つのplayが終わり、次のplayが始まったことを認識します。
- name: Web play
hosts: web
tasks: []
- name: DB play
hosts: db
tasks: []Webの後にDB
playはファイルに記述された順番で実行されます。web playが完全に終了してから、db playが始まります。
独立したhosts行
各playには独自のhosts値があります。互いに重複しない、完全に別のグループを指定することもできます。
- hosts: web
tasks: []
- hosts: db
tasks: []playごとに設定を分ける
becomeやvarsなどのplayレベルのキーは、そのplayにだけ適用されます。次のplayは、独自のまっさらな設定で始まります。
playごとのfacts
デフォルトでは、各playがタスクを実行する前に、そのplay自身のホストについてfactsを収集します。そのため、db playはデータベースマシンの情報を参照できます。
スタックを構成する
複数のplayを使うと、1つのファイルでスタック全体を構成できます。データベース、アプリ、ロードバランサーの順に設定できます。🏗️
3つのplayを含むファイル
ここでは、3つのplayが3つのグループを順番に対象にします。1つのコマンドで環境全体を展開できます。
- hosts: db
tasks: []
- hosts: app
tasks: []
- hosts: lb
tasks: []1つのコマンド、複数の層
実行には、これまでどおりansible-playbookの呼び出しを1回使うだけです。Ansibleがすべてのplayを上から下まで実行してくれます。
playの役割を絞る
各playには、明確な1つの役割と1つのホストグループを割り当てます。役割を絞ったplayは、大きなplaybookでも読みやすく再利用しやすくなります。
クイックチェック
複数のplayがどのように実行されるか確認しましょう。
まとめ
1つのファイルに複数のplayを記述でき、それぞれが独自のhostsと設定を持ちます。playは順番に実行され、スタック全体を構成します。✅
よくある質問
「1つのPlaybookに複数のPlay」レッスンは無料ですか?
はい。「1つのPlaybookに複数のPlay」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。
「1つのPlaybookに複数のPlay」で何を学びますか?
1つのファイルでweb、続いてdbを対象にします ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
DevOps Bootcampを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「1つのPlaybookに複数のPlay」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDevOps Bootcampレッスンでコードを書いて実行できますか?
はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Play = ホスト + タスク
- 読みやすい出力のためのタスク名
- 1つのPlaybookに複数のPlay
- タスクの順序と上から下への実行