9.5.4. 証明書の削除時に TLS シークレットを自動的に削除する
CertManager リソースに spec.controllerConfig セクションを追加することで、cert-manager Operator for Red Hat OpenShift の --enable-certificate-owner-ref フラグを有効にできます。--enable-certificate-owner-ref フラグは、TLS 証明書が保存されているシークレットの所有者として証明書リソースを設定します。
cert-manager Operator for Red Hat OpenShift をアンインストールするか、クラスターから証明書リソースを削除すると、シークレットは自動的に削除されます。証明書 TLS シークレットが使用されている場所によっては、これが原因でネットワーク接続の問題が発生する可能性があります。
前提条件
-
cluster-adminロールを持つユーザーとして OpenShift Container Platform クラスターにアクセスできる。 - cert-manager Operator for Red Hat OpenShift のバージョン 1.12.0 以降がインストールされている。
手順
次のコマンドを実行して、
Certificateオブジェクトとそのシークレットが利用可能であることを確認します。$ oc get certificate出力例
NAME READY SECRET AGE certificate-from-clusterissuer-route53-ambient True certificate-from-clusterissuer-route53-ambient 8h次のコマンドを実行して、
CertManagerリソースを編集します。$ oc edit certmanager cluster次のオーバーライド引数を指定して、
spec.controllerConfigセクションを追加します。apiVersion: operator.openshift.io/v1alpha1 kind: CertManager metadata: name: cluster # ... spec: # ... controllerConfig: overrideArgs: - '--enable-certificate-owner-ref'- 変更を保存してテキストエディターを終了し、変更を適用します。
検証
次のコマンドを実行して、cert-manager コントローラー Pod の
--enable-certificate-owner-refフラグが更新されていることを確認します。$ oc get pods -l app.kubernetes.io/name=cert-manager -n cert-manager -o yaml出力例
# ... metadata: name: cert-manager-6e4b4d7d97-zmdnb namespace: cert-manager # ... spec: containers: - args: - --enable-certificate-owner-ref