除 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
下载 Anthos Service Mesh
kpt
软件包:kpt pkg get \ https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.10-asm asm
向 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"
配置 Anthos Service Mesh
kpt
软件包,为集群使用从属 CA。以下步骤将修改asm/istio/options/private-ca.yaml
文件。设置 CA 名称:
kpt cfg set asm anthos.servicemesh.external_ca.ca_name projects/PROJECT_ID/locations/CA_LOCATION/certificateAuthorities/SUB_CA_ID
设置项目 ID:
kpt cfg set asm gcloud.core.project PROJECT_ID
请按照在 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
完成 Anthos Service Mesh 安装,以在工作负载上启用自动边车代理注入。如需了解详情,请参阅部署和重新部署工作负载。