2.8.4. マウントされたコンテンツを Kubernetes シークレットとして同期できるようにする
同期を有効にして、マウントされたボリューム上のコンテンツから Kubernetes シークレットを作成できます。同期を有効にする例としては、デプロイメント内で環境変数を使用して Kubernetes シークレットを参照することが挙げられます。
シークレットを OpenShift Container Platform クラスターおよび etcd に保存しない場合は、同期を有効にしないでください。この機能は、環境変数を使用してシークレットを参照する場合など、必要な場合にのみ有効にしてください。
同期を有効にすると、シークレットをマウントする Pod を開始した後、マウントされたボリュームのシークレットが Kubernetes シークレットとして同期されます。
コンテンツをマウントしたすべての Pod が削除されると、同期された Kubernetes シークレットも削除されます。
前提条件
- Secrets Store CSI Driver Operator がインストールされている。
- シークレットストアプロバイダーがインストールされている。
- シークレットプロバイダークラスが作成されている。
-
cluster-adminロールを持つユーザーとしてクラスターにアクセスできる。
手順
次のコマンドを実行して、
SecretProviderClassリソースを編集します。$ oc edit secretproviderclass my-azure-provider1 - 1
my-azure-providerをシークレットプロバイダークラスの名前に置き換えます。
同期された Kubernetes シークレットの設定を含む
secretsObjectsセクションを追加します。apiVersion: secrets-store.csi.x-k8s.io/v1 kind: SecretProviderClass metadata: name: my-azure-provider namespace: my-namespace spec: provider: azure secretObjects:1 - secretName: tlssecret2 type: kubernetes.io/tls3 labels: environment: "test" data: - objectName: tlskey4 key: tls.key5 - objectName: tlscrt key: tls.crt parameters: usePodIdentity: "false" keyvaultName: "kvname" objects: | array: - | objectName: tlskey objectType: secret - | objectName: tlscrt objectType: secret tenantId: "tid"- 変更を適用するためにファイルを保存します。