面向持续客户的托管式控制平面
如果您是使用托管式控制平面或集群内控制平面的 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,以及由于移动到集群中的其他节点而使用新 IP 地址重启的 Pod。
- 扩缩端点数量。借助新的全球控制平面,网格的端点会直接从每个集群发送到网格中所有集群的控制平面。与之前的托管式控制平面使用的方法相比,这种方法更简单、更快、更具可扩缩性。在旧版托管式控制平面(专用控制平面)模型中,每个 Istiod 都必须与网格中的每个其他集群进行通信,以确定每个其他集群中可用的端点。使用全球控制平面时,端点会直接传播到全球控制平面。这可提高具有大量端点的网格的可靠性和性能,并允许网格扩缩到更多端点。
新控制平面对您有何影响?
新控制平面对您的影响取决于您使用的 API 和控制平面。
- 如果您是 Traffic Director 用户,您的控制平面将保持不变。您无需阅读本指南的其余部分。有关 Cloud Service Mesh 实现的文档在使用Google Cloud API 进行配置下。
- 如果您是 Anthos Service Mesh 用户,则现有部署中控制平面的后续步骤取决于您是使用托管式控制平面还是集群内控制平面。
- 如果您使用的是托管式控制平面,则除某些例外情况外,您的现有舰队将迁移到 Cloud Service Mesh 中称为托管式控制平面(Traffic Director 或 TD 实现)的新控制平面。请阅读以下部分:对现有网格和舰队进行控制平面迁移。如果您使用的功能不受 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 自动注册到集群项目中的舰队。如果您有任何自动化功能会取消注册集群,则必须在进行迁移之前移除该功能,否则迁移会出现问题。为了让托管式产品能够正常运行,必须将其注册到已启用网格功能的舰队。
如果您需要自定义迁移,或者对是否使用了不受支持的功能有疑问,请联系支持团队。
在迁移过程中,系统会以安全可控的方式进行以下更改:
- 如需启用健康检查,请在集群的
kube-system
命名空间中创建snk
守护程序集,并创建每个集群的防火墙规则。 - 如需启用网络端点组 (NEG) 注入,请将注解
cloud.google.com/neg
添加到所有 Kubernetes 服务。 - 在集群中创建了新的 Google Cloud 资源,例如
Mesh
、Routes
、后端服务和健康状况检查。 - 重启由 Kubernetes 部署管理的 Pod,以重新连接到 Traffic Director 控制平面。
部分新资源受配额限制。您可以查看配额并根据需要申请更多配额。
检查控制平面兼容性
查看托管式控制平面实现之间支持的功能的差异,以确定您当前的 Cloud Service Mesh 使用情况是否需要更改。
新网格的控制平面
自 2024 年 7 月 1 日起,托管式 istiod
控制平面实现的大多数现有用户将开始在新舰队中收到更新的托管式控制平面,其中包含 Google 的全球可用实现 - Traffic Director (TD) 控制平面。
对于当前正在使用基于 istiod
控制平面实现的托管式 Cloud Service Mesh 且在未更改的情况下无法兼容 Traffic Director 实现的用户,在 2024 年 9 月 8 日之前仍将继续获得 istiod
实现。如果这适用于贵组织,则您已收到服务通告。
如果您将新舰队加入托管式 Cloud Service Mesh,且此舰队不在 Google Cloud 组织中或者在新的 Google Cloud 组织中,则您将从 Cloud Service Mesh 发布之日起获得具有 TD 实现的新托管式控制平面。
后续步骤
- 如果您是 Anthos Service Mesh 的持续客户,则您的文档位于左侧目录中的使用 Istio API 配置服务网格下。
- 如果您是 Traffic Director 的持续客户,则您的文档位于使用 Google Cloud API 配置服务网格下。