迁移方案概述
本文整体简单介绍下如何通过7个步骤,将容器服务 Swarm 集群平滑迁移到 Kubernetes 集群,并尽量确保迁移期间对业务无影响。
迁移方案
迁移步骤
- 标准化Swarm集群由运维同学对已有 Swarm 集群做少量运维操作,降低后续 Kubernetes 集群迁移成本和风险
- 客户端统一通过SLB访问集群应用,保证后续SLB灰度引流实时生效
- 如果通过SLB 访问应用,能够快速引流验证或出问题时能实时回滚(SLB控制台变更实时生效)
- 如果不通过SLB而通过其他方式访问应用,则通过客户端发布或 DNS 回滚(时间区间为:0~48h)无法实时生效,导致对业务产生影响
- 统一部署云监控,方便后续监控各ECS运行情况,保证灰度引流生效
- 客户端统一通过SLB访问集群应用,保证后续SLB灰度引流实时生效
- 迁移 Swarm 集群配置
由运维同学完成 Kubernetes 集群创建及集群维度资源配置,降低开发人员应用迁移复杂度
- 集群机器资源及网络迁移
- Node 标签迁移
- VPC 网络互联互通验证
- 数据卷迁移
- 配置项迁移
- 迁移应用配置
由研发同学基于kompose转换工具完成应用配置迁移
- 准备迁移环境
- 预处理 Swarm 编排文件
- 转换 Swarm 编排文件
- 部署 Kubernetes 资源文件
- 手动迁移应用配置
- 应用启动调试
- 迁移应用日志配置
- 应用回归测试
应用在不影响线上流量情况下,由测试人员完成新集群业务功能回归测试
- 配置应用测试域名
- 测试业务功能
- 确认应用日志采集
- 确认应用监控
- SLB灰度引流
由运维同学逐步线上引流灰度验证,有问题能够快速回滚
- 配置NodePort引流
- 灰度引流快速回滚
- 客户端流量切换
由运维人员做客户端或DNS切换,将流量切换至新集群
- DNS流量切换:调整DNS解析配置实现流量切换
- 客户端流量切换:升级客户端代码或配置实现流量切换
- 下线Swarm集群
由运维人员确认新集群服务访问正常,下线老Swarm集群资源
- 确认Swarm集群流量
- 下线Swarm集群资源
发布者:佚, 佚名,转转请注明出处:https://www.cms2.cn/aliyun/csk/5082.html