本页面介绍了安装 Anthos Service Mesh 的前提条件和要求。
Cloud 项目
准备工作:
验证是否已为您的项目启用结算功能。
GKE Enterprise 许可
GKE
Anthos Service Mesh 包含在 GKE Enterprise 中,也可以作为独立服务使用。Google API 用于确定结算方式。如需将 Anthos Service Mesh 作为独立服务使用,请勿在项目中启用 GKE Enterprise API。asmcli
会为您启用所有其他必需的 Google API。如需了解 Anthos Service Mesh 价格,请参阅价格。
- GKE Enterprise 订阅者务必启用 GKE Enterprise API。
如果您不是 GKE Enterprise 订阅者,您仍然可以安装 Anthos Service Mesh,但 Google Cloud 控制台中的某些界面元素和功能仅供 GKE Enterprise 订阅者使用。如需了解订阅者和非订阅者可以使用的内容,请参阅 GKE Enterprise 和 Anthos Service Mesh 界面差异。
如果您启用了 GKE Enterprise API,但想将 Anthos Service Mesh 作为独立服务使用,请停用 GKE Enterprise API。
本地
GKE Enterprise 客户无需单独为 Anthos Service Mesh 付费,因为此项费用已包含在 GKE Enterprise 价格内。如需了解详情,请参阅 GKE Enterprise 价格指南。
一般要求
如需将服务端口纳入服务网格,必须为服务端口命名,并且名称必须包含以下语法的端口协议:
name: protocol[-suffix]
,其中方括号表示必须以短划线开头的可选后缀。如需了解详情,请参阅为服务端口命名。如果您在组织中创建了服务边界,则可能需要将 Mesh CA 服务添加到边界。如需了解详情,请参阅将 Mesh CA 添加到服务边界。
如果要更改
istio-proxy
sidecar 容器的默认资源限制,新值必须大于默认值,才能避免内存不足 (OOM) 事件。一个 Google Cloud 项目只能关联一个网格。
集群要求
GKE
验证是否已在支持的环境中列出了您的集群版本。
您的 GKE 集群必须满足以下要求:
该 GKE 集群必须是标准集群,因为 Autopilot 集群具有网络钩子限制,这些限制不允许为
istio-sidecar-injector
使用MutatingWebhookConfiguration
。具有至少 4 个 vCPU 的机器类型,例如
e2-standard-4
。如果集群的机器类型没有至少 4 个 vCPU,请按照将工作负载迁移到不同的机器类型中所述更改机器类型。最小节点数取决于您的机器类型。Anthos Service Mesh 至少需要 8 个 vCPU。如果机器类型有 4 个 vCPU,则您的集群必须至少有 2 个节点。如果机器类型有 8 个 vCPU,则集群只需要 1 个节点。如果需要添加节点,请参阅调整集群大小。
Workload Identity 是必需的。如果您的集群未启用 Workload Identity,您可以自行启用(按照“设置集群”部分的第 3 步操作),或在运行
asmcli install
时包含--enable_all
或--enable_gcp_components
。建议使用 Workload Identity 来调用 Google API。如 Workload Identity 限制所述,启用 Workload Identity 会更改从工作负载到 Google API 的调用方式。
每个 Google Cloud 项目只有一个固定的工作负载身份池,即
PROJECT_ID.svc.id.goog
。如果您的集群已向队列注册,则工作负载身份池的PROJECT_ID
是队列宿主项目。如果您的集群未向队列注册,则工作负载身份池的PROJECT_ID
是在其中创建集群的项目。如需了解详情,请参阅队列工作负载身份。(可选,但建议执行)在发布版本中注册集群。我们建议您在常规发布版本中注册集群,因为其他发布版本可能基于 Anthos Service Mesh 1.10.6 不支持的 GKE 版本。如需了解详情,请参阅支持的环境。如果您拥有静态 GKE 版本,请按照在发布版本中注册现有集群中的说明操作。
若要在专用集群上安装 Anthos Service Mesh,则必须在防火墙中打开端口 15017,以获取用于自动辅助信息文件注入和配置验证的网络钩子正常运行。如需了解详情,请参阅在专用集群上打开端口。
对于 Windows Server 工作负载,Istio 不受支持。如果您的集群同时有 Linux 和 Windows Server 节点池,您仍然可以安装 Anthos Service Mesh 并在 Linux 工作负载上使用它。
本地
验证是否已在支持的环境中列出了您的集群版本。
VMWare
如需检查集群版本,您可以使用
gkectl
命令行工具。如果您未安装gkectl
,请参阅 GKE on VMware 下载。gkectl version
Bare metal
如需检查集群版本,您可以使用
bmctl
命令行工具。如果您未安装bmctl
,请参阅 GDCV for Bare Metal 快速入门。bmctl version
验证您安装 Anthos Service Mesh 的用户集群至少具有 4 个 vCPU、15 GB 内存和 4 个节点。
需要舰队 Workload Identity。GKE on VMware 和 GKE on Bare Metal 会在集群创建时自动注册到项目舰队。自 GKE Enterprise 1.8 起,这些集群类型都会在注册时自动启用舰队 Workload Identity。现有的已注册集群在升级到 GKE Enterprise 1.8 后也会更新为使用舰队 Workload Identity。如需验证集群的状态,请参阅查看已注册的集群。
您的用户集群节点需要互联网才能成功完成 Anthos Service Mesh 安装。无法通过 HTTP 代理访问互联网。