Red Hat Ansible Automation Platform のリリースにより、Ansible Content Collections がフルサポートされるようになりました。Ansible Content Collections、またはコレクションは、自動化の配布、保守、および利用の新基準となっています。さまざまなタイプの Ansible コンテンツ (Playbook、ロール、モジュール、プラグイン) を組み合わせることにより、柔軟性とスケーラビリティが大幅に向上します。
得をするのは誰か
皆さんです!
従来、モジュール作成者は、次の Ansible リリースの組み入れ対象にモジュールが指定されるのを待つか、モジュールをロールに追加しなければならず、利用と管理がより困難になっていました。関連するロールやドキュメントと併せて Ansible Content Collections 内にモジュールを同梱して配布することで、参入の障害を取り除いたため、作成者は、モジュール作成の需要に応じて迅速に対処できるようになりました。このため、パブリッククラウド・プロバイダーは、既存サービスや新規サービスの新機能をまとめてロールアウトし、新しい機能を自動化する機能を利用できます。
自動化を利用する側にとっては、常に最新のコンテンツを利用できることになります。また、この方法では、モジュール、プラグイン、ロール、およびドキュメントがパッケージ化され、コレクションのバージョンでタグ付けされるため、コンテンツ管理がいっそう簡単になります。モジュールは、更新、名前変更、改良が可能です。 ロールはモジュールとの連携方法の変更を反映するように更新でき、ドキュメントは編集内容を反映するように再生成が可能で、すべてがパッケージ化され、タグ付けされます。
これに加えて、コレクションの導入以前は、モジュールが接続するサービスとの連携に必要なタイムリーな更新が、破壊されたり不足したりすることは珍しくありませんでした。そのため、多くの場合、Ansible ユーザーや Ansible Tower 管理者は、モジュールの問題に対処するパッチを使用するために、仮想化環境で Ansible の複数のバージョンを実行する必要がありました。Ansible Content Collections は、コア・ディストリビューションからモジュールを分離することにより、安定性と予測可能性をもたらします。
自動化された組織では、認証されたコンテンツを、自動化の準備が整ったユースケースに初日から即座に適用できます。
コレクションの場所
Red Hat Ansible Automation Platform のリリースにより、Automation Hub が認定されたコレクションのソースになります。さらに、コレクション作成者は、Ansible Galaxy でコンテンツをパッケージ化して配布することもできます。最終的に、コンテンツの配布メカニズムを決定するのは作成者であり、Automation Hub が Red Hat Certified Collections の唯一のソースになります。Automation Hub からの認定済みコレクションの取得については、こちらをご覧ください。
コレクションの詳細
Ansible Content Collections は、Ansible コンテンツのパッケージ形式とみなされます。
この形式のデータ構造は単純で予測可能であり、定義も次のようにシンプルです。
- docs/:コレクションのローカルドキュメント
- galaxy.yml:MANIFEST.json のソースデータで、コレクションパッケージの一部になる
- playbooks/:Playbook の格納場所
- tasks/:include_tasks/import_tasks で使用する「タスクリストファイル」が格納される
- plugins/:すべての ansible プラグインとモジュールが、それぞれのサブディレクトリに格納される
- modules/:ansible モジュール
- lookups/:ルックアッププラグイン
- filters/:Jinja2 フィルタープラグイン
- connection/:デフォルトを使用していない場合に必要なコネクションプラグイン
- roles/:ansible ロールのディレクトリ
- tests/:コレクションのコンテンツのテスト
コレクションの操作
ブラウザーからコレクションをダウンロードするほか、「ansible-galaxy」 コマンドライン・ユーティリティがコレクション管理向けに更新され、ロールの管理、作成、使用にこれまで使われてきた機能とほぼ同じ機能を提供します。たとえば、「ansible-galaxy collection init」を使用して、新しいユーザーが作成したコレクションの骨組みを作成できます。
コレクションの作成を開始する正しいディレクトリ構造に加えて、このコマンドは、名前空間とコレクション名が指定済みのメタデータファイルも生成します。このファイルはコレクションを構築するときに使用されます。
次のステップ
Ansible Content Collections は、Ansible Engine 2.8 でテクノロジープレビューとして初めて導入され、現在は Ansible Engine 2.9 でフルサポートされ、Red Hat Ansible Automation Platform の中心的要素になりました。コレクションによって、Red Hat Ansible Automation Platform は、認定されたコンテンツを安定して提供し、自動化のユースケースを拡大し続けることができます。今後の記事では、新しいコレクションの開発と既存ロールのコレクションへの変換についてさらに詳しく説明します。
Red Hat Ansible Automation Platform を使用して迅速に稼働を開始する方法について、ご興味をお持ちになったのではないでしょうか。
2019 年 12 月 3 日に開催される、Ansible Content Collections による稼働開始に関する Web セミナーにぜひご登録ください。
その他の関連資料
Ansible Content Collections の利用および開発用に、Ansible 内でフルサポートされているコレクションとドキュメントをご用意しています。
また、米国アトランタで開催された AnsibleFest 2019 では、コレクションについての次のようなストーリーやセッションが注目されました。