Helmは、コンテナ化したアプリケーションのパッケージをデベロッパーが作って、そのインストールを大幅に単純化するための、オープンソースのプロジェクトだ。これまでは、人気の高いコンテナオーケストレーションツール、Kubernetesのサブプロジェクトだったが、今日(米国時間6/1)」からそれは、スタンドアローンのプロジェクトになる。
KubernetesとHelmはどちらも、Cloud Native Computing Foundation(CNCF)が管理するプロジェクトだ。CNCFのTechnical Oversight Committee(技術監督委員会)が今週初めに、このプロジェクトを承認した。CNCFの事務局長Dan Kohnによると、二つのプロジェクトは関連性が密なので、Helmをサブプロジェクトにすることは理にかなっていた。
“Helmの良いところは。それがKubernetesのアプリケーションであることだ。KubernetesがAPIでHelmはそのAPIにアクセスする。これをインストールするとKubernetesのAPIにもアクセスすることになり、コンテナやポッド(pod, コンテナの集まり)の操作はすべて、デベロッパーに代わってHelmがやってくれる”、とKohnは説明する。
Helmが一連の要求をまとめて面倒見てくれるから、コンテナ化アプリケーションのインストールを何度繰り返してもその一貫性/整合性は維持される。“HelmはアプリケーションをKubernetesへデプロイするときの共通のユーザーニーズをまとめて引き受け、それらの構成を再利用可能にする”、とGoogleとKubernetesの主席エンジニアBrian Grantが声明で説明している。
パッケージは“charts”(チャート)と呼ばれ、一つまたは複数のコンテナから成る。Kohnによると、たとえば、WordPressとMariaDBを単一のコンテナに収めたチャートをデプロイしたい、としよう。チャートを作ることによってそのインストールプロセスが定義され、そのクラスターではどの部分をどんな順序でインストールするかが決まる。
Kohnによると、今回Helmを単独のプログラムにしたのは、それがKubernetesのリリーススケジュールに従わない場合があるからだ。そこでスタンドアローンしておけば、Kubernetesの毎回のリリースに縛られずにすむ。
またそれによってコミュニティの利点も享受でき、コミュニティが一般的なインストールシナリオのためのチャートを作って提供できる。Helmの共同制作者でMicrosoftの主席エンジニアMatt Butcherは、声明中でこう述べている: “CNCFに参加したことによって、コミュニティの利点を享受でき、またデベロッパーのコミュニティが、ワークロードをKubernetesの上で動かすための既製のチャートの、広大なリポジトリを提供する利点もある”。
このプロジェクトのスポンサーはMicrosoftとGoogleのほかに、Codefresh, Bitnami, Ticketmaster, そしてCodecentricなどだ。プロジェクトのWebサイトによると、現在250名のデベロッパーがこのプロジェクトにコントリビューションしている。CNCFに加わったことによって、その数はさらに増えるだろう。