BpFile(id=226, bpId=27, name=容器Swarm集群向ACK集群灰度迁移, author=null, keyword=Swarm,灰度迁移, description=阿里云上的容器Swarm集群向ACK集群灰度迁移, position=null, ossUrl=bp-8KQFAZXXL671W1Z3.pdf, tags=null, level=null, tagList=null, products=null, productList=null, hotspot=null, oneClick=0, createTime=null, modifiedTime=null, timeConsuming=null, status=1, pdfDescription=场景描述
随着K8S生态的完善,越来越多的客户需要从
Swarm集群迁移向ACK集群
解决问题
1.迁移过程中维持业务的延续性
2.迁移过程业务高可用
3.迁移过程可灰度
4.迁移过程可回滚
5.迁移进度可把控
产品列表
⚫专有网络VPC
⚫云数据库RDSMySQL
⚫容器服务ACK
⚫云服务器ECS, templateId=null, freetry=null, visitTime=null, visitCount=null, video_url=null, buttonName=null, buttonUrl=null, targetId=null, partner=null, partnerUrl=null, partnerLogo=null, cooperation=null, cooperationList=null)
1
容器 Swarm集群向 ACK集群灰度迁移 最佳实践
部署架构图
场景描述
方案说明:
随着 K8S生态的完善,越来越多的客户需要从
1、容器集群部署,左侧 Swarm集群,右侧 K8s集群
Swarm集群迁移向 ACK集群
2、SLB做应用高可用和应用扩展
3、DNS结合全局流量控制,权重和后端健康检查
解决问题
1.迁移过程中维持业务的延续性
2.迁移过程业务高可用
3.迁移过程可灰度
4.迁移过程可回滚
5.迁移进度可把控
产品列表
⚫ 专有网络 VPC
⚫ 云数据库 RDS MySQL
⚫ 容器服务 ACK
⚫ 云服务器 ECS
文档版本:V1.0
发布日期:20190401
2云服务器 ECS(产品名称) 文档模板(手册名称)/文档版本信息
阿里云
容器 Swarm集群
向ACK集群灰度迁移
最佳实践
文档版本:20150122(发布日期) II
3容器 Swarm集群向 ACK集群灰度迁移最佳实践 文档版本信息
文档版本信息
文本信息
属性 内容
文档名称 容器 Swarm集群向 ACK集群灰度迁移最佳实践
027
文档编号
V1.0
文档版本
2019-04-01
版本日期
文档状态 对外发布
负责人 明中
文档变更记录
版本编号 日期 作者 审核人 说明
V1.0 2019-04-01
行夜 敬海 创建
V1.1 2020-01-20
明中 概览页刷新,缺失场
景和架构图补充
文档版本:20190401 I
4容器 Swarm集群向 ACK集群灰度迁移最佳实践 前言
前言
概述
本文重点介绍阿里云容器 Swarm集群向 K8s集群灰度迁移方案。
名词解释
⚫ VPC:专有网络(Virtual Private Cloud),是用户基于阿里云创建的自定义私有网络, 不同
的专有网络之间二层逻辑隔离,用户可以在自己创建的专有网络内创建和管理云产品实例,
比如 ECS、负载均衡、RDS等。
⚫ 容器服务:容器服务(Container Service)提供了高性能可伸缩的容器应用管理服务,支
持在一组云服务器上通过 Docker 容器来进行应用生命周期管理。容器服务极大地简化了
用户对容器管理集群的搭建工作,无缝整合了阿里云虚拟化、存储、网络和安全能力,打
造 Docker 云端最优化的运行环境。容器服务提供了多种应用发布方式和流水线般的持续
交付能力,原生支持微服务架构,助力用户无缝上云和跨云管理。
⚫ 容器服务 Kubernetes版:容器服务 Kubernetes版(Container Service for Kubernetes)
提供高性能可伸缩的容器应用管理服务,支持企业级 Kubernetes容器化应用的生命周期
管理。
⚫ 容器镜像服务:容器镜像服务(Container Registry)提供安全的应用镜像托管能力,精确
的镜像安全扫描功能,稳定的国内外镜像构建服务,便捷的镜像授权功能,方便用户进行
镜像全生命周期管理。容器镜像服务简化了 Registry的搭建运维工作,支持多地域的镜像
托管,并联合容器服务等云产品,打造云上使用 Docker的一体化体验。
⚫ RDS:阿里云关系型数据库(Relational Database Service,简称 RDS)是一种稳定可靠、
可弹性伸缩的在线数据库服务。基于阿里云分布式文件系统和 SSD盘高性能存储,RDS
支持 MySQL、SQL Server、PostgreSQL、PPAS(Postgre Plus Advanced Server,高度
兼容 Oracle数据库)和 MariaDB引擎,并且提供了容灾、备份、恢复、监控、迁移等方
面的全套解决方案,彻底解决数据库运维的烦恼。
文档版本:20190401 III
5容器 Swarm集群向 ACK集群灰度迁移最佳实践 目录
目录
文档版本信息 .............................................................................................................................................................. I
法律声明 ..................................................................................................................................................................... II
前言 ............................................................................................................................................................................ III
目录 ............................................................................................................................................................................ IV
最佳实践概述 ............................................................................................................................................................. 1
前置条件 ..................................................................................................................................................................... 3
资源规划 ..................................................................................................................................................................... 4
1. 创建VPC基础网络环境 ..................................................................................................................................... 5
2. 创建NAT网关及SNAT规则 .............................................................................................................................. 7
3. 创建容器镜像仓库 ........................................................................................................................................... 10
4. 创建数据库 ....................................................................................................................................................... 12
5. 创建Kubernetes集群 ....................................................................................................................................... 15
6. 创建自定义镜像 ............................................................................................................................................... 18
6.1. 获取原始镜像并上传镜像仓库........................................................................................................ 18
6.2. 创建magento应用 ........................................................................................................................... 21
6.3. 配置magento .................................................................................................................................... 24
6.4. 创建自定义镜像并上传镜像仓库.................................................................................................... 27
6.5. 回收制作自定义镜像的资源 ........................................................................................................... 29
7. 创建Swarm集群和部署应用 .......................................................................................................................... 31
7.1. 创建Swarm集群 .............................................................................................................................. 31
7.2. 创建magento应用 ........................................................................................................................... 32
7.3. 域名解析到容器服务集群 ............................................................................................................... 34
8. Kubernetes集群创建应用 ................................................................................................................................ 37
9. DNS全局流量管理 ........................................................................................................................................... 40
10. End ..................................................................................................................................................................... 44
常用API ..................................................................................................................................................................... 45
文档版本:20190401 IV
6容器 Swarm集群向 ACK集群灰度迁移最佳实践 前置条件
最佳实践概述
应用场景
随着 K8S生态的完善,越来越多的客户需要从 Swarm集群迁移向 ACK集群
迁移中需要解决如下问题:
1.迁移过程中维持业务的延续性
2.迁移过程业务高可用
3.迁移过程可灰度
4.迁移过程可回滚
5.迁移进度可把控
技术架构
本实践基于如下图所示技术架构和主要流程
方案说明:
1、容器集群部署,左侧 Swarm集群,右侧 K8s集群
2、SLB做应用高可用和应用扩展
3、DNS结合全局流量控制,权重和后端健康检查
文档版本:20190401 1
7容器 Swarm集群向 ACK集群灰度迁移最佳实践 前置条件
文档版本:20190401 2
8容器 Swarm集群向 ACK集群灰度迁移最佳实践 前置条件
前置条件
在进行本实践前,您需要完成以下准备工作:
⚫ 已有阿里云账号,现金账号余额不得少于 100元。
⚫ 持有域名,已通过 ICP备案。
⚫ 全局流量管理公测,需要通过企业客户认证,登录用户中心进行企业客户认证。
文档版本:20190401 3