12.3.4. 独自の CA 証明書の更新
この手順では、以前にインストールした CA 証明書および秘密鍵を更新する方法を説明します。期限切れ間近の CA 証明書を交換するには、更新期間中にこの手順を実施する必要があります。
前提条件
- Cluster Operator が稼働している必要があります。
- 以前に独自の CA 証明書と秘密鍵をインストールした Kafka クラスターが必要です。
クラスターおよびクライアントの PEM 形式による新しい X.509 証明書と鍵が必要です。これらは、
openssl
を使用して以下のようなコマンドで生成できます。openssl req -x509 -new -days <validity> --nodes -out ca.crt -keyout ca.key
手順
Secret
にすでに存在する CA 証明書を確認します。以下のコマンドを使用します。
oc describe secret <ca-cert-secret>
Secret に既存の CA 証明書が含まれるディレクトリーを準備します。
mkdir new-ca-cert-secret cd new-ca-cert-secret
前のステップで確認した証明書 <ca-certificate> ごとに、以下を実行します。
# Fetch the existing secret oc get secret <ca-cert-secret> -o 'jsonpath={.data.<ca-certificate>}' | base64 -d > <ca-certificate>
古い
ca.crt
ファイルの名前をca_DATE.crt
に変更します。ここで、<date> は証明書の有効期限日に置き換え、<year>-<month>-<day>_T<hour>_-<minute>-_<second>_Z の形式 (たとえばca-2018-09-27T17-32-00Z.crt
) を使用します。mv ca.crt ca-$(date -u -d$(openssl x509 -enddate -noout -in ca.crt | sed 's/.*=//') +'%Y-%m-%dT%H-%M-%SZ').crt
新規 CA 証明書をディレクトリーにコピーし、
ca.crt
という名前を付けます。cp <path-to-new-cert> ca.crt
CA 証明書の
Secret
(<cluster>-cluster-ca
または<cluster>-clients-ca
) を交換します。これは、以下のコマンドで実行できます。# Delete the existing secret oc delete secret <ca-cert-secret> # Re-create the secret with the new private key oc create secret generic <ca-cert-secret> --from-file=.
これで、作成したディレクトリーを削除できます。
cd .. rm -r new-ca-cert-secret
CA 鍵の
Secret
(<cluster>-cluster-ca
または<cluster>-clients-ca
) を交換します。これは、以下のコマンドで実行できます。# Delete the existing secret oc delete secret <ca-key-secret> # Re-create the secret with the new private key oc create secret generic <ca-key-secret> --from-file=ca.key=<ca-key-file>