22.3.2. ボリュームプラグインの使用
Downward API を使用するもう 1 つのメカニズムとしてボリュームプラグインを使用することができます。Downward API ボリュームプラグインは、ファイルに展開される設定済みのフィールドを使ってボリュームを作成します。VolumeSource
API オブジェクトの metadata
フィールドはこのボリュームを設定するために使用されます。プラグインは以下のフィールドをサポートします。
- Pod の名前
- Pod の namespace
- Pod のアノテーション
- Pod のラベル
例22.1 Downward API ボリュームプラグイン設定
以下は例になります。
volume-pod.yaml
ファイルを作成します。kind: Pod apiVersion: v1 metadata: labels: zone: us-east-coast cluster: downward-api-test-cluster1 rack: rack-123 name: dapi-volume-test-pod annotations: annotation1: "345" annotation2: "456" spec: containers: - name: volume-test-container image: gcr.io/google_containers/busybox command: ["sh", "-c", "cat /tmp/etc/pod_labels /tmp/etc/pod_annotations"] volumeMounts: - name: podinfo mountPath: /tmp/etc readOnly: false volumes: - name: podinfo downwardAPI: defaultMode: 420 items: - fieldRef: fieldPath: metadata.name path: pod_name - fieldRef: fieldPath: metadata.namespace path: pod_namespace - fieldRef: fieldPath: metadata.labels path: pod_labels - fieldRef: fieldPath: metadata.annotations path: pod_annotations restartPolicy: Never
volume-pod.yaml
ファイルから Pod を作成します。$ oc create -f volume-pod.yaml
コンテナーのログを確認し、設定されたフィールドの有無を確認します。
$ oc logs -p dapi-volume-test-pod cluster=downward-api-test-cluster1 rack=rack-123 zone=us-east-coast annotation1=345 annotation2=456 kubernetes.io/config.source=api