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オペランドをインストールしました。
手順
特定の名前空間にトラストバンドルを注入するには、次のコマンドを実行して必要なラベルを適用します。
$ oc patch namespace <namespace> --type=merge '{"metadata":{"labels":{"trust.cert-manager.io/inject":"true"}}}'trust-manager オペランドは、
バンドルCR で定義されたラベルセレクターに一致するすべての名前空間にターゲットバンドルを作成します。次の例に示すように、
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 はターゲットシークレットの作成に失敗します。以下のコマンドを実行して、
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