9.2. ユースケース: Pod で設定マップを使用する
以下のセクションでは、Pod で ConfigMap オブジェクトを使用する際のいくつかのユースケースを説明します。
9.2.1. 設定マップの使用によるコンテナーでの環境変数の設定 リンクのコピーリンクがクリップボードにコピーされました!
config map を使用して、コンテナーで個別の環境変数を設定するために使用したり、有効な環境変数名を生成するすべてのキーを使用してコンテナーで環境変数を設定するために使用したりすることができます。
例として、以下の設定マップを見てみましょう。
2 つの環境変数を含む ConfigMap
apiVersion: v1
kind: ConfigMap
metadata:
name: special-config
namespace: default
data:
special.how: very
special.type: charm
1 つの環境変数を含む ConfigMap
apiVersion: v1
kind: ConfigMap
metadata:
name: env-config
namespace: default
data:
log_level: INFO
手順
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:1 - name: SPECIAL_LEVEL_KEY2 valueFrom: configMapKeyRef: name: special-config3 key: special.how4 - name: SPECIAL_TYPE_KEY valueFrom: configMapKeyRef: name: special-config5 key: special.type6 optional: true7 envFrom:8 - configMapRef: name: env-config9 securityContext: allowPrivilegeEscalation: false capabilities: drop: [ALL] restartPolicy: Never- 1
ConfigMapから指定された環境変数をプルするためのスタンザです。- 2
- キーの値を挿入する Pod 環境変数の名前です。
- 3 5
- 特定の環境変数のプルに使用する
ConfigMapの名前です。 - 4 6
ConfigMapからプルする環境変数です。- 7
- 環境変数をオプションにします。オプションとして、Pod は指定された
ConfigMapおよびキーが存在しない場合でも起動します。 - 8
ConfigMapからすべての環境変数をプルするためのスタンザです。- 9
- すべての環境変数のプルに使用する
ConfigMapの名前です。この Pod が実行されると、Pod のログには以下の出力が含まれます。
SPECIAL_LEVEL_KEY=very log_level=INFO
SPECIAL_TYPE_KEY=charm は出力例にリスト表示されません。optional: true が設定されているためです。