Anthos Service Mesh 前提条件

本页面介绍安装 Anthos Service Mesh 的前提条件和要求,例如 GKE Enterprise 许可、集群要求、舰队要求和一般要求。

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。

启用该 API

  • 如果您不是 GKE Enterprise 订阅者,您仍然可以安装 Anthos Service Mesh,但 Google Cloud 控制台中的某些界面元素和功能仅供 GKE Enterprise 订阅者使用。如需了解订阅者和非订阅者可以使用的内容,请参阅 GKE Enterprise 和 Anthos Service Mesh 界面差异

  • 如果您启用了 GKE Enterprise API,但想将 Anthos Service Mesh 作为独立服务使用,请停用 GKE Enterprise API

Google Cloud 外部

如需在本地、GKE on AWS、Amazon EKS 或 Microsoft AKS 上安装 Anthos Service Mesh,您必须是 GKE Enterprise 客户。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 集群必须是标准集群。只有代管式 Anthos Service Mesh 支持 Autopilot 集群。

    • 具有至少 4 个 vCPU 的机器类型,例如 e2-standard-4。如果集群的机器类型没有至少 4 个 vCPU,请按照将工作负载迁移到不同的机器类型中所述更改机器类型。

    • 最小节点数取决于您的机器类型。Anthos Service Mesh 至少需要 8 个 vCPU。如果机器类型有 4 个 vCPU,则您的集群必须至少有 2 个节点。如果机器类型有 8 个 vCPU,则集群只需要 1 个节点。如果需要添加节点,请参阅调整集群大小

  • 必须使用 GKE Workload Identity。我们建议您在安装 Anthos Service Mesh 之前启用 Workload Identity。如 Workload Identity 限制所述,启用 Workload Identity 会更改从工作负载到 Google API 的调用的保护方式。 请注意,您无需在现有节点池上启用 GKE 元数据服务器

  • (可选,但建议执行)在发布版本中注册集群。我们建议您在常规发布版本中注册集群,因为其他发布版本可能基于 Anthos Service Mesh 1.20.4 不支持的 GKE 版本。如需了解详情,请参阅支持的平台。如果您拥有静态 GKE 版本,请按照在发布版本中注册现有集群中的说明操作。

  • 若要在专用集群上安装 Anthos Service Mesh,则必须在防火墙中打开端口 15017,以获取用于自动辅助信息文件注入和配置验证的网络钩子正常运行。如需了解详情,请参阅在专用集群上打开端口

  • 确保从中安装 Anthos Service Mesh 的客户端机器与 API 服务器之间有网络连接。

  • 对于 Windows Server 工作负载,不支持 Anthos Service Mesh。如果您的集群同时有 Linux 和 Windows Server 节点池,您仍然可以安装 Anthos Service Mesh 并在 Linux 工作负载上使用它。

Google Cloud 外部

  • 确保安装 Anthos Service Mesh 的用户集群至少具有 4 个 vCPU、15 GB 内存和 4 个节点。

  • 验证是否已在支持的平台中列出集群版本。

  • 确保从中安装 Anthos Service Mesh 的客户端机器与 API 服务器之间有网络连接。

  • 如果您在无法直接连接到 CA 服务(例如 meshca.googleapis.comprivateca.googleapis.com)的应用 pod 中部署 Sidecar,则必须配置显式基于 CONNECT 的 HTTPS 代理

  • 对于设置了会阻止隐式规则的出站防火墙规则的公共集群,请确保您已配置 HTTP/HTTPS 和 DNS 规则以访问公共 Google API。

舰队要求

在 Anthos Service Mesh 1.11 及更高版本中,所有集群都必须注册到舰队,并且必须启用舰队工作负载身份。您可以自行设置集群,也可以让 asmcli 注册集群,只要集群满足以下要求:

  • GKE(适用于集群内和代管式 Anthos Service Mesh)在 Google Kubernetes Engine 集群上启用 GKE Workload Identity(如果尚未启用)。此外,您必须使用舰队 Workload Identity 注册集群

  • Google Cloud 外部的 GKE 集群:(适用于集群内 Anthos Service Mesh)GKE on VMwareGKE on Bare MetalGKE on AWSGKE on Azure 会在创建集群时自动向项目舰队注册。自 GKE Enterprise 1.8 起,所有这些集群类型都会在注册时自动启用舰队 Workload Identity。现有的已注册集群在升级到 GKE Enterprise 1.8 后也会更新为使用舰队 Workload Identity。

  • Amazon EKS 集群(适用于集群内 Anthos Service Mesh)集群必须具有公共 IAM OIDC 身份提供方。按照为您的集群创建 IAM OIDC 提供方中的说明检查提供方是否存在,并在必要时创建提供方。

运行 asmcli install 时,您需要指定舰队宿主项目的项目 ID。asmcli 会注册集群(如果尚未注册)。

后续步骤