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

迁移步骤
- 阿里云Kubernetes集群资源配置。
由运维人员完成阿里云Kubernetes集群创建及集群维度资源配置,降低开发人员应用迁移复杂度。详情请参见创建Kubernetes专有版集群。
集群创建和配置过程中,以下配置项为必选。
- 集群模版:您可以根据业务需要选择以下集群模板。
- 标准专有集群。
Kubernetes集群的Master和Worker由用户创建并管理,对集群享有完整的控制能力。您需要承担Master和Worker的资源费用。
- 标准托管集群。
Kubernetes集群的Master由容器服务托管,您只需创建并管理Worker,免Master运维。您需要承担Worker的资源费用。
- 标准专有集群。
- 操作系统:您可以根据需要选择操作系统。
- 推荐您使用阿里云Kubernetes集群默认的操作系统,CentOS7.6或AliyunLinux 2.1903。
- 若您对系统内核版本有要求,可使用自定义镜像,详情请参见使用自定义镜像创建ACK集群。
- 专有网络:您需要设置VPC和交换机信息。
- 配置 SNAT:您需要为专有网络配置SNAT。
- 公网访问:您需要使用EIP暴露API Server。
- 云监控插件:您需要在ECS节点上安装云监控插件。
- 日志服务:您需要安装日志服务插件。
- 集群模版:您可以根据业务需要选择以下集群模板。
- 数据迁移。
- 数据库迁移。
- 创建RDS数据库。
- 配置数据库白名单。
- 配置PrivateZone。
通过PrivateZone可以将数据库域名解析到RDS域名,减少应用改造。
- 迁移MySQL数据。
通过DTS迁移MySQL数据,支持全量、增量、双向同步。详情请参见从自建MySQL迁移至RDS MySQL。
- 存储迁移。
- 开通OSS服务。
- 创建OSS存储空间(Bucket)。
- 迁移存储数据。
使用ossimport工具把存储在服务器本地、第三方云存储(S3、Azure、腾讯COS等)中的数据批量迁移到OSS。详情请参见说明及配置。
- 镜像迁移。
- 创建ACR容器镜像仓库。
- 设置镜像服务访问凭证。
- 迁移镜像数据。
使用image-syncer快速将容器镜像批量迁移至ACR容器镜像仓库服务。详情请参见通过image-syncer工具迁移容器镜像。
- 数据库迁移。
- 应用配置迁移。
由运维或者研发人员基于velero工具完成集群或者应用配置迁移。详情请参见Kubernetes应用迁移。
- 准备迁移环境。
- 安装Velero客户端。
- 创建OSS Bucket。
- 创建RAM账号并生成AccessKey。
- 部署Velero服务端。
- 在自建Kubernetes集群备份应用。
- 无PV数据的应用备份。
- 有PV数据的应用备份。
- 在阿里云Kubernetes集群恢复应用。
- 创建StorageClass。
- 恢复应用。
- 更新应用配置。
- 更新镜像地址。
- 优化服务暴露方式。
- 适配存储盘挂载方式。
- 调试并启动应用。
- 准备迁移环境。
- 应用回归测试。
在不影响线上流量情况下,由测试人员完成阿里云Kubernetes集群业务功能回归测试。
- 配置应用测试域名。
- 测试业务功能。
- 确认应用日志采集。
- 确认应用监控。
- 客户端流量切换。
由运维人员做DNS切换,将流量切换至阿里云Kubernetes集群。
- DNS流量切换:调整DNS解析配置实现流量切换。
- 客户端流量切换:升级客户端代码或配置实现流量切换。
- 下线自建Kubernetes集群。
由运维人员确认阿里云Kubernetes集群服务访问正常后,下线自建Kubernetes集群资源。
- 确认阿里云Kubernetes集群流量正常。
- 下线自建Kubernetes集群资源。
- 清理OSS Bucket中的备份文件。