6.3. カスタム Helm チャートリポジトリーの設定


以下の方法のいずれかを使用して、OpenShift Container Platform クラスターに Helm チャートをインストールできます。

  • CLI
  • Web コンソールの Developer パースペクティブ。

Web コンソールの Developer パースペクティブの Developer Catalog には、クラスターで利用可能な Helm チャートが表示されます。デフォルトで、これは Red Hat Helm チャートリポジトリーの OpenShift Helm チャートの一覧を表示します。チャートの一覧については、Red Hat Helm インデックス ファイルを参照してください。

クラスター管理者は、デフォルトのリポジトリーとは別に複数の Helm チャートリポジトリーを追加し、Developer Catalog でこれらのリポジトリーから Helm チャートを表示できます。

6.3.1. OpenShift Container Platform クラスターでの Helm チャートのインストール

前提条件

  • 実行中の OpenShift Container Platform クラスターがあり、ログインしている。
  • Helm がインストールされている。

手順

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

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

    $ helm repo add openshift-helm-charts https://charts.openshift.io/

    出力例

    "openshift-helm-charts" has been added to your repositories

  3. リポジトリーを更新します。

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

    $ helm install example-vault openshift-helm-charts/hashicorp-vault

    出力例

    NAME: example-vault
    LAST DEPLOYED: Fri Mar 11 12:02:12 2022
    NAMESPACE: vault
    STATUS: deployed
    REVISION: 1
    NOTES:
    Thank you for installing HashiCorp Vault!

  5. チャートが正常にインストールされたことを確認します。

    $ helm list

    出力例

    NAME         	NAMESPACE	REVISION	UPDATED                                	STATUS  	CHART       	APP VERSION
    example-vault	vault    	1       	2022-03-11 12:02:12.296226673 +0530 IST	deployed	vault-0.19.0	1.9.2

6.3.2. 開発者パースペクティブを使用した Helm チャートのインストール

Web コンソールまたは CLI コンソールの Developer パースペクティブを使用して、Developer Catalog に一覧表示されている Helm チャートからチャートを選択し、インストールできます。Helm チャートをインストールして Helm リリースを作成し、Web コンソールの Developer パースペクティブに表示できます。

前提条件

手順

Developer Catalog で提供される Helm チャートから Helm リリースを作成するには、以下を実行します。

  1. Developer パースペクティブで、+Add ビューに移動し、プロジェクトを選択します。次に、Helm Chart オプションをクリックし、Developer Catalog にすべての Helm チャートを表示します。
  2. チャートを選択し、チャートの説明、README、チャートについてのその他の詳細を確認します。
  3. Install Helm Chart をクリックします。

    図6.1 Developer カタログの Helm チャート

    odc helm chart devcatalog
  4. Install Helm Chart ページで以下を行います。

    1. リリースの固有の名前を Release Name フィールドに入力します。
    2. Chart Version ドロップダウンリストから必要なチャートのバージョンを選択します。
    3. Form View または YAML View を使用して Helm チャートを設定します。

      注記

      利用可能な場合は、YAML ViewForm View 間で切り替えることができます。ビューの切り替え時に、データは永続化されます。

    4. Install をクリックして Helm リリースを作成します。リリースが表示される Topology ビューにリダイレクトされます。Helm チャートにリリースノートがある場合、チャートは事前に選択され、右側のパネルにそのリリースのリリースノートが表示されます。

サイドパネルで Actions ボタンを使用するか、または Helm リリースを右クリックして Helm リリースのアップグレード、ロールバック、またはアンインストールを実行できます。

6.3.3. Web 端末での Helm の使用

Web コンソールの Developer パースペクティブで Web 端末を初期化して Helm を使用できます。詳細は Web 端末の使用 を参照してください。

6.3.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
    version: 0.2.1 5
    1
    チャート API バージョン。これは、Helm 3 以上を必要とする Helm チャートの場合は v2 である必要があります。
    2
    チャートの名前。
    3
    チャートの説明。
    4
    アイコンとして使用するイメージへの URL。
    5
    Semantic Versioning (SemVer) 2.0.0 仕様に準拠したチャートのバージョン。
  5. チャートが適切にフォーマットされていることを確認します。

    $ helm lint

    出力例

    [INFO] Chart.yaml: icon is recommended
    
    1 chart(s) linted, 0 chart(s) failed

  6. 直前のディレクトリーレベルに移動します。

    $ cd ..
  7. チャートをインストールします。

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

    $ 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

6.3.5. カスタム Helm チャートリポジトリーの追加

クラスター管理者は、カスタムの Helm チャートリポジトリーをクラスターに追加し、Developer Catalog のこれらのリポジトリーから Helm チャートへのアクセスを有効にできます。

手順

  1. 新規の Helm Chart リポジトリーを追加するには、Helm Chart Repository カスタムリソース (CR) をクラスターに追加する必要があります。

    Helm チャートリポジトリー CR のサンプル

    apiVersion: helm.openshift.io/v1beta1
    kind: HelmChartRepository
    metadata:
      name: <name>
    spec:
     # optional name that might be used by console
     # name: <chart-display-name>
      connectionConfig:
        url: <helm-chart-repository-url>

    たとえば、Azure サンプルチャートリポジトリーを追加するには、以下を実行します。

    $ cat <<EOF | oc apply -f -
    apiVersion: helm.openshift.io/v1beta1
    kind: HelmChartRepository
    metadata:
      name: azure-sample-repo
    spec:
      name: azure-sample-repo
      connectionConfig:
        url: https://raw.githubusercontent.com/Azure-Samples/helm-charts/master/docs
    EOF
  2. Web コンソールで Developer Catalog に移動し、チャートリポジトリーの Helm チャートが表示されることを確認します。

    たとえば、Chart リポジトリー フィルターを使用して、リポジトリーから Helm チャートを検索します。

    図6.2 チャートリポジトリーのフィルター

    odc helm chart repo filter
    注記

    クラスター管理者がすべてのチャートリポジトリーを削除する場合は、+Add ビュー、Developer Catalog、および左側のナビゲーションパネルで Helm オプションを表示できません。

6.3.6. Helm チャートリポジトリーを追加するための認証情報および CA 証明書の作成

一部の Helm チャートリポジトリーに接続するには、認証情報とカスタム認証局 (CA) 証明書が必要です。Web コンソールと CLI を使用して認証情報と証明書を追加することができます。

手順

認証情報と証明書を設定し、CLI を使用して Helm チャートリポジトリーを追加します。

  1. openshift-config namespace で、PEM でエンコードされた形式のカスタム CA 証明書で ConfigMap を作成し、これを設定マップ内の ca-bundle.crt キーに保存します。

    $ oc create configmap helm-ca-cert \
    --from-file=ca-bundle.crt=/path/to/certs/ca.crt \
    -n openshift-config
  2. openshift-config namespace で、クライアント TLS 設定を追加するために Secret オブジェクトを作成します。

    $ oc create secret tls helm-tls-configs \
    --cert=/path/to/certs/client.crt \
    --key=/path/to/certs/client.key \
    -n openshift-config

    クライアント証明書とキーは PEM でエンコードされた形式であり、それぞれ tls.crt および tls.key キーに保存される必要があります。

  3. 以下のように Helm リポジトリーを追加します。

    $ cat <<EOF | oc apply -f -
    apiVersion: helm.openshift.io/v1beta1
    kind: HelmChartRepository
    metadata:
      name: <helm-repository>
    spec:
      name: <helm-repository>
      connectionConfig:
        url: <URL for the Helm repository>
        tlsConfig:
            name: helm-tls-configs
        ca:
    	name: helm-ca-cert
    EOF

    ConfigMap および Secret は、tlsConfig および ca フィールドを使用して HelmChartRepository CR で使用されます。これらの証明書は、Helm リポジトリー URL への接続に使用されます。

  4. デフォルトでは、認証されたユーザーはすべて設定済みのチャートにアクセスできます。ただし、証明書が必要なチャートリポジトリーの場合は、以下のように openshift-config namespace で helm-ca-cert 設定マップおよび helm-tls-configs シークレットへの読み取りアクセスを提供する必要があります。

    $ cat <<EOF | kubectl apply -f -
    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      namespace: openshift-config
      name: helm-chartrepos-tls-conf-viewer
    rules:
    - apiGroups: [""]
      resources: ["configmaps"]
      resourceNames: ["helm-ca-cert"]
      verbs: ["get"]
    - apiGroups: [""]
      resources: ["secrets"]
      resourceNames: ["helm-tls-configs"]
      verbs: ["get"]
    ---
    kind: RoleBinding
    apiVersion: rbac.authorization.k8s.io/v1
    metadata:
      namespace: openshift-config
      name: helm-chartrepos-tls-conf-viewer
    subjects:
      - kind: Group
        apiGroup: rbac.authorization.k8s.io
        name: 'system:authenticated'
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: Role
      name: helm-chartrepos-tls-conf-viewer
    EOF

6.3.7. 証明書レベルでの Helm チャートのフィルターリング

Developer Catalog の認定レベルに基づいて Helm チャートをフィルターできます。

手順

  1. Developer パースペクティブで、+Add ビューに移動してプロジェクトを選択します。
  2. Developer Catalog タイルから、Helm Chart オプションを選択して Developer Catalog ですべての Helm チャートを表示します。
  3. Helm チャートの一覧の左側にあるフィルターを使用して、必要なチャートをフィルターします。

    • Chart Repositories フィルターを使用して、Red Hat Certification Charts または OpenShift Helm Charts が提供したチャートをフィルターします。
    • Source フィルターを使用して、PartnersCommunity または Red Hat から提供されるチャートをフィルターします。認定チャートはアイコン ( odc verified icon ) で表示されます。
注記

プロバイダータイプが 1 つしかない場合は、Source フィルターは表示されません。

必要なチャートを選択してインストールできるようになりました。

6.3.8. Helm チャートリポジトリーの無効化

HelmChartRepositorydisabled プロパティーを true に設定して、カタログにある特定の Helm チャートリポジトリーからの Helm チャートを無効にできます。

手順

  • CLI を使用して Helm チャートリポジトリーを無効にするには、disabled: true フラグをカスタムリソースに追加します。たとえば、Azure サンプルチャートリポジトリーを削除するには、以下を実行します。

    $ cat <<EOF | oc apply -f -
    apiVersion: helm.openshift.io/v1beta1
    kind: HelmChartRepository
    metadata:
      name: azure-sample-repo
    spec:
      connectionConfig:
       url:https://raw.githubusercontent.com/Azure-Samples/helm-charts/master/docs
      disabled: true
    EOF
  • Web コンソールを使用して、最近追加された Helm チャートリポジトリーを無効にするには、以下を実行します。

    1. Custom Resource Definitions に移動し、 HelmChartRepository カスタムリソースを検索します。
    2. Instances に移動し、無効にするリポジトリーを見つけ、その名前をクリックします。
    3. YAML タブに移動し、spec セクションに disabled: true フラグを追加し、Save をクリックします。

      spec:
        connectionConfig:
          url: <url-of-the-repositoru-to-be-disabled>
        disabled: true

      リポジトリーは無効にされ、カタログには表示されなくなります。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.