2.8.4. マウントされたコンテンツを Kubernetes シークレットとして同期できるようにする


同期を有効にして、マウントされたボリューム上のコンテンツから Kubernetes シークレットを作成できます。同期を有効にする例としては、デプロイメント内で環境変数を使用して Kubernetes シークレットを参照することが挙げられます。

警告

シークレットを OpenShift Container Platform クラスターおよび etcd に保存しない場合は、同期を有効にしないでください。この機能は、環境変数を使用してシークレットを参照する場合など、必要な場合にのみ有効にしてください。

同期を有効にすると、シークレットをマウントする Pod を開始した後、マウントされたボリュームのシークレットが Kubernetes シークレットとして同期されます。

コンテンツをマウントしたすべての Pod が削除されると、同期された Kubernetes シークレットも削除されます。

前提条件

  • Secrets Store CSI Driver Operator がインストールされている。
  • シークレットストアプロバイダーがインストールされている。
  • シークレットプロバイダークラスが作成されている。
  • cluster-admin ロールを持つユーザーとしてクラスターにアクセスできる。

手順

  1. 次のコマンドを実行して、SecretProviderClass リソースを編集します。

    $ oc edit secretproviderclass my-azure-provider 
    1
    1
    my-azure-provider をシークレットプロバイダークラスの名前に置き換えます。
  2. 同期された 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: tlssecret                        
    2
    
          type: kubernetes.io/tls                      
    3
    
          labels:
            environment: "test"
          data:
            - objectName: tlskey                       
    4
    
              key: tls.key                             
    5
    
            - objectName: tlscrt
              key: tls.crt
      parameters:
        usePodIdentity: "false"
        keyvaultName: "kvname"
        objects:  |
          array:
            - |
              objectName: tlskey
              objectType: secret
            - |
              objectName: tlscrt
              objectType: secret
        tenantId: "tid"
    1
    同期された Kubernetes シークレットの設定を指定します。
    2
    作成する Kubernetes Secret オブジェクトの名前を指定します。
    3
    作成する Kubernetes Secret オブジェクトのタイプを指定します。たとえば、Opaque または kubernetes.io/tls です。
    4
    同期するマウントされたコンテンツのオブジェクト名またはエイリアスを指定します。
    5
    Kubernetes シークレットに設定するデータフィールドを、指定した objectName から指定します。
  3. 変更を適用するためにファイルを保存します。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る