Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

22.3. Downward API を使用したコンテナー値の使用

22.3.1. 環境変数の使用

Downward API を使用するための 1 つのメカニズムとして、コンテナーの環境変数を使用することができます。EnvVar タイプの valueFrom フィールド (タイプは EnvVarSource) は、変数の値が value フィールドで指定されるリテラル値ではなく、FieldRef ソースからの値になるように指定するために使用されます。今後は追加のソースがサポートされる可能性があります。 現時点では、ソースの fieldRef フィールドは Downward API からフィールドを選択するために使用されます。

この方法で使用できるのは Pod の定数属性のみです。環境変数を使用してサポートされるフィールドには、以下が含まれます。

  • Pod の名前
  • Pod の namespace

    1. pod.yaml ファイルを作成します。

      apiVersion: v1
      kind: Pod
      metadata:
        name: dapi-env-test-pod
      spec:
        containers:
          - name: env-test-container
            image: gcr.io/google_containers/busybox
            command: [ "/bin/sh", "-c", "env" ]
            env:
              - name: MY_POD_NAME
                valueFrom:
                  fieldRef:
                    fieldPath: metadata.name
              - name: MY_POD_NAMESPACE
                valueFrom:
                  fieldRef:
                    fieldPath: metadata.namespace
        restartPolicy: Never
    2. pod.yaml ファイルから Pod を作成します。

      $ oc create -f pod.yaml
    3. コンテナーのログで MY_POD_NAME および MY_POD_NAMESPACE の値を確認します。

      $ oc logs -p dapi-env-test-pod