11.3. 证书续订和有效期周期


集群 CA 和客户端 CA 证书仅在有限时间内有效,称为有效期。这通常定义为生成证书起的天数。

对于 Cluster Operator 自动创建的 CA 证书,您可以配置以下有效期:

  • Kafka.spec.clusterCa.validityDays中的集群 CA 证书
  • Kafka.spec.clientsCa.validityDays中的客户端 CA 证书

两个证书的默认有效期为 365 天。手动安装的 CA 证书应该定义自己的有效期。

当 CA 证书过期时,仍信任该证书的组件和客户端将不接受来自证书由 CA 私钥签名的对等点的 TLS 连接。组件和客户端需要信任 新的 CA 证书。

为了能在不丢失服务的情况下续订 CA 证书,Cluster Operator 将在旧 CA 证书过期前启动证书续订。

您可以配置 Cluster Operator 创建的证书的续订周期:

  • Kafka.spec.clusterCa.renewalDays中的集群 CA 证书
  • Kafka.spec.clientsCa.renewalDays中的客户端 CA 证书

两个证书的默认续订期限为 30 天。

从当前证书的到期日期起,续订期向后测量。

针对续订期的有效周期

Not Before                                     Not After
    |                                              |
    |<--------------- validityDays --------------->|
                              <--- renewalDays --->|

要在创建 Kafka 集群后更改有效期和续订周期,您需要配置并应用 Kafka 自定义资源,并 手动更新 CA 证书。如果您不手动续订证书,在下次自动更新证书时将使用新的句点。

证书的有效性和续订周期的 Kafka 配置示例

apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
# ...
spec:
# ...
  clusterCa:
    renewalDays: 30
    validityDays: 365
    generateCertificateAuthority: true
  clientsCa:
    renewalDays: 30
    validityDays: 365
    generateCertificateAuthority: true
# ...

在续订期间,Cluster Operator 的行为取决于证书生成属性的设置、generate AuthoritygenerateCertificateAuthority

true
如果属性设为 true,则 CA 证书由 Cluster Operator 自动生成,并在续订期间自动更新。
false
如果属性设为 false,则 Cluster Operator 不会生成 CA 证书。如果要 安装自己的证书,请使用这个选项。

11.3.1. 使用自动生成的 CA 证书的续订过程

Cluster Operator 执行以下流程来更新 CA 证书:

  1. 生成新的 CA 证书,但保留现有密钥。新证书将旧证书替换为对应 Secret 中的名称 ca.crt
  2. 生成新的客户端证书(用于 ZooKeeper 节点、Kafka 代理和 Entity Operator)。这并非绝对必要,因为签名密钥尚未更改,但它保持客户端证书的有效性期限与 CA 证书同步。
  3. 重启 ZooKeeper 节点,以便它们信任新的 CA 证书并使用新的客户端证书。
  4. 重启 Kafka 代理,以便它们信任新的 CA 证书并使用新的客户端证书。
  5. 重启主题和用户 Operator,以便它们信任新的 CA 证书并使用新的客户端证书。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.