将容器迁移到 Google Cloud:将 Kubernetes 迁移到 GKE

Last reviewed 2023-05-22 UTC

本文档可帮助您规划、设计和实现从自行管理的 Kubernetes 环境到 Google Kubernetes Engine (GKE) 的迁移。如果操作不当,则将应用从一个环境迁移到另一个环境可能极具挑战性,因此您需要谨慎规划和执行迁移。

本文档是关于迁移到 Google Cloud 的系列文章中的一篇。如果您想要了解该系列文章,请参阅迁移到 Google Cloud:选择迁移路径

本文档是系列文章中的一篇,介绍了如何将容器迁移到 Google Cloud:

如果您计划从自行管理的 Kubernetes 环境迁移到 GKE,则本文档非常有用。您的环境可能在本地环境、私有托管环境或其他云服务商中运行。如果您正在评估迁移的时机并希望了解潜在的情况,则本文档也非常有用。

通过使用 GKE,您可以获得以下好处:

下图说明了迁移过程的路径。

迁移路径包含四个阶段。

在每个迁移步骤中,您需要按照迁移到 Google Cloud:使用入门中定义的阶段执行操作:

  1. 评估和发现工作负载。
  2. 规划和构建基础。
  3. 部署工作负载。
  4. 优化您的环境。

评估您的环境

在评估阶段,您需要确定将自行管理的 Kubernetes 环境迁移到 GKE 的要求和依赖项:

  1. 构建一个完整的应用清单。
  2. 根据应用的属性和依赖项对应用进行分类。
  3. 针对 Google Cloud 培训和指导您的团队。
  4. 针对 Google Cloud 构建实验和概念验证。
  5. 计算目标环境的总拥有成本 (TCO)。
  6. 选择您首先要迁移的工作负载。

以下部分依赖于迁移到 Google Cloud:评估和发现您的工作负载

构建您的清单

如需确定迁移范围,您必须了解当前的 Kubernetes 环境。您需要先收集有关集群的信息,然后需要关注这些集群中部署的工作负载以及工作负载的依赖项。在评估阶段结束时,您会有两份清单:一份用于集群,另一份用于这些集群中部署的工作负载。

如需构建集群的清单,请针对每个集群考虑以下方面:

  • 节点的数量和类型。如果您知道当前环境有多少个节点以及每个节点的特性,则可以在迁移到 GKE 时确定集群的大小。运行新环境中的节点的硬件架构代次可能与您在现有环境中使用的硬件架构代次不同。每个架构代次的性能各不相同,因此新环境所需要的节点数量可能与您的现有环境不同。请评估您在节点中使用的任何类型的硬件,例如高性能存储设备、GPU 和 TPU。
  • 内部或外部集群。请评估每个集群会公开给环境内部或外部的哪些操作者。为了支持您的用例,此评估包括集群中运行的工作负载以及与集群进行交互的接口
  • 多租户。如果您正在现有环境中管理多租户集群,请评估其在新的 Google Cloud 环境中能否正常运行。现在是评估如何改进多租户集群的好时机,因为多租户策略会影响您在 Google Cloud 上构建基础的方式。
  • Kubernetes 版本。请收集有关集群的 Kubernetes 版本的信息,以评估这些版本与 GKE 中提供的版本是否不匹配。如果您运行的是旧版或最近发布的版本,则您使用的可能是 GKE 不提供的功能。这些功能可能已被弃用,或者 GKE 尚不提供包含这些功能的 Kubernetes 版本。
  • Kubernetes 升级周期。如需维持可靠的环境,请了解如何处理 Kubernetes 升级以及升级周期与 GKE 升级的关系。
  • 节点池。如果您正在使用任何形式的节点分组,则可能需要考虑这些分组如何映射到 GKE 中的节点池概念,因为您的分组条件可能不适合 GKE。
  • 节点初始化。请评估每个节点的初始化方式,然后将其标记为可用于运行工作负载,以便您将这些初始化过程迁移到 GKE。

您在清单中评估的以下内容侧重于基础架构和 Kubernetes 集群的安全性:

  • Namespace。如果您在集群中使用 Kubernetes Namespace 来逻辑分隔资源,请评估每个 Namespace 中有哪些资源,并了解创建这种分隔的原因。例如,您可能会将 Namespace 用作多租户策略的一部分。您可能会在为 Kubernetes 系统组件预留的 Namespace 中部署工作负载,并且在 GKE 中可能不会实施相同的控制措施。
  • 基于角色的访问权限控制 (RBAC)。如果您在集群中使用 RBAC 授权,请列出您在集群中配置的所有 ClusterRole 和 ClusterRoleBinding 的说明。
  • 网络政策。 请列出您在集群中配置的所有网络政策,并了解网络政策在 GKE 中的工作原理
  • Pod 安全上下文。请捕获有关您在集群中配置的 Pod 安全上下文的信息,并了解它们在 GKE 中的工作原理
  • 服务账号。如果集群中有任何进程正在与 Kubernetes API 服务器交互,请捕获有关它们正在使用的服务账号的信息。

完成 Kubernetes 集群清单并评估环境的安全性后,请构建这些集群中部署的工作负载清单。评估工作负载时,请收集有关以下方面的信息:

  • Pod控制器。如需确定新环境中的集群大小,请评估您已部署的每个工作负载的实例数量,以及您是否使用了资源配额计算资源消耗限制。 收集有关在每个集群的控制层面节点上运行的工作负载以及每个工作负载使用的控制器的信息。例如,您正在使用多少个 Deployment?您正在使用多少个 DaemonSet
  • 作业Cron 作业。您的集群和工作负载可能需要在初始化或操作过程中运行作业或 Cron 作业。评估您已部署的作业和 Cron 作业实例的数量,以及每个实例的责任和完成标准。
  • Kubernetes 自动扩缩器。如需在新环境中迁移自动扩缩政策,请了解 Pod 横向自动扩缩器Pod 纵向自动扩缩器Pod 多维自动扩缩器在 GKE 上的工作原理。
  • 无状态和有状态工作负载。无状态工作负载不会将数据或状态存储在集群或永久性存储空间中。有状态应用会保存数据供以后使用。对于每个工作负载,请评估哪些组件是无状态组件以及哪些组件是有状态组件,因为迁移有状态工作负载通常比迁移无状态工作负载更困难。
  • Kubernetes 特性。从集群清单中,您可以了解每个集群运行的 Kubernetes 版本。请查看每个 Kubernetes 版本的版本说明,了解它包含哪些特性以及弃用了哪些特性。然后,请根据您需要的 Kubernetes 特性评估您的工作负载。此任务的目的是了解您使用的是已弃用的特性还是尚未在 GKE 中提供的特性。如果您发现任何不可用的特性,请停止使用已弃用的特性,并在 GKE 提供新特性时采用这些新特性。
  • 存储。对于有状态工作负载,请评估它们是否使用 PersistenceVolumeClaim。请列出任何存储要求(例如大小和访问模式),以及这些 PersistenceVolumeClaim 映射到 PersistenceVolume 的方式。为了考虑未来增长,请评估是否需要扩展任何 PersistenceVolumeClaim
  • 配置和密文注入。为了避免每次更改环境配置时重新构建可部署的工件,请使用 ConfigMapSecret 将配置和密文注入 Pod。对于每个工作负载,请评估该工作负载正在使用哪些 ConfigMap 和 Secret,以及如何填充这些对象。
  • 依赖项。您的工作负载可能无法独立运行。它们可能具有依赖项,这些依赖项位于集群内部或者来自外部系统。对于每个工作负载,请捕获依赖项以及您的工作负载能否容忍依赖项不可用的情况。例如,常见的依赖项包括分布式文件系统、数据库、密文分发平台、身份和访问权限管理系统、服务发现机制以及任何其他外部系统。
  • Kubernetes Service。如需将工作负载公开给内部和外部客户端,请使用 Service。对于每个 Service,您需要知道其类型。对于外部公开的服务,请评估该服务与基础架构的其余部分进行交互的方式。例如,您的基础架构如何支持 LoadBalancer 服务Ingress 对象?您在集群中部署了哪些 Ingress 控制器
  • 服务网格。如果您正在环境中使用服务网格,请评估其配置方式。您还需要知道它涵盖多少个集群、哪些服务是该网格的一部分,以及如何修改该网格的拓扑。例如,您是否使用自动 Sidecar 注入将 Sidecar 自动添加到 Kubernetes Pod?
  • 污点和容忍以及亲和性和反亲和性。对于每个 Pod 和节点,请评估您是否配置了任何节点污点、Pod 容忍度或亲和性,以自定义 Kubernetes 集群中的 Pod 调度。您还可以通过这些属性发现可能的非同构节点或 Pod 配置,在这种情况下,可能意味着您需要特别留意并谨慎处理对 Pod 和/或节点的评估。例如,如果您将一组特定的 Pod 配置为仅在 Kubernetes 集群中的部分节点上调度,则可能意味着这些 Pod 需要使用仅在相应节点上可用的专用资源。

评估集群及其工作负载后,请评估基础架构中的其他支持服务和方面,例如:

  • StorageClass 和 PersistentVolume。通过列出用于动态预配StorageClass静态预配PersistentVolume,评估您的基础架构如何支持 PersistentVolumeClaim。对于每个 PersistentVolume,请考虑以下方面:容量、卷模式、访问模式、类、回收政策、装载选项和节点亲和性。
  • VolumeSnapshotVolumeSnapshotContent。对于每个 PersistentVolume,请评估您是否配置了任何 VolumeSnapshot,以及是否需要迁移任何现有 VolumeSnapshotContent。
  • 容器存储接口 (CSI) 驱动程序。 如果部署在集群中,请评估这些驱动程序是否与 GKE 兼容,以及您是否需要调整卷的配置以适合与 GKE 兼容的 CSI 驱动程序
  • 数据存储。如果您依赖外部系统来预配 PersistentVolume,请为 GKE 环境中的工作负载提供一种使用这些系统的方法。数据存放区域会影响有状态工作负载的性能,因为外部系统和 GKE 环境之间的延迟时间与它们之间的距离成比例。对于每个外部数据存储系统,请考虑其类型(例如块卷、文件存储或对象存储),以及它需要满足的任何性能和可用性要求。
  • 日志记录、监控和跟踪。请捕获有关监控、日志记录和跟踪系统的信息。您可以将您的系统与 Google Cloud Observability 集成,也可以将 Google Cloud Observability 用作唯一的监控、日志记录和跟踪工具。例如,您可以将 Google Cloud Observability 与其他服务集成为您的首选编程语言设置日志记录接口,以及在虚拟机上使用 Cloud Logging 代理。GKE 集成了 Google Cloud ObservabilityCloud Audit Logs。您还可以使用 Fluentd 为 GKE 自定义 Cloud Logging 日志,然后使用 Dataflow 大规模处理日志。
  • 自定义资源和 Kubernetes 插件。收集有关可能已在集群中部署的任何自定义 Kubernetes 资源和任何 Kubernetes 插件的信息,因为这些资源可能无法在 GKE 中运行,或者您可能需要修改这些资源。例如,如果自定义资源与外部系统交互,您可以评估该资源是否适用于您的 Google Cloud 环境。

完成评估

构建与 Kubernetes 集群和工作负载相关的清单后,请完成迁移到 Google Cloud:评估和发现工作负载中的评估阶段的其余活动。

规划和构建基础

在规划和构建阶段,您需要预配和配置支持 Google Cloud 上的工作负载的云基础架构和服务:

  1. 构建资源层次结构。
  2. 配置身份和访问权限管理。
  3. 设置结算功能。
  4. 设置网络连接。
  5. 强化安全性。
  6. 设置监控和提醒。

如果您已采用基础架构即代码来管理 Kubernetes 环境中的工作负载,则可以对 Google Cloud 环境应用相同的过程。您可以分析 Kubernetes 描述符,因为 GKE 为您自动预配的一些 Google Cloud 资源可使用 Kubernetes 标签注释进行配置。例如,您可以通过向 LoadBalancer Service 添加注释来预配一个内部负载平衡器(而不是外部负载平衡器)。

以下部分依赖于迁移到 Google Cloud:构建您的基础

构建资源层次结构

如需设计高效的资源层次结构,请考虑您的业务和组织结构如何映射到 Google Cloud,详情请参阅迁移到 Google Cloud:构建您的基础

例如,如果您需要 GKE 上的多租户环境,可以在以下方式中进行选择:

  • 为每个租户创建一个 Google Cloud 项目。
  • 在不同租户之间共享一个项目,并预配多个 GKE 集群。
  • 使用 Kubernetes 命名空间。

您的选择取决于您的隔离、复杂性和可扩缩性需求。例如,如果每个租户都有一个项目,则租户会彼此隔离,但由于项目数量较多,因此资源层次结构会变得更加复杂,难以管理。不过,虽然管理 Kubernetes Namespace 比复杂资源层次结构相对容易,但此方式并不能保证相同的隔离度。例如,控制平面可能会在租户之间共享。

配置身份和访问权限管理

Identity and Access Management 提供了一些工具,用于集中配置对云资源的精细访问权限控制。如需了解详情,请参阅 Identity and Access Management

请查看 Kubernetes RBAC 如何与 Google Cloud 中的身份和访问权限管理进行交互,并根据您在评估阶段收集的要求配置 RBAC。

设置结算功能

在预配任何 Google Cloud 资源之前,请先配置 Cloud Billing 并了解 GKE 价格模式。如需了解详情,请参阅结算

设置网络连接

网络配置是您的环境的基本方面。请评估工作负载的 GKE 网络模型和连接要求。然后,您就可以开始规划您的网络配置。如需了解详情,请参阅连接和网络

强化安全性

了解您的环境的安全模型与 Google Cloud 的模型之间的区别,以及如何强化 GKE 集群的安全性,这一点对于保护您的关键资源至关重要。如需了解详情,请参阅安全性

设置监控和提醒

清楚了解基础架构和工作负载的情况是寻找改进领域的关键。GKE 深度集成了 Google Cloud Observability,因此您可以获取有关 GKE 集群以及这些集群中的工作负载的日志记录和监控信息。如需了解详情,请参阅监控和提醒

部署工作负载

在部署阶段,您将执行以下操作:

  1. 预配和配置 GKE 环境。
  2. 配置 GKE 集群。
  3. 将数据从来源环境迁移到 Google Cloud。
  4. 在 GKE 环境中部署工作负载。
  5. 验证工作负载。
  6. 公开在 GKE 上运行的工作负载。
  7. 将流量从来源环境迁移到 GKE 环境。
  8. 停用来源环境。

预配和配置您的运行时平台和环境

在将任何工作负载迁移到新的 Google Cloud 环境之前,请先预配 GKE 集群。

在评估阶段后,您现在已经知道如何在新的 Google Cloud 环境中预配 GKE 集群以满足您的需求。您可以预配以下各项:

  • 集群数量、每个集群的节点数量、集群类型、每个集群和每个节点的配置,以及每个集群的可伸缩性方案
  • 每个集群的操作模式。GKE 提供了两种集群操作模式:GKE Autopilot 和 GKE Standard。
  • 专用集群的数量。
  • 选择 VPC 原生网络还是基于路由器的网络
  • GKE 集群中所需的 Kubernetes 版本和发布渠道
  • 用于对 GKE 集群中的节点进行逻辑分组的节点池,以及是否需要使用节点自动预配功能来自动创建节点池。
  • 您可以从现有环境迁移到 GKE 环境的初始化过程以及您可以实现的新过程。例如,您可以通过为集群中的每个节点或节点池实施一个或多个最终具有特权的初始化过程来自动引导 GKE 节点
  • 每个集群的可伸缩性方案
  • 您需要的其他 GKE 功能(例如 Anthos Service Mesh)和 GKE 插件(例如 Backup for GKE)。

如需详细了解如何预配 GKE 集群,请参阅:

配置集群

在预配 GKE 集群后,部署任何工作负载或迁移数据之前,请为每个 GKE 集群配置命名空间、RBAC、网络政策、资源配额以及其他 Kubernetes 和 GKE 对象。

如需在 GKE 集群中配置 Kubernetes 和 GKE 对象,我们建议您执行以下操作:

  1. 确保您拥有访问来源环境和 GKE 环境中的集群所需的凭据和权限。
  2. 评估来源环境中的 Kubernetes 集群内的对象是否与 GKE 兼容,以及支持这些对象的实现与来源环境和 GKE 的区别。
  3. 重构任何不兼容的对象,使其与 GKE 兼容,或者弃用它。
  4. 将这些对象迁移到 GKE 集群。
  5. 在 GKE 集群中配置所需的任何其他对象。

迁移集群配置

如需将 Kubernetes 集群的配置从来源环境迁移到 GKE 集群,您可以使用以下方法:

  • 如果您采用基础架构即代码流程在来源环境中的 Kubernetes 集群内配置对象,则可以:

    1. 使用 Kubernetes 工具 (kubectl) 或代管式服务 (Config Sync) 迁移与 GKE 兼容的对象,并仅进行一些细微的元数据更改。
    2. 重构或弃用与 GKE 不兼容的对象。
  • 如果您未采用基础架构即代码流程,则可以:

    • 使用 CraneVelero 等第三方工具将 Kubernetes 对象的配置从来源环境迁移到 GKE 环境。

迁移数据

如需将有状态工作负载所需的数据从来源环境迁移到 GKE 环境,我们建议您按照迁移到 Google Cloud:转移大型数据集中的指导设计数据迁移方案。

在迁移数据之前,您需要预配所有必要的存储基础架构。如果您使用的是任何 StorageClass 预配工具,请在新集群中配置存储基础架构。

如需详细了解 GKE 上的数据存储选项,请参阅存储配置。例如,您可以使用可用区级或跨区域复制Compute Engine 永久性磁盘,也可以使用 Filestore

预配 StorageClass 后,您可以预配所有必要的 PersistentVolume 来存储要迁移的数据。然后,将数据从来源环境迁移到这些 PersistentVolume。此数据迁移的具体细节取决于来源环境的特征。例如,您可以执行以下操作:

  1. 预配 Compute Engine 实例。
  2. 将永久性磁盘挂接到 Compute Engine 实例。
  3. 将数据从来源环境复制到永久性磁盘。
  4. 关停 Compute Engine 实例。
  5. 将永久性磁盘与 Compute Engine 实例分离。
  6. 将永久性磁盘配置为 GKE PersistentVolume。
  7. 停用 Compute Engine 实例。

如需详细了解如何将 Compute Engine 永久性磁盘用作 GKE PersistentVolume,请参阅将已有的永久性磁盘用作 PersistentVolume

部署工作负载

如需部署工作负载,我们建议使用以下方法之一:

  • 在 Google Cloud 上实现部署流程。
  • 重构现有的部署流程,以便在 GKE 环境中部署工作负载。

部署阶段也是对部署流程和工作负载进行现代化改造的好机会。例如,如果您正在环境中使用任何 Pod,请考虑将这些工作负载迁移到 Kubernetes Deployment。

如需详细了解如何重构部署流程,请参阅迁移到 Google Cloud:从手动部署迁移到容器和自动化部署。它包含从手动部署迁移到容器编排工具和自动化部署的指导。

部署流程准备就绪后,您可以将工作负载部署到 GKE

在 Google Cloud 上实现部署流程

如需在 Google Cloud 上实现部署流程,请使用 Google Cloud 产品的可伸缩性、代管式操作以及从设计上保证的安全性。

如需详细了解如何在 Google Cloud 上实现部署流程,请参阅:

重构现有部署流程

虽然对于成功结果并非绝对必要,但您也可以在迁移期间重构部署流程。例如,您可以对现有部署流程进行现代化改造和自动化,并在 Google Cloud 上实现这些流程。

在迁移工作负载的同时将部署流程迁移到 Google Cloud 可能会非常复杂,并且会增加迁移失败的风险。对于特别复杂的迁移,您还可以考虑再次迁移部署流程,并继续使用当前的部署流程在 GKE 环境中部署工作负载。这种方法可以帮助您降低迁移的复杂性。 通过继续使用现有部署流程,您可以简化迁移过程。

验证工作负载

在 GKE 环境中部署工作负载后,但在向用户公开这些工作负载之前,我们建议您执行全面的验证和测试。此测试可帮助您验证工作负载的行为是否符合预期。例如,您可以:

  • 执行集成测试、负载测试、合规性测试、可靠性测试以及其他验证过程,以帮助您确保工作负载在其预期的参数范围内根据其规范运行。
  • Google Cloud Observability 中检查日志、指标和错误报告,以找出任何潜在问题并发现趋势,从而在问题发生之前预测问题。

如需详细了解工作负载验证,请参阅测试可靠性

公开您的工作负载

完成在 GKE 环境中运行的工作负载的验证测试后,请公开工作负载以使其可供访问。

如需公开在 GKE 环境中运行的工作负载,您可以使用 Kubernetes Service 和服务网格。

如需详细了解 GKE 如何支持 Kubernetes Service,请参阅 Service

如需详细了解如何公开在 GKE 中运行的工作负载,请参阅:

将流量迁移到您的 Google Cloud 环境

验证工作负载是否在 GKE 环境中运行后,并将其公开给客户端后,您可以将流量从来源环境迁移到 GKE 环境。为了帮助您避免大规模迁移和所有相关风险,我们建议您逐步将流量从来源环境迁移到 GKE。

根据您设计 GKE 环境的方式,您可以通过多种方式来实现负载均衡机制,以逐步将流量从来源环境迁移到目标环境。例如,您可以实现 DNS 解析政策,以根据某个政策解析 DNS 记录,从而将一定比例的请求发送到属于您的 GKE 环境的 IP 地址。或者,您可以使用虚拟 IP 地址和网络负载均衡器来实现负载均衡机制。

开始逐步将流量迁移到 GKE 环境后,我们建议您监控工作负载在负载增加时的行为。

最后,执行割接,即在将所有流量从来源环境迁移到 GKE 环境时发生。

如需详细了解负载均衡,请参阅前端负载均衡

停用来源环境

GKE 环境中的工作负载正确响应请求后,您需要停用来源环境。

在开始停用来源环境中的资源之前,我们建议您执行以下操作:

  • 备份所有数据,以帮助您恢复来源环境中的资源。
  • 在停用环境之前通知用户。

如需停用来源环境,请执行以下操作:

  1. 停用来源环境中的集群内运行的工作负载。
  2. 删除来源环境中的集群。
  3. 删除与这些集群关联的资源,例如安全组、负载均衡器和虚拟网络。

为避免遗留孤立资源,您停用来源环境中的资源的顺序很重要。例如,某些提供商要求您先停用创建负载均衡器的 Kubernetes Service,然后才能停用包含这些负载均衡器的虚拟网络。

优化您的环境

优化是迁移的最后一个阶段。在此阶段,您将使环境比以前更高效,同时,您将对可重复的循环执行多次迭代,直到您的环境满足优化要求。这种可重复的循环步骤如下:

  1. 评估您的当前环境、团队和优化循环。
  2. 确定优化要求和目标。
  3. 优化您的环境和团队。
  4. 调整优化循环。

以下部分依赖于迁移到 Google Cloud:优化您的环境

评估您的当前环境、团队和优化循环

虽然首次评估侧重于从您的环境到 GKE 的迁移,但这里的评估则是针对优化阶段的。

确定优化要求

查看针对 GKE 环境的以下优化要求

  • 实施高级部署过程。诸如 Canary 版部署蓝绿部署之类的过程为您提供了更大的灵活性,并且可以提高环境的可靠性、扩展测试以及减少任何问题对用户的影响。
  • 配置服务网格。通过在环境中引入服务网格,您可以将可观测性、流量管理和双向身份验证等特性用于您的服务,并为 DevOps 团队减少压力。您可以部署多集群服务网格以更好地细分工作负载,或者部署扩展服务网格以支持迁移到新环境
  • 设置自动扩缩。您可以使用不同的补充选项来自动扩缩 GKE 环境。您可以自动扩缩集群以及每个集群内的工作负载。通过配置集群自动扩缩器,您可以根据工作负载的需求来自动调整 GKE 集群的大小,方法是:向集群添加工作器节点或者从集群移除工作器节点。如果要自动扩缩工作负载,您可以使用 Pod 纵向自动扩缩器调整 CPU内存消耗请求和限制。使用自动扩缩器时,您不必考虑为每个容器的 CPU 和内存请求指定的值。 您还可以根据大规模合理调整 GKE 工作负载的容量导出自动扩缩器提供的指标。
  • 使用抢占式虚拟机降低费用。如果您的某些工作负载能够容忍没有可用性保证的运行时环境,请考虑在由抢占式虚拟机组成的节点池中部署这些工作负载。抢占式虚拟机的价格低于标准 Compute Engine 虚拟机,因此您可以降低集群的费用。
  • 将 GKE 与其他产品集成。一些 Google Cloud 产品可以与 GKE 集成,以强化环境的安全性。例如,您可以分析容器中的漏洞或者在 Container Registry 中使用托管式基础映像
  • 将 GKE 集群设计为可换用。通过将集群视为可换用,并自动执行其预配和配置,您可以简化和泛化运维流程来对其进行维护,同时可简化未来的迁移和 GKE 集群升级。例如,如果您需要将可换用的 GKE 集群升级到新的 GKE 版本,则可以自动预配和配置升级后的新集群,并在新集群中自动部署工作负载,然后停用已过时的旧 GKE 集群。
  • 构建多集群环境。通过在 GKE 上实现多集群环境,您可以:

    • 降低在架构中引入单点故障的可能性。
    • 受益于对部分 GKE 集群测试配置更改的可能性的更大灵活性。
    • 将工作负载分布到 GKE 集群之间。

虽然您可以在 Kubernetes 环境中满足其中一些优化要求,但在 GKE 中更容易满足这些要求,因为您不必花费精力来保持集群运行。相反,您可以专注于优化本身。

完成优化

填充优化要求列表后,请完成优化阶段的其余活动

后续步骤