2021年のAnsibleとわたし

みなさんメリークリスマス。Red Hatのさいとうです。

AnsibleユーザグループのAdvent Calender最終日の記事として、2021年のAnsibleにどのような変化がありそうなのかといったあたりの個人的な予想を書こうと思います。

2020年のAnsibleのふりかえりについては、コチラをどうぞ。

Ansible Festから予想する2021年の変化

Ansible Projectで、翌年にどのような変化がおこりそうなのか...という情報の多くは、毎年開催されるAnsible Festのテクニカルトラックの情報から、ある程度予想することができます。2020年のAnsible FestはCOVID-19の影響から、完全なオンラインカンファレンスとして開催されました。内容はどなたでも無料で視聴できますがアカウント登録が必要です。

それでは、キーノートセッション(The future of Red Hat Ansible Automation Platform)で紹介されていた、2021年に提供されるであろう新しい機能について、以下にまとめてみます。

The future of Red Hat Ansible Automation Platform

このキーノートセッションでは、タイトル通りAnsible Projectが今後注力していく技術分野について紹介されています。キーとなっているトピックは以下の2つです。

Private Automation-Hub

Private Automation-Hubを利用して、RedHat Certified CollectionsとCommunity Collectionsをシームレスに利用できる環境の提供(RHELにおけるSatelliteのような利用イメージ)することがアナウンスされました。この新しいプロダクトはOSSのgalaxy_ngのダウンストリーム版で、既に海外の一部のユーザでは利用されはじめています。

f:id:pyde:20201225180448p:plain

このPrivate Automation-Hubは、2020年にリリースされたAnsible Tower 3.8.0のインストールプログラムを利用してインストールします。このためTower 3.8.0のインストーラには、最近では比較的大きな規模の改修が入っています。リリース初版ということもあって、機能面での課題はまだまだ多い状態ですが、利用方法はコチラで紹介されていますので、興味のあるかたは是非テストしてみてください。

Container Runtime for Ansible

Ansible Playbookの実行環境をコンテナ化して提供してほしいという要望は、以前から多くのエンタープライズユーザから寄せられていました。今回のAnsible Festでは、このコンテナランタイムに対する現実的かつ具体的なアプローチとして、Ansible BuilderとAnsible Runnerを利用した実装が紹介されています。

Ansible Builderは、Ansibleの実行環境となるコンテナイメージを作成するためのプロダクトです。最新版(0.5.1)では、Ansibleが含まれたコンテナイメージをベースとして、追加で必要となるcollections, galaxy role そして、それらが依存しているPythonモジュール群をまとめてコンテナ化するための機能を提供しています。

このAnsible Builderで生成したコンテナイメージは、次期リリースのAnsible Runner v2.0.0から利用することができます。これまでのコンテナランタイムというと、以下のコミュニティドキュメントで紹介されているように、dockerコマンド経由でAnsible Playbookを指定して実行していましたが、Ansible Runner v2.0.0以降の実装では、ansible-runnerコマンドにコンテナイメージパスを引数として渡すことでシームレスに実行することができるようになりました。

この最新版のAnsible Runner v2.0.0は、Ansible TowerのIsolated Nodeに対するジョブ実行で利用されている現在のv1.x系とは異なり、完全にコンテナランタイムを意識した実装となっています。2021年内におそらくリリースされるものと予想していますが、このバージョンのリリースとともに、Ansible Playbookのランタイムはコンテナでの利用が一般化するのではないかと考えています(私見です)。

この、Ansible Builder & Ansible Runnerについては、Ansible Festの技術トラック(Creating and using Ansible execution environments セッション)で更に詳しく紹介されています。Ansible Festに登録済のかたは必見です。

2021年のAnsibleとわたし

個人的に、2021年は、Ansible Playbookのランタイムが大きく変化する年になるのではないかと予想しています。

この赤帽エンジニアブログでも、チャンス(ぼくの空き時間)があれば、Ansible RunnerとAnsible Builderの利用方法について紹介したいと考えていますので、その時にまたお会いしましょう。来年は時間があるといいなぁ。

それでは皆さん、Happy Automation and Happy Christmas :)

* 各記事は著者の見解によるものでありその所属組織を代表する公式なものではありません。その内容については非公式見解を含みます。