Kubernetes迁移方案概述

本文整体简单介绍下如何通过6个步骤,将自建Kubernetes集群平滑迁移到阿里云Kubernetes集群,并尽量确保迁移期间对业务无影响。

迁移方案

image

迁移步骤

  1. 阿里云Kubernetes集群资源配置。

    由运维人员完成阿里云Kubernetes集群创建及集群维度资源配置,降低开发人员应用迁移复杂度。具体操作,请参见创建Kubernetes托管版集群

    集群创建和配置过程中,以下配置项为必选。

    • 集群模板:建议您选择托管集群Pro版。该集群的控制面由容器服务托管,您只需创建并管理Worker节点,免控制面运维。您需要承担Worker节点的资源费用。

    • 操作系统:您可以根据需要选择操作系统。

      • 推荐您使用阿里云Kubernetes集群默认的操作系统,CentOS7.6或AliyunLinux 2.1903。

      • 若您对系统内核版本有要求,可使用自定义镜像。具体操作,请参见使用自定义镜像创建ACK集群

    • 专有网络:您需要设置VPC和交换机信息。

    • 配置 SNAT:您需要为专有网络配置SNAT。

    • 公网访问:您需要使用EIP暴露API Server。

    • 云监控插件:您需要在ECS节点上安装云监控插件。

    • 日志服务:您需要安装日志服务插件。

  2. 数据迁移。

    • 数据库迁移。

      1. 创建RDS数据库。

      2. 配置数据库白名单。

      3. 配置PrivateZone。

        通过PrivateZone可以将数据库域名解析到RDS域名,减少应用改造。

      4. 迁移MySQL数据。

        通过DTS迁移MySQL数据,支持全量、增量、双向同步。具体操作,请参见从自建MySQL迁移至RDS MySQL实例

    • 存储迁移。

      1. 开通OSS服务。

      2. 创建OSS存储空间(Bucket)。

      3. 迁移存储数据。

        使用ossimport工具把存储在服务器本地、第三方云存储(S3、Azure、腾讯COS等)中的数据批量迁移到OSS。详情请参见ossimport概述

    • 镜像迁移。

      1. 创建ACR容器镜像仓库。

      2. 设置镜像服务访问凭证。

      3. 迁移镜像数据。

        使用image-syncer快速将容器镜像批量迁移至ACR容器镜像仓库服务。具体操作,请参见通过image-syncer工具迁移容器镜像

  3. 应用配置迁移。

    由运维或者研发人员完成集群或者应用配置迁移。具体操作,请参见自建Kubernetes集群应用迁移至线上ACK集群

  4. 应用回归测试。

    在不影响线上流量情况下,由测试人员完成阿里云Kubernetes集群业务功能回归测试。

    1. 配置应用测试域名。

    2. 测试业务功能。

    3. 确认应用日志采集。

    4. 确认应用监控。

  5. 客户端流量切换。

    由运维人员做DNS切换,将流量切换至阿里云Kubernetes集群。

    1. DNS流量切换:调整DNS解析配置实现流量切换。

    2. 客户端流量切换:升级客户端代码或配置实现流量切换。

  6. 下线自建Kubernetes集群。

    由运维人员确认阿里云Kubernetes集群服务访问正常后,下线自建Kubernetes集群资源。

    1. 确认阿里云Kubernetes集群流量正常。

    2. 下线自建Kubernetes集群资源。

    3. 清理OSS Bucket中的备份文件。