面向持续客户的代管式控制平面

本文档适用于 Anthos Service Mesh 持续客户 使用代管式控制平面或集群内控制平面此文档 讨论了控制平面的实现,以及 控制平面

如果您是持续的 Traffic Director 客户或新客户, 不需要阅读本文档。

控制平面概览

在服务网格中,控制平面提供流量管理、代理管理(在使用 Envoy 代理时)和其他网络功能。

Anthos Service Mesh 提供两个控制平面:代管式控制平面和集群内控制平面。仅使用 Envoy 代理作为数据平面。

新建代管式控制平面

新的代管式控制平面称为 Traffic Director (TD) 实施。新的控制平面对您来说意味着什么?

从 Anthos Service Mesh 产品改为 Cloud Service Mesh 时,最显著的变化之一就是改用多租户全球控制平面。

Anthos Service Mesh 中使用的代管式控制平面专门用于单个 集群。虽然用于 GKE 的 API(Istio CRD)相同,并且发送到边车的 xDS 配置兼容且没有行为差异,但控制平面差异会导致最终用户可见的一些特性。

  • 配置更改响应时间。新服务部署或更改 服务政策,请使用新的控制平面所需要的时间略长一些。
    • 配置流水线会执行两次配置提交,以提高可靠性。第一个通过执行验证以检查 配置的格式是否正确。后续阶段 将配置全局传播到服务部署。接收者 支持使用 Google Cloud 服务,例如全球跨可用区或跨区域负载 集中式健康检查、流量驱动型自动扩缩 受管速率限制,配置将传播到这些系统 并独立验证其正确性。该配置还以一种方式存储在内部,以便 Google 站点可靠性工程团队能够在任何生产环境紧急情况下可靠高效地执行产品操作。
    • 这些操作可提高可靠性,但会导致配置推送速度比 Anthos Service Mesh 当前用户观察到的延迟时间慢。
    • 任何新 Pod 提取现有配置的延迟时间为 使用新控制平面后,它们的测量结果要稍微好一点。缓慢的 配置推送适用于任何新服务的首次传播 或任何为该服务推送的新政策端点传播 但延迟时间在功能上是类似的
  • 对端点进行事件伸缩和其他更改的速度。使用新控制平面处理这些问题的速度至少与之前一样快。这些事件包括因 Pod 横向自动扩缩而启动或停止的新 Pod,以及因 Pod 移至集群中的其他节点而重启并使用新 IP 地址的 Pod。
  • 扩缩端点数量。采用新的全球控制平面后, 网格的端点直接从每个集群发送到 从网格中所有集群的角度平面。与之前的代管式控制平面所用的方法相比,这种方法更简单、更快速且更易于扩展。在旧版托管式控制平面(专用控制平面)模型中,每个 Istiod 都必须与网格中的每个其他集群通信,以确定每个其他集群中可用的端点。使用全球控制平面时,端点会直接传播到全球控制平面。这样,您就可以 提高网格的可靠性和性能 并允许网格扩容为更多端点。

新控制平面对您有何影响?

新控制平面对您的影响取决于您使用的 API 和控制平面。

  • 如果您是 Traffic Director 用户,您的控制平面将保持不变。您无需阅读本指南的其余部分。如需查看 Cloud Service Mesh 实现的文档,请参阅使用 Google Cloud API 进行配置
  • 如果您是 Anthos Service Mesh 用户,请了解控制平面的后续步骤 取决于您是否在现有部署中使用代管式控件 或集群内控制平面
    • 如果您使用的是代管式控制平面,但现有 舰队将迁移到新的控制平面 作为代管式控制平面的 Cloud Service Mesh(Traffic Director、 实现)。请阅读下一部分:控制平面 现有网格和舰队的迁移。如果您使用的功能不受 Traffic Director 控制平面实现支持,则您暂时会保留旧版控制平面。您应继续阅读本指南。
    • 如果您使用的是集群内控制平面,则控制平面保持不变。您无需阅读本指南的其余部分。
    • 如果您没有 Google Cloud 组织,但使用 代管式控制平面,您将获得 TD 控制平面。
  • 如果您是 Anthos Service Mesh 客户,并且正在创建新的车队,则会收到 Traffic Director 控制平面实现。您 请继续阅读本指南。
    • 当新车队收到 TD 控制平面时,您会收到日期通知。

针对现有网格和舰队的控制平面迁移

自 2024 年 7 月 22 日起,Google 将逐步更新现有集群,以使用采用 TD 实现的受管理控制平面。我们会提前通知您 更新网格。

您可以在介绍使用 Istio API 的受支持功能(托管式控制平面)的页面上查看 Istiod 和 Traffic Director 控制平面的功能。

您应该会在集群安排更新前至少两周收到通知。您可以在集群级地图项状态条件中使用通知。

使用以下 Google Cloud CLI 命令检查通知:

gcloud container hub mesh describe --project=[PROJECT_ID]

您会看到如下所示的结果:

membershipStates:
  projects/656460026795/locations/us-central1/memberships/cluster:
    servicemesh:
      conditions:
      - code: MODERNIZATION_SCHEDULED
        details: This cluster has been scheduled for modernization on or after (date ~ at least 2 weeks).
        documentationLink: 
        severity: INFO

使用 meshconfig.googleapis.com API 引入的任何旧版托管控制平面集群都将自动使用 gkehub.googleapis.com Membership API 注册到集群所在项目中的舰队。如果您有任何用于取消注册集群的自动化操作,则必须先将其移除,否则迁移将会出现问题。对于受管理的商品 设备必须注册到具有网格功能的舰队,才能成功运行 。

如需进行自定义,请与支持团队联系 或者您对是否使用不受支持的 功能。

在迁移期间,系统会以安全可控的方式进行以下更改:

  • 要启用运行状况检查,snkkube-system 命名空间,以及每个集群的防火墙规则 创建。
  • 启用网络端点组 (NEG) 注解 cloud.google.com/neg 会添加到所有 Kubernetes 集群, 服务。
  • 在集群中创建新的 Google Cloud 资源,例如 MeshRoutes后端服务健康检查
  • 系统会重启由 Kubernetes Deployment 管理的 Pod,以重新连接到 Traffic Director 控制平面。

部分新资源有配额限制。您可以 查看配额并在必要时申请更多配额

检查控制平面兼容性

查看代管式控制平面实现之间支持的功能差异,以确定您当前对 Cloud Service Mesh 的使用是否需要更改。

新网格的控制平面

自 2024 年 7 月 1 日起,受管理的istiod控件的大多数现有用户 平面实现将开始接收更新后的代管式控制平面 采用 Google 的全球实施方案 - Traffic Director (TD) 在舰队中部署控制平面

如果用户当前使用的是采用 istiod 控制平面实现的托管式 Cloud Service Mesh,且该实现与 Traffic Director 实现不兼容,那么在未进行任何更改的情况下,他们将继续使用 istiod 实现,直到 2024 年 9 月 8 日。如果您的组织符合上述条件,您会收到服务通告。

如果您将新的车队纳入托管式 Cloud Service Mesh,并且此车队不在 Google Cloud 组织中,或者位于新的 Google Cloud 组织中,那么您将从 Cloud Service Mesh 发布之日起获得采用 TD 实现的新托管式控制平面。

后续步骤

  • 如果您仍然是 Anthos Service Mesh 客户,请参阅左侧目录下的 使用 Istio API 配置服务网格
  • 如果您仍然是 Traffic Director 客户,您的文档位于 使用 Google Cloud API 配置服务网格