3.9.2. シークレットを環境変数としてワークスペースコンテナーにマウント


以下のセクションでは、ユーザーのプロジェクトから環境変数または変数として CodeReady Workspaces の単一ワークスペースまたは複数ワークスペースコンテナーに OpenShift シークレットをマウントする方法を説明します。

前提条件

手順

  1. CodeReady Workspaces ワークスペースが作成される k8s プロジェクトで新しい OpenShift シークレットを作成します。

    • 作成するシークレットのラベルは、CodeReady Workspaces の che.workspace.provision.secret.labels プロパティーで設定されたラベルのセットと一致する必要があります。デフォルトでは、これは 2 つのラベルのセットです。
    • app.kubernetes.io/part-of: che.eclipse.org
    • app.kubernetes.io/component: workspace-secret:

      注記

      以下の例は、Red Hat CodeReady Workspaces バージョン 2.1 および 2.2 での target-container アノテーションの使用における違いを説明します。

      たとえば、以下のようになります。

      apiVersion: v1
      kind: Secret
      metadata:
        name: mvn-settings-secret
        labels:
          app.kubernetes.io/part-of: che.eclipse.org
          app.kubernetes.io/component: workspace-secret
      ...

      アノテーションは、指定のシークレットが環境変数としてマウントされ、変数名を提供することを示し、任意でこのマウントが適用されるコンテナー名を指定する必要があります。target-container アノテーションが定義されていない場合、シークレットは CodeReady Workspaces ワークスペースのすべてのユーザーコンテナーにマウントされますが、これは CodeReady Workspaces バージョン 2.1 にのみ 適用されます。

      apiVersion: v1
      kind: Secret
      metadata:
        name: mvn-settings-secret
        annotations:
          che.eclipse.org/target-container: maven
          che.eclipse.org/env-name: FOO_ENV
          che.eclipse.org/mount-as: env
        labels:
         ...
      data:
        mykey: myvalue

      これにより、FOO_ENV という名前の環境変数と、値 myvalue が maven という名前のコンテナーにプロビジョニングさ ます。

      CodeReady Workspaces バージョン 2.2 以降target-container アノテーションは非推奨となり、ブール値で automount-workspace-secret アノテーションが導入されました。この目的は、devfile でオーバーライドする機能を使用して、デフォルトのシークレットマウント動作を定義することです。true を指定すると、すべてのワークスペースコンテナーへの自動マウントが有効になります。一方、false の値は、automountWorkspaceSecrets :true プロパティーを使用して devfile コンポーネントで明示的に要求されるまでマウントプロセスを無効にします。

      apiVersion: v1
      kind: Secret
      metadata:
        name: mvn-settings-secret
        annotations:
          che.eclipse.org/automount-workspace-secret: true
          che.eclipse.org/env-name: FOO_ENV
          che.eclipse.org/mount-as: env
        labels:
         ...
      data:
        mykey: myvalue

      これにより、FOO_ENV という名前の環境変数と、すべてのワークスペースコンテナーに myvalue プロビジョニングされる値が作成されます。

      シークレットが複数のデータアイテムを提供する場合は、以下のように各データキーに環境変数名を指定する必要があります。

      apiVersion: v1
      kind: Secret
      metadata:
        name: mvn-settings-secret
        annotations:
          che.eclipse.org/automount-workspace-secret: true
          che.eclipse.org/mount-as: env
          che.eclipse.org/mykey_env-name: FOO_ENV
          che.eclipse.org/otherkey_env-name: OTHER_ENV
        labels:
         ...
      data:
        mykey: myvalue
        otherkey: othervalue

      これにより、FOO_ENV、OTHER_ENV 、および値 myvalue およびその他の値を持つ 2 つの環境変数が すべてのワークプシーコンテナーにプロビジョニングされます。

      注記

      Kubernetes シークレットのアノテーション名の最大長は 63 文字です。ここでは、9 文字は / で終わる接頭辞に予約されます。これは、シークレットに使用できるキーの最大長の制限として機能します。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る