Kubernetesのアプリケーションを簡単にインストールしたい!Helm Hubを使ってみよう

Helm Hub(https://hub.helm.sh/)はHelmのChartが集まっているHubです。Helm Hubに用意されているChartを利用することで、面倒なKubernetesの設定ファイルをゼロから作る手間を、省くことができます。

The Helm Hub repository contains the documentation and some configuration for the distributed public repository search hosted by Helm that can be found at https://hub.helm.sh

Helm Hubには、2019年5月27日現在で630のChartが集まっています。Helm HubのChartは、対象のリポジトリをHelmに追加することで利用することでができます。

この記事ではHelm Hubの使い方として、リポジトリの追加からChartのインストールまでの手順を紹介します。

リポジトリの追加

リポジトリの追加は helm repo add <repo_name> <repo_url> コマンドで追加することができます。Helm Hubのそれぞれのアプリケーションのページにリポジトリの追加コマンドが記述されているので、コピー&ペーストでリポジトリの追加を完了できます。

bitnamiのHelmリポジトリを追加する例です。

リポジトリが追加されたかの確認を行います。設定されているリポジトリは、 helm repo list コマンドで確認をすることができます。

リポジトリの削除

リポジトリの削除は helm repo remove <repo_name> コマンドで行えます。上記で追加したbitnamiリポジトリを削除する例です。

リポジトリの設定が削除されたか、確認をしてみましょう。

bitnamiのリポジトリ設定が正常に削除されました。

Chartのインストール

Chartのインストールは、 helm installコマンドで行います。Helm Hubの各アプリケーションのページに基本インストール方法も記載されています。以下は、bitnamiが提供しているApacheをインストールする例です。

それぞれのアプリケーションの設定変更方法も記載されているので、必要に応じてパラメータを変更してインストールを行ってください。

なお、インストール時に指定するバージョンはHelm Chartのバージョンになります。インストールするアプリケーションのバージョンではないので注意してください。Helm Chartのバージョンとインストールするアプリケーションのバージョンは一致していないの場合が多いので、Helm Chartのページやhelm searchコマンドでバージョンの確認を行ってください。

以下は、helm searchコマンドを実行した例です。オプションなしの場合は、最新Chartの情報を取得できます。Chartバージョン4.2.2はbitbami/apache2.4.39がインストールされます。

helm searchコマンドに-lオプションをつけると、利用可能なすべてのChartバージョンの情報を取得できます。古いアプリケーションのバージョンをインストールしたい場合などに利用できます。

自作のHelm ChartをHelm Hubに追加する

自作したHelm ChartをHelm Hubに追加してもらうことも可能です。Helm HubへのChart追加方法はHelm HubのGitHubページに記載があります。https://github.com/helm/hub/blob/master/Repositories.md

自作したHelm Hubをを格納しているリポジトリを上記Githubのconfig/repo-values.yamlに追加し、プルリクエストを送ります。プルリクエストが承認されることにより、Helm Hubへ追加されるようです。

さいごに

Helmは公開されているKubernetesアプリケーションパッケージを利用できるところが、非常に便利な特徴であり、Helmを利用する理由にもなります。公開されているHelmパッケージを利用することで、Kubenetesアプリケーションの設計や運用の手間を軽減することができます。Helm Hubを活用し、Kubernetesを楽しく使っていきましょう。

スカイアーチ ファンタジー研究室

スカイアーチ ファンタジー研究室

投稿者プロフィール

スカイブロガー

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


Time limit is exhausted. Please reload CAPTCHA.