Cloud Service Mesh 前提条件
本页面介绍了安装 Chrome 应用的前提条件和要求 Cloud Service Mesh,例如 GKE Enterprise 许可、集群要求、舰队 和一般要求
Cloud 项目
准备工作:
验证是否已为您的项目启用结算功能。
GKE Enterprise 许可
GKE
Cloud Service Mesh 适用于 GKE Enterprise,也可作为独立服务使用。
Google API 用于确定结算方式。要使用 Cloud Service Mesh,请作为
独立服务,请勿在项目中启用 GKE Enterprise API。
asmcli
会为您启用所有其他必需的 Google API。如需了解 Cloud Service Mesh 价格,请参阅价格。
- GKE Enterprise 订阅者务必启用 GKE Enterprise API。
如果您不是 GKE Enterprise 订阅者,您仍然可以安装 Cloud Service Mesh,但 Google Cloud 控制台中的某些界面元素和功能仅供 GKE Enterprise 订阅者使用。如需了解订阅者和非订阅者可以使用的内容,请参阅 GKE Enterprise 和 Cloud Service Mesh 界面差异。
如果您启用了 GKE Enterprise API,但想将 Cloud Service Mesh 作为独立服务使用,请停用 GKE Enterprise API。
Google Cloud 外部
要在本地、在 GKE on AWS 上、 Amazon EKS 或 Microsoft AKS 上,您必须是 GKE Enterprise 客户。 GKE Enterprise 客户无需单独为 Cloud Service Mesh 付费,因为此项费用已包含在 GKE Enterprise 价格内。如需了解详情,请参阅 GKE Enterprise 价格指南。
一般要求
如需将服务端口纳入服务网格,必须为服务端口命名,并且名称必须包含以下语法的端口协议:
name: protocol[-suffix]
,其中方括号表示必须以短划线开头的可选后缀。如需了解详情,请参阅为服务端口命名。如果您已创建服务边界 那么您可能需要添加 Cloud Service Mesh 证书授权机构服务, 进入边界请参阅 将 Cloud Service Mesh 证书授权机构添加到服务边界 。
如果要更改
istio-proxy
sidecar 容器的默认资源限制,新值必须大于默认值,才能避免内存不足 (OOM) 事件。一个 Google Cloud 项目只能关联一个网格。
集群要求
GKE
验证是否已在支持的平台中列出集群版本。
您的 GKE 集群必须满足以下要求:
GKE 集群必须是标准集群。Autopilot 集群 仅适用于代管式 Cloud Service Mesh。
具有至少 4 个 vCPU 的机器类型,例如
e2-standard-4
。如果集群的机器类型没有至少 4 个 vCPU,请按照将工作负载迁移到不同的机器类型中所述更改机器类型。最小节点数取决于您的机器类型。云服务网格 至少需要 8 个 vCPU。如果机器类型有 4 个 vCPU,则您的集群必须至少有 2 个节点。如果机器类型有 8 个 vCPU,则集群只需要 1 个节点。如果需要添加节点,请参阅调整集群大小。
必须使用 GKE Workload Identity。我们建议您 启用 Workload Identity 然后再安装 Cloud Service Mesh。如 Workload Identity 限制所述,启用 Workload Identity 会更改从工作负载到 Google API 的调用的保护方式。 请注意,您无需在现有节点池上启用 GKE 元数据服务器。
(可选,但建议执行)在发布版本中注册集群。我们建议您注册常规发布渠道, 可能基于不受支持的 GKE 版本 Cloud Service Mesh 1.23.2。如需了解详情,请参阅支持的平台。如果您拥有静态 GKE 版本,请按照在发布渠道中注册现有集群中的说明操作。
若要在专用集群上安装 Cloud Service Mesh,则必须在防火墙中打开端口 15017,以获取用于自动辅助信息文件注入和配置验证的网络钩子正常运行。如需了解详情,请参阅在专用集群上打开端口。
确保从中安装 Cloud Service Mesh 的客户端机器与 API 服务器之间有网络连接。
对于 Windows Server 工作负载,不支持 Cloud Service Mesh。如果您的 集群同时具有 Linux 和 Windows Server 节点池,您仍然可以安装 Cloud Service Mesh 并用于 Linux 工作负载。
Google Cloud 外部
确保您安装 Cloud Service Mesh 的用户集群的以下 至少 4 个 vCPU、15 GB 内存和 4 个节点。
验证是否已在支持的平台中列出集群版本。
确保安装 Cloud Service Mesh 时所使用的客户端机器 与 API 服务器之间的网络连接
如果您在无法直接连接到 CA 服务(例如
meshca.googleapis.com
和privateca.googleapis.com
)的应用 pod 中部署 Sidecar,则必须配置显式基于CONNECT
的 HTTPS 代理。对于设置了会阻止隐式规则的出站防火墙规则的公共集群,请确保您已配置 HTTP/HTTPS 和 DNS 规则以访问公共 Google API。
舰队要求
对于 Cloud Service Mesh 1.11 及更高版本,所有集群都必须注册到
舰队,以及
舰队工作负载身份
。您可以自行设置集群,也可以让 asmcli
注册集群,只要集群满足以下要求:
GKE:(适用于集群内和代管式 Cloud Service Mesh)在 Google Kubernetes Engine 集群上启用 GKE Workload Identity(如果尚未启用)。此外,您必须使用舰队 Workload Identity 注册集群。
Google Cloud 外部的 GKE 集群: (适用于集群内 Cloud Service Mesh) Google Distributed Cloud、 Google Distributed Cloud、 GKE on AWS 和 GKE on Azure 在集群创建时自动注册到项目舰队。自 GKE Enterprise 1.8 起,所有这些集群类型都会在注册时自动启用舰队 Workload Identity。现有的已注册集群在升级到 GKE Enterprise 1.8 后也会更新为使用舰队 Workload Identity。
Amazon EKS 集群:(适用于集群内 Cloud Service Mesh) 必须具有公共 IAM OIDC 身份提供方。按照为您的集群创建 IAM OIDC 提供方中的说明检查提供方是否存在,并在必要时创建提供方。
运行 asmcli install
时,您需要指定舰队宿主项目的项目 ID。asmcli
会注册集群(如果尚未注册)。