将 Anthos Service Mesh 配置为使用 CA Service

Mesh CA 以外,您也可以将 Anthos Service Mesh 配置为使用 Certificate Authority Service。此预览版提供了试验 CA Service 的机会,我们预计它适合用于以下使用场景:

  • 您需要不同的证书授权机构对不同集群上的工作负载证书签名。
  • 您需要证书授权机构对链接到自定义企业根的工作负载证书签名。
  • 您需要将签名密钥备份到 Google 管理的 HSM 中。

Mesh CA 的使用包含在 Mesh Service Mesh 价格中。CA Service 未包含在基本 Anthos Service Mesh 价格中。在预览版期间,CA Service 是免费的。

本指南介绍如何将 CA Service 与 GKE 上新安装的 Anthos Service Mesh 1.10.6-asm.2 集成。

设置 CA Service

在设置 CA Service 以准备与 Anthos Service Mesh 集成时,我们推荐以下做法:

  • 在 GKE 集群所属的项目中创建 CA。
  • 为每个 GKE 集群设置一个从属 CA。
  • 在集群所在的 Google Cloud 区域中创建从属 CA。

要开始使用 CA Service,请参阅 CA Service 快速入门

将 Anthos Service Mesh 配置为使用 CA Service

  1. 下载 Anthos Service Mesh kpt 软件包:

    kpt pkg get \
    https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.10-asm asm
    
  2. 向 Anthos Service Mesh 授予使用 CA Service 创建工作负载证书的权限。将命令中的占位值替换为以下内容:

    • SUB_CA_ID:您创建的从属 CA 的名称。
    • CA_LOCATION:从属 CA 的创建位置。
    • PROJECT_ID:您在其中创建 CA 的项目的 ID。
    gcloud beta privateca subordinates add-iam-policy-binding "SUB_CA_ID" \
        --location="CA_LOCATION" \
        --project="PROJECT_ID" \
        --member="serviceAccount:PROJECT_ID.svc.id.goog[istio-system/istiod-service-account]" \
        --role="roles/privateca.certificateManager"
    
  3. 配置 Anthos Service Mesh kpt 软件包,为集群使用从属 CA。以下步骤将修改 asm/istio/options/private-ca.yaml 文件。

    1. 设置 CA 名称:

      kpt cfg set asm anthos.servicemesh.external_ca.ca_name projects/PROJECT_ID/locations/CA_LOCATION/certificateAuthorities/SUB_CA_ID
      
    2. 设置项目 ID:

      kpt cfg set asm gcloud.core.project PROJECT_ID
      
  4. 请按照在 GKE 上安装 Anthos Service Mesh 中的步骤,使用 Google 提供的脚本安装 Anthos Service Mesh。运行脚本时,请添加以下选项:

    --option private-ca
    

    例如:

    ./install_asm \
      --project_id PROJECT_ID \
      --cluster_name CLUSTER_NAME \
      --cluster_location CLUSTER_LOCATION \
      --mode install \
      --enable_all \
      --option private-ca
    
  5. 完成 Anthos Service Mesh 安装,以在工作负载上启用自动边车代理注入。如需了解详情,请参阅部署和重新部署工作负载

后续步骤