これまで、管理対象ノードで特定のタスクを自動化するためのAnsibleプレイブックを作成してきました。他の誰かがあなたが解決しようとしている問題/タスクに対するAnsibleソリューションをすでに設計している可能性が非常に高く、それこそがAnsibleの役割のすべてです。
このチュートリアルでは、Ansibleでロールがどのように構成されているかを理解します。また、AnsibleGalaxyの既成の役割の使用方法も学習します。
さらに、独自のカスタムAnsibleロールを作成する方法を学びます。
このチュートリアルを進める前に、ここで言及されているさまざまなトピックをよりよく理解するために、Ansibleチュートリアルシリーズの他の章を参照してください。
Ansibleの役割は、サービスの構成などの特定の目的を一緒に果たすファイル、タスク、テンプレート、変数、およびハンドラーのコレクションです。ロールを使用すると、コードを簡単に再利用し、Ansibleソリューションを他のユーザーと共有できるため、大規模な環境での作業がより管理しやすくなります。
典型的なAnsibleの役割は、通常、次のディレクトリで構成される定義済みのディレクトリ構造に従います。
- デフォルト: 簡単に上書きできるようになっている役割のデフォルト変数が含まれています。
- 変数: プレイブックで上書きされることを意図していない役割の標準変数が含まれています。
- タスク: ロールによって実行される一連のタスクが含まれています。
- ハンドラー: ロールで使用されるハンドラーのセットが含まれています。
- テンプレート: ロールで使用されるJinja2テンプレートが含まれています。
- ファイル: ロールタスクから必要な静的ファイルが含まれています。
- テスト: オプションのインベントリファイルとtest.ymlが含まれる場合があります 役割をテストするために使用できるプレイブック。
- メタ: 作成者情報、ライセンス、依存関係などの役割メタデータが含まれています。
ロールには、前述のすべてのディレクトリまたはそれらのサブセットのみが含まれる場合があることに注意してください。実際、ディレクトリがゼロの空の役割を定義することはできますが、役に立ちません!
全文を読む
記事の残りの部分は、LHBProメンバーのみが利用できます。今すぐ登録して年間50ドルでこの記事の残りの部分を読み、すべてのメンバー限定の投稿、電子書籍、ビデオコースに無料でアクセスできます。
購読すでにアカウントをお持ちですか?サインイン