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
openssl req -x509 -new -days <validity> --nodes -out ca.crt -keyout ca.keyCopy to Clipboard Copied! Toggle word wrap Toggle overflow
手順
Secretにすでに存在する CA 証明書を確認します。以下のコマンドを使用します。
oc describe secret <ca-cert-secret>
oc describe secret <ca-cert-secret>Copy to Clipboard Copied! Toggle word wrap Toggle overflow Secret に既存の CA 証明書が含まれるディレクトリーを準備します。
mkdir new-ca-cert-secret cd new-ca-cert-secret
mkdir new-ca-cert-secret cd new-ca-cert-secretCopy to Clipboard Copied! Toggle word wrap Toggle overflow 前のステップで確認した証明書 <ca-certificate> ごとに、以下を実行します。
Fetch the existing secret
# Fetch the existing secret oc get secret <ca-cert-secret> -o 'jsonpath={.data.<ca-certificate>}' | base64 -d > <ca-certificate>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 古い
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
mv ca.crt ca-$(date -u -d$(openssl x509 -enddate -noout -in ca.crt | sed 's/.*=//') +'%Y-%m-%dT%H-%M-%SZ').crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新規 CA 証明書をディレクトリーにコピーし、
ca.crtという名前を付けます。cp <path-to-new-cert> ca.crt
cp <path-to-new-cert> ca.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow CA 証明書の
Secret(<cluster>-cluster-caまたは<cluster>-clients-ca) を交換します。これは、以下のコマンドで実行できます。Delete the existing secret Re-create the secret with the new private key
# 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=.Copy to Clipboard Copied! Toggle word wrap Toggle overflow これで、作成したディレクトリーを削除できます。
cd .. rm -r new-ca-cert-secret
cd .. rm -r new-ca-cert-secretCopy to Clipboard Copied! Toggle word wrap Toggle overflow CA 鍵の
Secret(<cluster>-cluster-caまたは<cluster>-clients-ca) を交換します。これは、以下のコマンドで実行できます。Delete the existing secret Re-create the secret with the new private key
# 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>Copy to Clipboard Copied! Toggle word wrap Toggle overflow