9.2. ユースケース: Pod で設定マップを使用する


以下のセクションでは、Pod で ConfigMap オブジェクトを使用する際のいくつかのユースケースを説明します。

9.2.1. 設定マップの使用によるコンテナーでの環境変数の設定

config map を使用して、コンテナーで個別の環境変数を設定するために使用したり、有効な環境変数名を生成するすべてのキーを使用してコンテナーで環境変数を設定するために使用したりすることができます。

以下の例の ConfigMap カスタムリソース (CR) には、2 つの環境変数が含まれています。

apiVersion: v1
kind: ConfigMap
metadata:
  name: special-config
  namespace: default
data:
  special.how: very
  special.type: charm

各項目の説明:

metadata.name
config map の名前を指定します。
metadata.namespace
config map が存在するプロジェクトを指定します。設定マップは同じプロジェクトの Pod によってのみ参照されます。
data
注入する環境変数を指定します。

以下の例の ConfigMap (CR) には、1 つの環境変数が含まれています。

apiVersion: v1
kind: ConfigMap
metadata:
  name: env-config
  namespace: default
data:
  log_level: INFO

各項目の説明:

metadata.name
config map の名前を指定します。
metadata.namespace
config map が存在するプロジェクトを指定します。設定マップは同じプロジェクトの Pod によってのみ参照されます。
data
注入する環境変数を指定します。

手順

  • configMapKeyRef セクションを使用して、Pod のこの ConfigMap のキーを使用できます。

    特定の環境変数を注入するように設定されている Pod 仕様のサンプル

    apiVersion: v1
    kind: Pod
    metadata:
      name: dapi-test-pod
    spec:
      securityContext:
        runAsNonRoot: true
        seccompProfile:
          type: RuntimeDefault
      containers:
        - name: test-container
          image: gcr.io/google_containers/busybox
          command: [ "/bin/sh", "-c", "env" ]
          env:
            - name: SPECIAL_LEVEL_KEY
              valueFrom:
                configMapKeyRef:
                  name: special-config
                  key: special.how
            - name: SPECIAL_TYPE_KEY
              valueFrom:
                configMapKeyRef:
                  name: special-config
                  key: special.type
                  optional: true
          envFrom:
            - configMapRef:
                name: env-config
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop: [ALL]
      restartPolicy: Never

    各項目の説明:

    spec.containers.env
    config map から取得する環境変数を指定します。
    spec.containers.env.name
    キーの値を注入する Pod 環境変数の名前を指定します。
    spec.containers.env.valueFrom.configMapKeyRef.name
    特定の環境変数を取得する config map の名前を指定します。
    spec.containers.env.valueFrom.configMapKeyRef.key
    config map から取得する環境変数を指定します。
    spec.containers.env.valueFrom.configMapKeyRef.optional
    環境変数が省略可能であることを指定します。オプションとして、指定された config map とキーが存在しない場合でも、Pod は起動されます。
    spec.containers.envFrom.configMapRef
    環境変数をすべて取得する config map の名前を指定します。

    この Pod が実行されると、Pod のログには以下の出力が含まれます。

    SPECIAL_LEVEL_KEY=very
    log_level=INFO
    注記

    SPECIAL_TYPE_KEY=charm は出力例にリスト表示されません。optional: true が設定されているためです。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る