6.2. ConfigMap のマウント


機密でない設定データをワークスペースにマウントするには、Kubernetes ConfigMaps を使用します。

Kubernetes ConfigMaps を使用すると、アプリケーションの設定値などの機密性の低いデータをマウントできます。

Kubernetes ConfigMaps を組織の OpenShift Dev Spaces インスタンスの OpenShift クラスター内の Dev Workspace コンテナーにマウントします。

前提条件

  • 宛先 OpenShift クラスターへの管理権限を持つアクティブな oc セッション。CLI の使用方法 を参照してください。
  • ユーザープロジェクトで、新規の ConfigMap を作成するか、すべての Dev Workspace コンテナーにマウントする既存の ConfigMap を決定している。

手順

  1. ConfigMap のマウントに必要なラベルを ConfigMap に追加します。

    $ oc label configmap <ConfigMap_name> \
            controller.devfile.io/mount-to-devworkspace=true \
            controller.devfile.io/watch-configmap=true
  2. オプション: アノテーションを使用して、ConfigMap のマウント方法を設定します。

    表6.2 オプションのアノテーション
    アノテーション説明

    controller.devfile.io/mount-path:

    マウントパスを指定します。

    デフォルトは /etc/config/<ConfigMap_name> です。

    controller.devfile.io/mount-as:

    リソースのマウント方法を指定します: filesubpath、または env

    デフォルトは file です。

    mount-as:file は、キーと値をマウントパス内のファイルとしてマウントします。

    mount-as:subpath は、サブパスボリュームマウントを使用して、マウントパス内のキーと値をマウントします。

    mount-as:env は、すべての Dev Workspace コンテナーに環境変数としてキーと値をマウントします。

例6.2 ConfigMap を環境変数としてマウントする

kind: ConfigMap
apiVersion: v1
metadata:
  name: my-settings
  labels:
    controller.devfile.io/mount-to-devworkspace: 'true'
    controller.devfile.io/watch-configmap: 'true'
  annotations:
    controller.devfile.io/mount-as: env
data:
  <env_var_1>: <value_1>
  <env_var_2>: <value_2>

ワークスペースを開始すると、<env_var_1> および <env_var_2> 環境変数が Dev Workspace コンテナーで使用可能になります。

6.2.1. Git 設定のマウント

注記

プロバイダーのユーザープロファイルページでユーザー名とメールが設定されていると、user.name フィールドと user.email フィールドは、Git プロバイダーアクセストークン または OAuth 経由で生成されたトークンによって OpenShift Dev Spaces に接続されている git プロバイダーからの gitconfig コンテンツに自動的に設定されます。

以下の手順に従って、Git config ファイルをワークスペースにマウントします。

前提条件

  • クラスターにログインしている。

手順

  1. 新規の OpenShift ConfigMap を準備します。

    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: workspace-userdata-gitconfig-configmap
      namespace: <user_namespace> 1
      labels:
        controller.devfile.io/mount-to-devworkspace: 'true'
        controller.devfile.io/watch-configmap: 'true'
      annotations:
        controller.devfile.io/mount-as: subpath
        controller.devfile.io/mount-path: /etc/
    data:
      gitconfig: <gitconfig content> 2
    1
    ユーザー namespace。https://<openshift_dev_spaces_fqdn>/api/kubernetes/namespace にアクセスして、OpenShift Dev Spaces ユーザー namespace を name として取得します。
    2
    gitconfig ファイルの内容。
  2. ConfigMap を適用します。

    $ oc apply -f - <<EOF
    <ConfigMap_prepared_in_step_1>
    EOF

検証

  1. Git プロバイダーがホストする リモート Git リポジトリーの URL を使用して、新しいワークスペースを開始します
  2. ワークスペースが起動したら、tools コンテナーで新しいターミナルを開き、git config --get-regexp user.* を実行します。Git ユーザー名とメールが出力に表示されるはずです。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.