第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 の場合

  1. Helm バイナリーをダウンロードし、これをパスに追加します。

    # curl -L https://mirror.openshift.com/pub/openshift-v4/clients/helm/latest/helm-linux-amd64 -o /usr/local/bin/helm
  2. バイナリーファイルを実行可能にします。

    # chmod +x /usr/local/bin/helm
  3. インストールされたバージョンを確認します。

    $ helm version
    version.BuildInfo{Version:"v3.0", GitCommit:"b31719aab7963acf4887a1c1e6d5e53378e34d93", GitTreeState:"clean", GoVersion:"go1.13.4"}

3.1.2.2. Windows 7/8 の場合

  1. 最新の .exe ファイルをダウンロードし、希望のディレクトリーに配置します。
  2. Start を右クリックし、Control Panel をクリックします。
  3. System and Security を選択してから System をクリックします。
  4. 左側のメニューから、Advanced systems settings を選択し、下部にある Environment Variables をクリックします。
  5. Variable セクションから Path を選択し、Edit をクリックします。
  6. New をクリックして、 .exe ファイルのあるフォルダーへのパスをフィールドに入力するか、または Browse をクリックし、ディレクトリーを選択して OK をクリックします。

3.1.2.3. Windows 10 の場合

  1. 最新の .exe ファイルをダウンロードし、希望のディレクトリーに配置します。
  2. Search クリックして、env または environment を入力します。
  3. Edit environment variables for your account を選択します。
  4. Variable セクションから Path を選択し、Edit をクリックします。
  5. New をクリックし、exe ファイルのあるディレクトリーへのパスをフィールドに入力するか、または Browse をクリックし、ディレクトリーを選択して OK をクリックします。

3.1.2.4. MacOS の場合

  1. Helm バイナリーをダウンロードし、これをパスに追加します。

    # curl -L https://mirror.openshift.com/pub/openshift-v4/clients/helm/latest/helm-darwin-amd64 -o /usr/local/bin/helm
  2. バイナリーファイルを実行可能にします。

    # chmod +x /usr/local/bin/helm
  3. インストールされたバージョンを確認します。

    $ 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 がインストールされている。

手順

  1. 新規プロジェクトを作成します。

    $ oc new-project mysql
  2. Helm チャートのリポジトリーをローカルの Helm クライアントに追加します。

    $ helm repo add stable https://kubernetes-charts.storage.googleapis.com/
    "stable" has been added to your repositories
  3. リポジトリーを更新します。

    $ helm repo update
  4. MySQL チャートのサンプルをインストールします。

    $ helm install example-mysql stable/mysql
  5. チャートが正常にインストールされたことを確認します。

    $ 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 チャートの作成

手順

  1. 新規プロジェクトを作成します。

    $ oc new-project nodejs-ex-k
  2. OpenShift Container Platform オブジェクトが含まれる Node.js チャートのサンプルをダウンロードします。

    $ git clone https://github.com/redhat-developer/redhat-helm-charts
  3. サンプルチャートを含むディレクトリーに移動します。

    $ cd redhat-helm-charts/alpha/nodejs-ex-k/
  4. 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
    1
    チャート API バージョン。これは、Helm 3 以上を必要とする Helm チャートの場合は v2 である必要があります。
    2
    チャートの名前。
    3
    チャートの説明。
    4
    アイコンとして使用するイメージへの URL。
  5. チャートが適切にフォーマットされていることを確認します。

    $ helm lint
    [INFO] Chart.yaml: icon is recommended
    
    1 chart(s) linted, 0 chart(s) failed
  6. チャートをインストールします。

    $ cd ..
    $ helm install nodejs-chart nodejs-ex-k
  7. チャートが正常にインストールされたことを確認します。

    $ 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