The Inside Playbook

Ansible Content Collections を使ってみよう

2019年11月14日、寄稿者: Colin McNaughton

Ansible Content Collections を使ってみよう

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 プラグインとモジュールが、それぞれのサブディレクトリに格納される
  • 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 では、コレクションについての次のようなストーリーやセッションが注目されました。

お問い合わせ・製品のご紹介

Red Hat Ansible Automationについてのお問い合わせは

ansible-jp@redhat.com

Red Hat Ansible Automation製品について

詳細はこちら