您到 GKE 的迁移之旅

本主题介绍在将工作负载迁移到 GKE 时应遵循的建议步骤顺序。

概括来讲,您需要经历发现和评估阶段,在此过程中确定自己的工作负载、它们之间的依赖关系以及这些工作负载是否可以迁移到云端。

接下来,您将进入迁移规划阶段,此阶段需要将工作负载团队拆分为相关的工作负载组(根据评估结果),然后确定要迁移的组的顺序。

此外,您还要确定哪些工作负载应迁移到 GKE,以及哪些工作负载不适合 GKE,但可以通过 Migrate for Compute Engine 迁移到 Compute Engine。请注意,您可能会选择将工作负载迁移挑战划分为两个不同的阶段,对于适合 GKE 的工作负载也是如此:

  1. 使用 Migrate for Compute Engine 将工作负载迁移到 Compute Engine。
  2. 使用 Migrate for Anthos 从 Compute Engine 迁移到 GKE。

例如,如果您要进行数据中心迁移并将所有工作负载迁移到 Compute Engine,并且仅在第二阶段有选择地将合适的工作负载迁移到 GKE,则此方法有效。如上图所示,在为特定工作负载选择所需路径后,您必须完成着陆区设置迁移,然后发布迁移优化阶段。

使用 Migrate for Anthos 迁移到虚拟机或容器的步骤。

发现

通过了解您的应用及其依赖项来收集迁移所需的信息。这包括一份清单:

  • 您要迁移其工作负载的虚拟机。
  • 应用所需的网络端口和连接
  • 跨应用层级的依赖项
  • 服务名称解析或 DNS 配置

角色

  • IT 分析师,了解应用的拓扑和迁移知识。

迁移规划

将应用划分为多个批次,并将在发现步骤中收集的信息转换为 Kubernetes 模型。您的应用环境,拓扑,命名空间和策略集中存储在 Kubernetes YAML 配置文件中。有可用的示例 YAML 文件

角色

  • 应用迁移工程师或分析人员。该用户需要新手级别的 Kubernetes 托管对象模型,GKE 部署和 YAML 文件方面的知识。

着陆区设置

在此步骤中,您将:

  • 创建或标识要托管迁移工作负载的 GKE 集群。
  • 为应用程序创建 VPC 网络规则和 Kubernetes 网络政策
  • 应用 Kubernetes 服务定义
  • 选择负载平衡选项。
  • 配置 DNS。

角色

  • GKE 集群管理员,熟悉集群部署,Google Cloud 网络,防火墙规则,Cloud Identity and Access Management 服务帐号和角色,以及从 Google Cloud Marketplace 发布部署。

迁移到 GKE 并验证

在 GKE 集群,VPC 网络和 Migrate for Anthos 组件准备好处理工作负载后,您可以为要迁移的每个来源虚拟机启动 Migrate for Anthos 迁移工作流。请务必按照相关准则评估来源工作负载和操作系统与 Migrate for Anthos 的兼容性。迁移工作流程如下图所示:

介绍设置和迁移步骤的示意图。

迁移工作流包含以下五步:

  1. 生成并查看迁移计划—使用适用于 Linux 工作负载的 Migrate for Anthos migctl CLI 或 Windows 工作负载的迁移脚本来生成迁移计划,然后根据关键的利益相关者(例如应用所有者、安全管理员、存储管理员等)的意见更新计划。
  2. 生成工件 — 使用迁移计划作为 CLI 的输入,以处理来源虚拟机并生成相关工件:
    • 对于 Linux 工作负载(容器映像、Dockerfile、引用部署 YAML)以及数据卷(如果为有状态工作负载指定)。
    • 对于 Windows 工作负载 — 在 ZIP 归档文件中提取了应用文件和一个 Dockerfile。注意:您需要用 Dockerfile 构建容器映像并提取内容,然后才能继续下一步。
  3. 测试 — 在选择的测试暂存或生产集群中继续部署工作负载以进行端到端应用级验证之前,您可能需要验证提取的容器映像和数据量(如果适用)在容器中执行时正确运行。您可以在处理集群上运行“健全性测试”,确定迁移计划所需的任何问题或修改,然后重复第 2 步并再次测试。
  4. 数据同步—在迁移有状态工作负载(仅限 Linux)且工作负载在来源运行时继续累积新数据和状态时,您可能需要迭代一个或多个数据同步周期然后再与来源进行最终数据同步。这样可以减少因停机而导致的最终切断。每次执行数据同步时,系统只会传输自上次数据同步周期以来更改的数据。
  5. 部署或集成 CI/CD—在容器工件现已准备就绪且已验证的情况下,您可以继续在测试、预演或生产集群中进行部署。或者,您也可以使用工件,通过 Cloud Build 等编排工具与构建和部署部署流水线进行集成。

角色

  • 对于工作负载迁移:
    • 应用所有者,或应用迁移分析师,具备 Kubernetes 托管对象模型,GKE 部署和 YAML 编辑方面的新手知识。
  • 可选:要将数据存储迁移到 GCP 永久性磁盘以外的永久性卷,请执行以下操作:
    • 存储空间管理员GKE 管理员,熟悉 GKE 上的 Kubernetes 永久性卷管理。

运营和优化

您现在可以利用 Anthos 和更大的 Kubernetes 生态系统提供的工具。在此步骤中,您可以添加访问政策、使用 Istio 的加密和身份验证、使用 Cloud Logging 和 Cloud Monitoring 进行监控和日志记录,只需更改配置即可,无需重新构建应用。您还可以使用 Cloud Build 等工具与 CI/CD 流水线集成,以实现 2 日维护程序,例如软件包和版本更新