これまで、ロール、モジュール、プラグインなどの Ansible コンテンツは、通常 2 つの方法で使用されていました。具体的には、モジュールは Ansible パッケージの一部の一部として、またロールは Galaxy で使用されてきました。しかし、時が経つにつれて、現行のコンテンツ配信の手法では、Ansible コンテンツの貢献者と利用者両方でスケーリングに伴うさまざまな課題が生じてきました。その課題については Dylan がこちらのブログ記事で詳しく説明しています。
最近リリースされた Ansible では、より優れたコンテンツ管理が可能になっています。以前の Ansible では、すべてのモジュールが Ansible のリリーススケジュールに完全に縛られていたため、コミュニティ、顧客、そしてパートナーからも、コンテンツのリリーススケジュールの改善を求める声が上がっていました。Ansible のコンテンツコレクションでは、Ansible 製品のリリースサイクルに縛られることなく、機能を特化させたコンテンツを作成できるため、Ansible の貢献者の計画や配信が容易になります。Ansible を使い始めたばかりのユーザーのために、コレクションには、ネットワークやセキュリティなどの一般的なユースケースに関するモジュールとプレイブックが「事前構成パッケージ」としてまとめられているので、Ansible を使い始めることは難しくありません。Ansible のコンテンツコレクションの詳細については、コレクションに関するシリーズをご確認ください。
コレクションを Ansible のエコシステムに導入すると、コンテンツへのアクセスに関する多くの課題が解決され、すべてのタイプの Ansible コンテンツが 1 カ所で提供されます。しかし、それは顧客にとっての課題を生むことにもなります。どのコンテンツをユーザーに利用させたいか、コンテンツのどのバージョンをユーザーに提供するか、誰がどのコンテンツをサポートし、クローズド環境にあるコンテンツをどのように提示および配信するかといったさまざまなことを管理しなければならず、顧客の負担が増えるからです。
自動化コンテンツをパッケージングするこの新手法により、コンテンツを基本的なテキストファイルではなくアーティファクトとして処理できるようになりました。モジュールなどの他のタイプのコンテンツやバージョン管理を追加できるようにするには、これらのパッケージングの変更をサポートできるよう、配信方法を変える必要がありました。現行の配信方法では、コミュニティがサポートするコンテンツと Red Hat サブスクリプションでサポートされるコンテンツを同じような感覚で使用できます。
Automation Hub - コンテンツの発見
Red Hat Ansible Automation Platform がリリースされ、Red Hat とテクノロジーパートナーが支援する、Ansible 認定コンテンツ配信および使用の新手法を導入できるようになりました。Automation Hub は、Red Hat サブスクリプションの利用者が Red Hat やテクノロジーパートナーがサポートするコンテンツをすばやく見つけて使用できる場所を実現し、要求の厳しい環境にもさらなる安心を提供できるようにします。
Automation Hub メニューの上位レベルでは、認定済みおよびサポート対象コンテンツを提供するすべての参加パートナーの概要が表示されます。
このセントラルビューから、ユーザーは各パートナーについてさらに詳しく調べたり、提供されているコレクションを確認したりすることができます。さらに、使用可能なすべてのコレクションの概要を表示することもできます。この画面では検索も可能です。
各コレクションには、モジュール、ロール、プラグインなどのコンテンツと、それに対応するドキュメントが付属しています。これにより、Automation Hub では、ユーザーがサポートされているコンテンツの明確な概要を把握できるだけでなく、ここを見ればほぼすべての分野で IT 自動化を始めるためのドキュメントを見つけることができます。
画面の右上隅にはバージョンピッカーがあり、コンテンツコレクションのバージョンを切り替えることができます。これは組織内に古いコレクションを使用している部署がある場合に役立ちます。
使用方法
Automation Hub は、Red Hat Ansible Automation Platform の既存ユーザーに SaaS (Software-as-a-Service) として提供されており、cloud.redhat.com からアクセスできます。
自動化ワークフローの一部として Automation Hub のコンテンツを使用できるよう、CLI からコンテンツにアクセスすることもできます。これには、cloud.redhat.com/ansible/automation-hub/token の Web UI から取得できるオフライントークンが必要であり、次のように構成ファイルに追加する必要があります。
[galaxy]
server_list = automation_hub, galaxy
[galaxy_server.automation_hub]
url=https://cloud.redhat.com/api/automation-hub/
auth_url=https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token
token=AABBccddeeff112233gghh...
[galaxy_server.galaxy]
url=https://galaxy.ansible.com/
Galaxy サーバー構成の詳細については、コレクションの公式ドキュメントをご覧ください。
これを設定すると、デモコレクションなどのインストールが容易になります。
$ ansible-galaxy collection install ansible.hello_collection
Process install dependency map
Starting collection install process
Installing 'ansible.hello_collection:1.0.6' to '/home/rwolters/.ansible/collections/ansible_collections/ansible/hello_collection'
前述したように、Automation Hub はバージョン管理もサポートしているため、ユーザーは自動化プロセスを新しいコンテンツバージョンに更新するタイミングを自分で決めることができます。CLI はバージョン管理もサポートしています。
$ ansible-galaxy collection install ansible.hello_collection:1.0.3
コレクションのダウンロード方法の詳細については、上述したコレクションの公式ドキュメントをご覧ください。
次のステップ
Automation Hub は、Red Hat Ansible Automation Platform サブスクリプションを利用しているすべてのユーザーが利用できます。cloud.redhat.com にアクセスして、ぜひ使ってみてください。Automation Hub の詳細については、今後配信する Automation Hub の詳細と Automation Analytics の概要のウェブセミナーでも取り上げる予定です。Ansible のコンテンツコレクションと Ansible のコンテンツ管理方法の未来について説明しているウェブセミナーのビデオも、こちらでご覧いただくことができます。