第3章 Helm CLI
3.1. OpenShift Container Platform での Helm 3 の使用開始
OpenShift Container Platform の Helm 3 はテクノロジープレビュー機能です。テクノロジープレビュー機能は Red Hat の実稼働環境でのサービスレベルアグリーメント (SLA) ではサポートされていないため、Red Hat では実稼働環境での使用を推奨していません。Red Hat は実稼働環境でこれらを使用することを推奨していません。これらの機能は、近々発表予定の製品機能をリリースに先駆けてご提供することにより、お客様は機能性をテストし、開発プロセス中にフィードバックをお寄せいただくことができます。
Red Hat のテクノロジープレビュー機能のサポート範囲についての詳細は、https://access.redhat.com/ja/support/offerings/techpreview/ を参照してください。
3.1.1. Helm について
Helm は、アプリケーションやサービスの OpenShift Container Platform クラスターへのデプロイメントを単純化するコマンドラインインターフェース (CLI) ツールです。Helm はチャートというパッケージ形式を使用します。Helm チャートは、OpenShift Container Platform リソースを記述するファイルのコレクションです。
3.1.1.1. 主な特長
Helm は以下を行う機能を提供します。
- チャートリポジトリーに保存したチャートの大規模なコレクションの検索。
- 既存のチャートの変更。
- OpenShift Container Platform または Kubernetes リソースの使用による独自のチャートの作成。
- アプリケーションのチャートとしてのパッケージ化および共有。
3.1.2. Helm のインストール
前提条件
- Go バージョン 1.13 以降がインストールされている。
3.1.2.1. Linux の場合
Helm バイナリーをダウンロードし、これをパスに追加します。
# curl -L https://mirror.openshift.com/pub/openshift-v4/clients/helm/latest/helm-linux-amd64 -o /usr/local/bin/helm
バイナリーファイルを実行可能にします。
# chmod +x /usr/local/bin/helm
インストールされたバージョンを確認します。
$ helm version version.BuildInfo{Version:"v3.0", GitCommit:"b31719aab7963acf4887a1c1e6d5e53378e34d93", GitTreeState:"clean", GoVersion:"go1.13.4"}
3.1.2.2. Windows 7/8 の場合
-
最新の
.exe
ファイルをダウンロードし、希望のディレクトリーに配置します。 - Start を右クリックし、Control Panel をクリックします。
- System and Security を選択してから System をクリックします。
- 左側のメニューから、Advanced systems settings を選択し、下部にある Environment Variables をクリックします。
- Variable セクションから Path を選択し、Edit をクリックします。
-
New をクリックして、
.exe
ファイルのあるフォルダーへのパスをフィールドに入力するか、または Browse をクリックし、ディレクトリーを選択して OK をクリックします。
3.1.2.3. Windows 10 の場合
-
最新の
.exe
ファイルをダウンロードし、希望のディレクトリーに配置します。 -
Search クリックして、
env
またはenvironment
を入力します。 - Edit environment variables for your account を選択します。
- Variable セクションから Path を選択し、Edit をクリックします。
- New をクリックし、exe ファイルのあるディレクトリーへのパスをフィールドに入力するか、または Browse をクリックし、ディレクトリーを選択して OK をクリックします。
3.1.2.4. MacOS の場合
Helm バイナリーをダウンロードし、これをパスに追加します。
# curl -L https://mirror.openshift.com/pub/openshift-v4/clients/helm/latest/helm-darwin-amd64 -o /usr/local/bin/helm
バイナリーファイルを実行可能にします。
# chmod +x /usr/local/bin/helm
インストールされたバージョンを確認します。
$ helm version version.BuildInfo{Version:"v3.0", GitCommit:"b31719aab7963acf4887a1c1e6d5e53378e34d93", GitTreeState:"clean", GoVersion:"go1.13.4"}
3.1.3. OpenShift Container Platform クラスターでの Helm チャートのインストール
前提条件
- 実行中の OpenShift Container Platform クラスターがあり、ログインしている。
- Helm がインストールされている。
手順
新規プロジェクトを作成します。
$ oc new-project mysql
Helm チャートのリポジトリーをローカルの Helm クライアントに追加します。
$ helm repo add stable https://kubernetes-charts.storage.googleapis.com/ "stable" has been added to your repositories
リポジトリーを更新します。
$ helm repo update
MySQL チャートのサンプルをインストールします。
$ helm install example-mysql stable/mysql
チャートが正常にインストールされたことを確認します。
$ helm list NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION example-mysql mysql 1 2019-12-05 15:06:51.379134163 -0500 EST deployed mysql-1.5.0 5.7.27
3.1.4. OpenShift Container Platform でのカスタム Helm チャートの作成
手順
新規プロジェクトを作成します。
$ oc new-project nodejs-ex-k
OpenShift Container Platform オブジェクトが含まれる Node.js チャートのサンプルをダウンロードします。
$ git clone https://github.com/redhat-developer/redhat-helm-charts
サンプルチャートを含むディレクトリーに移動します。
$ cd redhat-helm-charts/alpha/nodejs-ex-k/
Chart.yaml
ファイルを編集し、チャートの説明を追加します。apiVersion: v2 1 name: nodejs-ex-k 2 description: A Helm chart for OpenShift 3 icon: https://static.redhat.com/libs/redhat/brand-assets/latest/corp/logo.svg 4
チャートが適切にフォーマットされていることを確認します。
$ helm lint [INFO] Chart.yaml: icon is recommended 1 chart(s) linted, 0 chart(s) failed
チャートをインストールします。
$ cd .. $ helm install nodejs-chart nodejs-ex-k
チャートが正常にインストールされたことを確認します。
$ helm list NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION nodejs-chart nodejs-ex-k 1 2019-12-05 15:06:51.379134163 -0500 EST deployed nodejs-0.1.0 1.16.0