使用 CA 池提高证书创建吞吐量

本页面介绍了如何使用 证书授权机构 (CA) 池。如需了解 CA 池,请参阅 CA 池概览

概览

证书创建吞吐量以每秒查询次数 (QPS) 为单位。在服务网格中,可以使用以下公式近似估算证书创建吞吐量:

THROUGHPUT = (ACTIVE_WORKLOADS × ROTATION_FREQUENCY) + NEW_WORKLOADS_PER_SECOND

替换以下内容:

  • ACTIVE_WORKLOADS:在任何给定时间运行的工作负载总数
  • ROTATION_FREQUENCY:证书每秒轮替的频率
  • NEW_WORKLOADS_PER_SECOND:新工作负载的创建速率

您可以找到 ACTIVE_WORKLOADSNEW_WORKLOADS_PER_SECOND 的值, 部署在 Google Kubernetes Engine 中, 信息中心 Google Cloud 控制台。如需确定服务网格的 ROTATION_FREQUENCY,您必须参阅服务网格产品的文档。ROTATION_FREQUENCY 对于 Cloud Service Mesh,默认为每 12 小时一次,即 1/(12×60×60) 或 转换为每秒轮播频率时为 1/43200。

示例

考虑一个相对稳定的集群示例,该集群具有长期有效的工作负载和少量临时工作负载。

变量名称 说明
ACTIVE_WORKLOADS 10000 预计在任何给定时间都将有 1 万个工作负载在运行。
NEW_WORKLOADS_PER_SECOND 1 每秒创建 1 个新工作负载。
ROTATION_FREQUENCY 1/43200 证书每 12 小时轮替一次。

将这些值代入用于计算证书创建速率的公式中,可得出 QPS 值为 1.23。

吞吐量 = (10,000 / 43,200) + 1 = 1.23 QPS

另一个包含更多短时工作负载且工作负载生命周期较短的集群的 NEW_WORKLOADS_PER_SECOND 值可能会更高。ROTATION_FREQUENCY 值较高会使分数 (ACTIVE_WORKLOADS / ROTATION_FREQUENCY) 的值非常小,从而使 NEW_WORKLOADS_PER_SECOND 成为公式中最重要的变量。

准备工作

在所需位置设置 CA 池。如需查看完整的位置列表,请参阅位置

如果您希望以始终如一的较高吞吐量颁发证书,我们建议您在 DevOps 层级创建 CA 池,这样可以提高性能并降低费用。CA 池中的每个 CA 都有吞吐量上限,并且任何给定项目都有可实现的有效吞吐量上限。例如,如果最大吞吐量为 DevOps 层级为 CA 为 25 QPS,项目为 100 QPS,则您必须 在 CA 池中创建 4 个 CA,以获得高达 QPS 为 100。如需了解具体 QPS 数值以及有关配额的更多信息,请参阅配额和限制

过程

  1. 在 CA 池中创建足够的 CA 以实现所需的 QPS。DevOps 层级的 CA 池所需的 CA 数量为 4,企业层级的 CA 池所需的 CA 数量为 15。下面这组说明适用于 DevOps 层级中的 CA 池:

    1. 如需在 CA 池中创建名为 root-1 的根 CA,请使用以下 gcloud 命令。

       gcloud privateca roots create root-1 --pool POOL_NAME --subject="CN=root-1,O=google"
      

      此阶段 CA 池的有效 QPS 总数为 25 QPS。如需将 CA 池的有效 QPS 总数提高到 100 QPS,您必须在 CA 池中再创建 3 个 CA。

    2. 如需创建名为 root-2 的根 CA,请使用以下 gcloud 命令。

        gcloud privateca roots create root-2 --pool POOL_NAME --subject="CN=root-2,O=google"
      
    3. 如需创建名为 root-3 的根 CA,请使用以下 gcloud 命令。

        gcloud privateca roots create root-3 --pool POOL_NAME --subject="CN=root-3,O=google"
      
    4. 如需创建名为 root-4 的根 CA,请使用以下 gcloud 命令。

        gcloud privateca roots create root-4 --pool POOL_NAME --subject="CN=root-4,O=google"
      

      在此阶段,CA 池的有效 QPS 总和为 100 QPS。

  2. 当 CA 处于 STAGED 状态时,创建和测试证书。完成后,启用 CA。如需了解如何启用 CA,请参阅启用 CA。如需了解如何测试 CA,请参阅测试 CA

  3. 通过获取有关跨 CA 的负载均衡的审核报告,验证 CA 池的健康状况。理想情况下,每个 CA 颁发的证书数量应保持一致。

    您可以使用 Cloud Monitoring 监控 CA 池的负载均衡指标,例如给定时间段内每个 CA 签发的证书数量。如需了解详情,请参阅使用 Cloud Monitoring 监控资源

后续步骤