BpFile(id=303, bpId=177, name=自建K8S迁移镜像、应用至阿里云ACK最佳实践, author=null, keyword=K8S迁移镜像、应用, description=云原生技术K8S以其易管控,自动化操作,自修复等特点充分满足了企业的需求,越来越多的企业都加入容器化这个队伍中。但随着技术的更新迭代,自建的K8S相关的容器镜像服务、集群管理、稳定性保障也让企业IT人员感觉到压力,所以上云成了一些企业的选择,将底层的IAAS基础设施和K8S的基础PASS能力交给阿里云来管理,企业本身抽出更多精力聚焦业务的创新。针对以上需求通过使用image-syncer、velero来介绍如何平滑、便捷的迁移自建的K8S镜像和应用至阿里云容器镜像服务和ACK。, position=null, ossUrl=bp-4O91NQ1DKHSOOG1W.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以其易管控,自动化操作,自修复等特点充分满足了企业的需求,越来越多的企业都加入容器化这个队伍中。但随着技术的更新迭代,自建的K8S相关的容器镜像服务、集群管理、稳定性保障也让企业IT人员感觉到压力,所以上云成了一些企业的选择,将底层的IAAS基础设施和K8S的基础PASS能力交给阿里云来管理,企业本身抽出更多精力聚焦业务的创新。针对以上需求通过使用image-syncer、velero来介绍如何平滑、便捷的迁移自建的K8S镜像和应用至阿里云容器镜像服务和ACK。
针对以上需求场景通过使用image-syncer、velero来介绍如何平滑、便捷的迁移自建的K8S镜像和应用至阿里云容器镜像服务和ACK;本文通过使用河源的ECS自建K8S集群和Harbor镜像仓库来模拟IDC环境, templateId=null, freetry=, visitTime=null, visitCount=null, video_url=null, buttonName=null, buttonUrl=null, targetId=null, partner=null, partnerUrl=null, partnerLogo=null, cooperation=null, cooperationList=null)
1
阿里云
企业上云实践
自建 K8S迁移镜像、应用至 ACK
最佳实践
2自建 K8S迁移镜像、应用至阿里云 ACK 文档版本信息
文档版本信息
文本信息
属性 内容
文档名称 自建 K8S镜像、应用迁移阿里云 ACK
文档编号 177
文档版本 V1.0
版本日期 2020-05-25
文档状态 内部发布
制作人 吉运
审阅人 川知/明誉
文档变更记录
版本编号 日期 作者 审核人 说明
V1.0 2020-10-28 吉运 川知 创建文档
V1.1 2020-11-26 川知 明誉 添加 harbor同步功
能
文档版本:20200525 I
3自建 K8S迁移镜像、应用至阿里云 ACK 前言
前言
概述
随着技术的逐步发展,企业的应用越来越复杂,如何高效的保障好系统且又能提升基
础资源的利用率是企业一直在追求的方向。云原生技术 K8S以其易管控,自动化操
作,自修复等特点充分满足了企业的需求,越来越多的企业都加入容器化这个队伍中。
但随着技术的更新迭代,自建的 K8S相关的容器镜像服务、集群管理、稳定性保障
也让企业 IT人员感觉到压力,所以上云成了一些企业的选择,将底层的 IAAS基础
设施和 K8S的基础 PASS能力交给阿里云来管理,企业本身抽出更多精力聚焦业务
的创新。
针对以上需求通过使用 image-syncer、velero来介绍如何平滑、便捷的迁移自建的
K8S镜像和应用至阿里云容器镜像服务和 ACK;本文通过使用河源的 ECS自建 K8S
集群和 Harbor镜像仓库来模拟 IDC环境,具体环境信息见下文细节。
应用范围
通过 image-syncer同步自建 harbor镜像仓库的镜像至阿里云 ACR。
通过 image-syncer同步 Docker Registry V2的镜像至阿里云 ACR。
通过 velero进行将自建 K8S的应用(带/不带 PV)迁移至阿里云 ACK
通过 velero镜像日常测试环境的快速搭建、应用备份;
名词解释
容器服务 ACK:提供高性能可伸缩的容器应用管理能力,支持企业级 Kubernetes
容器化应用的全生命周期管理。容器服务 Kubernetes 版简化集群的搭建和扩容
等工作,整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳的 Kubernetes
容器化应用运行环境。详见:https://www.aliyun.com/product/kubernetes
容器镜像服务 ACR:Alibaba Cloud Container Registry,默认实例版提供基础的
容器镜像服务,包括安全的应用镜像托管能力、精确的镜像安全扫描功能、稳定
的国内外镜像构建服务以及便捷的镜像授权功能,从而方便用户进行镜像全生命
周期管理。详见:https://www.aliyun.com/product/acr
文档版本:20200525 II
4自建 K8S迁移镜像、应用至阿里云 ACK 目录
云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您
降低 IT 成本,提升运维效率,使您更专注于核心业务创新。详见:
https://www.aliyun.com/product/ecs
专有网络 VPC:Virtual Private Cloud,简称 VPC,是基于阿里云创建的自定义
私有网络,不同的专有网络之间二层逻辑隔离。您可以在自己创建的专有网络内
创建和管理云产品实例,比如 ECS、负载均衡、RDS等。在部署云资源前,您
需要结合具体业务,规划 VPC 和交换机的数量及网段等。详见:
https://www.aliyun.com/product/vpc
NAT网关:NAT Gateway,是一款企业级的 VPC 公网网关,提供 NAT 代理
(SNAT、DNAT)、10Gbps 级别的转发能力、以及跨可用区的容灾能力。NAT
网关与共享带宽包配合使用,可以组合成为高性能、配置灵活的企业级网关。详
见:https://www.aliyun.com/product/nat
弹性公网 IP(Elastic IP Address):是可以独立购买和持有的公网 IP地址资源。
目前, EIP可绑定到专有网络类型的 ECS实例、专有网络类型的私网 SLB实例、
专有网络类型的辅助弹性网卡、 NAT 网关和高可用虚拟 IP 上。详见:
https://www.aliyun.com/product/eip
负载均衡 SLB:对多台云服务器进行流量分发的负载均衡服务,可以通过流量分
发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。详
见:https://www.aliyun.com/product/slb
访问控制 RAM:是阿里云提供的管理用户身份与资源访问权限的服务。详见:
https://www.aliyun.com/product/ram
文档版本:20200525 III
5自建 K8S迁移镜像、应用至阿里云 ACK 目录
目录
文档版本信息 .............................................................................................................................................................. I
法律声明 ...................................................................................................................................................................... I
前言 ............................................................................................................................................................................. II
目录 ............................................................................................................................................................................ IV
最佳实践概述 ............................................................................................................................................................. 1
前置条件 ..................................................................................................................................................................... 2
测试资源准备 ..................................................................................................................................................... 3
1.1. 资源规划列表 ..................................................................................................................................... 3
1.2. 基础资源创建 ..................................................................................................................................... 4
自建 Harbor迁移至 ACR默认实例版 ............................................................................................................ 10
2.1. 容器镜像服务开通&配置 ................................................................................................................. 10
2.2. 准备测试镜像至 Harbor ................................................................................................................... 12
2.3. 安装&配置 image_syncer ................................................................................................................. 13
2.4. 启动 image_syncer同步镜像 ........................................................................................................... 15
2.5. 检查上传至云上 ACR的结果 ........................................................................................................... 17
自建 Harbor迁移至 ACR企业版 .................................................................................................................... 22
3.1. 企业版实例创建&配置 ..................................................................................................................... 22
3.2. 准备测试镜像至 Harbor ................................................................................................................... 27
3.3. 安装&配置 image_syncer ................................................................................................................. 28
3.4. 启动 image_syncer同步镜像 ........................................................................................................... 29
3.5. 检查上传至云上 ACR的结果 ........................................................................................................... 32
自建 Registry上的镜像迁移至阿里云 ACR ..................................................................................................... 34
4.1. 上传测试镜像 ................................................................................................................................... 34
4.2. 使用 image_syncer进行镜像迁移 ................................................................................................... 34
4.3. 使用 SHELL脚本进行镜像迁移 ........................................................................................................ 37
4.4. 安装配置 Registry ............................................................................................................................. 40
使用 velero迁移自建 K8S应用至阿里云 ACK ................................................................................................ 41
5.1. 创建 RAM账号并授权 ...................................................................................................................... 41
5.2. 自建 K8S集群安装配置 velero ........................................................................................................ 44
5.3. 自建 K8S备份应用至 OSS ................................................................................................................ 46
5.4. 创建阿里云 ACK集群 ....................................................................................................................... 47
5.5. 阿里云 ACK安装配置 velero ............................................................................................................ 50
5.6. 阿里云 ACK恢复应用 ....................................................................................................................... 51
文档版本:20200525 IV
6自建 K8S迁移镜像、应用至阿里云 ACK 最佳实践概述
最佳实践概述
场景描述
本最佳实践构建以下场景:
以河源 ECS构建 Harbor仓库,模拟 IDC的镜像仓库服务。
以河源 ECS构建 Registry仓库,模拟 IDC的镜像仓库服务。
以河源地域模的 ECS搭建 K8S集群,模拟线下 IDC的 K8S环境。
使用 velero对云上的 K8S应用进行定期备份,并存至 OSS上,确保应用数据不
丢失。
示例应用场景
自建 harbor镜像仓库,将镜像迁移到阿里云容器镜像服务 OCR(含企业版)。
自建 Registry镜像仓库,将镜像迁移到阿里云容器服务 OCR(含企业版)。
自建&IDC的 K8S业务,通过 velero将应用迁移至阿里云容器服务 ACK。
通过 velero将 K8S(云上&云下均可)应用备份至 OSS,确保配置数据同城&异
地容灾。
方案架构
1
文档版本:20200525
7自建 K8S迁移镜像、应用至阿里云 ACK 前置条件
前置条件
在进行本文操作前,您需要完成以下准备:
注册阿里云账号,并完成实名认证。您可以登录阿里云控制台,并前往实名认证
页面(https://account.console.aliyun.com/v2/#/authc/home)查看是否已经完成
实名认证。
阿里云账户余额大于 100 元。您可以登录阿里云控制台,并前往账户总览页面
(https://expense.console.aliyun.com/#/account/home)查看账户余额。
开通如下服务:
对象存储 OSS
云架构设计工具 CADT
容器服务 Kubernetes 版 ACK
容器镜像服务 ACR
2
文档版本:20200525
8
自建 K8S迁移镜像、应用至阿里云 ACK
测试资源准备
背景信息
在本章中,将以阿里云河源地域模拟线下 IDC,使用云架构设计工具 CADT快速创建
IDC的 K8S集群所需的基础资源。
1.1. 资源规划列表
资源列表
类别 配置项 说明
河源 VPC IPv4网段 推荐网段
192.168.0.0/16
河源交换 可用区 河源 可用区 A
机
IPv4网段 192.168.12.0/24
河源 ECS 系统镜像 centos_7.6
实例规格 ecs.c6.2xlarge
实例数量 1
公网带宽 按量计费 100M
用途 K8s-master
河源 ECS 系统镜像 centos_7.6
实例规格 ecs.c6.2xlarge
实例数量 2
公网带宽 按量计费 100M
用途 K8s-worker
河源 ECS 系统镜像 centos_7.6
实例规格 ecs.c6.2xlarge
实例数量 2
公网带宽 按量计费 100M
用途 镜像仓库搭建(harbor,registry)
EIP ECS 为方便测试操作,在 K8S-master绑定一个 EIP
3
文档版本:20200525