更新和替换 TLS 证书
本文以更新和替换 TiDB 集群中 PD、TiKV、TiDB 组件间的 TLS 证书为例,介绍在证书过期之前,如何更新和替换相应组件的证书。
如需要更新和替换集群中其他组件间的证书、TiDB Server 端证书或 MySQL Client 端证书,可使用类似的步骤进行操作。
本文的更新和替换操作假定原证书尚未过期。若原证书已经过期或失效,可参考为 TiDB 组件间开启 TLS 或为 MySQL 客户端开启 TLS 生成新的证书并重启集群。
更新和替换 cert-manager 颁发的证书
如原 TLS 证书是使用 cert-manager 系统颁发的证书,且原证书尚未过期,根据是否需要更新 CA 证书需要分别处理。
更新和替换 CA 证书
仅更新和替换组件间证书
使用 cert-manager 颁发证书时,可通过配置 Certificate 资源的 spec.renewBefore 字段,让 cert-manager 在证书过期前自动进行更新。
cert-manager 支持在证书过期前自动更新各组件的证书及对应的 Kubernetes Secret 对象。如需手动更新,可以参考使用 cmctl renew 证书。
对于各组件间的证书,各组件会在之后新建连接时自动重新加载新的证书,无需手动操作。