7.5.2.2. ボリュームプラグインを使用したコンテナー値の使用
ボリュームプラグインを使用することで、コンテナーは Downward API の値を取り込むことができます。
コンテナーは以下の値を消費できます。
- Pod の名前
- Pod プロジェクト/namespace
- Pod のアノテーション
- Pod のラベル
以下の手順は、ボリュームプラグインの使用方法を示しています。
手順
コンテナーで使用する環境変数を含む新しい Pod 仕様を作成します。
次のような
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: securityContext: runAsNonRoot: true seccompProfile: type: RuntimeDefault 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 securityContext: allowPrivilegeEscalation: false capabilities: drop: [ALL] 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