9.12.2. トラストバンドルの設定


トラストマネージャーオペランドをインストールした後、バンドルカスタムリソース (CR) を使用して、認証局 (CA) 証明書をクラスター全体に配布する必要があります。トラストバンドルは、証明書ソースを統合し、選択された名前空間全体にわたってターゲットの ConfigMap および Secret オブジェクトを維持します。

トラストバンドルをデフォルトの認証局を使用するように設定した場合、ソース証明書を手動でプロビジョニングする必要はありません。コントローラーは、Operator のインストール中に Cluster Network Operator (CNO) によって挿入される cert-manager-operator-trusted-ca-bundle ConfigMap からそれらを読み取ります。

重要

トラストマネージャーを使用した証明書の配布は、テクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

前提条件

  • cluster-admin 権限でクラスターにアクセスできる。
  • trust-manager オペランドをインストールしました。

手順

  1. 特定の名前空間にトラストバンドルを注入するには、次のコマンドを実行して必要なラベルを適用します。

    $ oc patch namespace <namespace> --type=merge '{"metadata":{"labels":{"trust.cert-manager.io/inject":"true"}}}'

    trust-manager オペランドは、バンドル CR で定義されたラベルセレクターに一致するすべての名前空間にターゲットバンドルを作成します。

  2. 次の例に示すように、Bundle オブジェクトを定義する YAML ファイル (例: bundle.yaml) を作成します。

    apiVersion: trust.cert-manager.io/v1alpha1
    kind: Bundle
    metadata:
      name: example-bundle
    spec:
      sources:
        - useDefaultCAs: true
      target:
        configMap:
          key: ca-certificates.crt
        secret:
          key: ca-certificates.crt
        namespaceSelector:
          matchLabels:
            trust.cert-manager.io/inject: "true"

    バンドル設定の詳細は、trust-manager の使用方法を 参照してください。

    注記

    Bundle CR が Secret オブジェクトを対象とする場合は、TrustManager CR の spec.trustManagerConfig.secretTargets.policy フィールドを Custom に設定し、対象シークレットの名前を spec.trustManagerConfig.secretTargets.authorizedSecrets リストに追加する必要があります。spec.trustManagerConfig.secretTargets.policy フィールドが Disabled に設定されている場合、Bundle CR はターゲットシークレットの作成に失敗します。

  3. 以下のコマンドを実行して、Bundle カスタムリソースを作成します。

    $ oc create -f bundle.yaml

検証

  • 以下のコマンドを実行して、バンドル CR のステータスを確認してください。

    $ oc get Bundle example-bundle -o jsonpath='{.status.conditions}' | jq

    出力では、理由を同期済み に、ステータスをTrue に設定する必要があります。以下の例を参照してください。

    [
      {
        "lastTransitionTime": "2026-03-27T12:03:42Z",
        "message": "Successfully synced Bundle to namespaces that match this label selector: trust.cert-manager.io/inject=true",
        "observedGeneration": 1,
        "reason": "Synced",
        "status": "True",
        "type": "Synced"
      }
    ]
  • 以下のコマンドを実行して、ターゲットシークレットを検証してください。

    $ oc describe secret example-bundle -n trust-bundle-target

    出力例

    Name:         example-bundle
    Namespace:    trust-bundle-target
    Labels:       trust.cert-manager.io/bundle=example-bundle
    Annotations:  trust.cert-manager.io/hash: 55c00f8109c4c6b1ee4710aa53ad280355973f25444d6bb13a93851af0d8f5d8
    
    Type:  Opaque
    
    Data
    ====
    ca-certificates.crt:  219257 bytes

  • 以下のコマンドを実行して、対象の ConfigMap を確認します。

    $ oc get cm example-bundle -n trust-bundle-target

    出力例

    NAME             DATA   AGE
    example-bundle   1      4m25s

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る