7.5.4. Downward API を使用したシークレットの使用
Pod の作成時に、Downward API を使用してシークレットを注入し、イメージおよびアプリケーションの作成者が特定の環境用のイメージを作成できるようにできます。
手順
注入するシークレットを作成します。
次のような
secret.yamlファイルを作成します。apiVersion: v1 kind: Secret metadata: name: mysecret data: password: <password> username: <username> type: kubernetes.io/basic-auth以下のコマンドを使用して、
secret.yamlファイルからシークレットオブジェクトを作成します。$ oc create -f secret.yaml
上記の
Secretオブジェクトからusernameフィールドを参照する Pod を作成します。次のような
pod.yamlファイルを作成します。apiVersion: v1 kind: Pod metadata: name: dapi-env-test-pod spec: securityContext: runAsNonRoot: true seccompProfile: type: RuntimeDefault containers: - name: env-test-container image: gcr.io/google_containers/busybox command: [ "/bin/sh", "-c", "env" ] env: - name: MY_SECRET_USERNAME valueFrom: secretKeyRef: name: mysecret key: username securityContext: allowPrivilegeEscalation: false capabilities: drop: [ALL] restartPolicy: Never # ...以下のコマンドを使用して、
pod.yamlファイルから Pod を作成します。$ oc create -f pod.yaml
検証
以下のコマンドを使用して、コンテナーログ内の
MY_SECRET_USERNAMEの値を確認してください。$ oc logs -p dapi-env-test-pod