云端迁移:备份中心助力企业跨云迁移K8s容器服务平台

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 本文将简要介绍阿里云容器服务ACK的备份中心,并以某科技公司在其实际的迁移过程中遇到具体挑战为例,阐述如何有效地利用备份中心来助力企业的容器服务平台迁移项目。

【阅读原文】戳:云端迁移:备份中心助力企业跨云迁移K8s容器服务平台

企业跨云(或从云下数据中心上云)迁移容器服务平台时,面临的挑战是多方面的。这包括但不限于数据安全、服务中断风险、平台兼容性、迁移复杂度等。对于拥有复杂微服务架构和大量数据的应用系统来说,容器服务平台的迁移需要繁重复杂的操作,一个不慎就可能导致业务中断或是数据丢失。

 

本文将简要介绍阿里云容器服务ACK的备份中心,并以某科技公司在其实际的迁移过程中遇到具体挑战为例,阐述如何有效地利用备份中心来助力企业的容器服务平台迁移项目。

 

 

 

 

ACK备份中心简介

 

 

 

针对K8s集群中运行的业务,ACK推出备份中心一站式容器化业务灾备及迁移方案。

 

备份中心概述:

https://help.aliyun.com/zh/ack/ack-managed-and-ack-dedicated/user-guide/backup-center-overview?spm=a2c4g.11186623.0.i5

 

对于灾备场景:集群的运维人员可以在控制台一键为业务创建周期性的备份计划或单次的应用备份。与ETCD备份相比,备份中心支持命名空间、标签、资源类型等维度,选择需要备份的应用;对于有状态应用,支持同时备份业务挂载的存储卷数据。而对于有完善gitops流程的企业,也可以通过备份中心的数据保护功能做仅针对存储卷数据的灾备。

 

对于容器服务平台迁移场景:在混合云场景下,通过备份中心可轻松备份集群中选定的资源与存储卷数据至阿里云云端,并在目标ACK集群中恢复该备份,实现应用无缝迁移。备份中心提供了直观的用户界面,同时提升了可观测性,方便确认具体的资源备份清单,以及实时数据备份的具体进度。

 

具体来说,集群的运维人员可以通过以下简单流程,备份原平台中的业务并恢复至ACK:

 

创建ACK One注册集群,将需要迁移的其他云厂商或云下K8s集群接入到注册集群。

(若业务涉及的数据量较大,建议打通云企业网)

 

接入后的K8s集群享有ACK的大部分能力,在注册集群中部署备份中心组件。

 

在注册集群中备份需要迁移的业务至指定备份仓库,若业务为有状态应用,可同时备份存储卷内数据。

 

创建(或使用已有的)目标ACK集群并确保已有足够的计算资源,部署备份中心组件。

 

在目标ACK集群中初始化备份仓库,等待备份记录同步后,恢复业务。

 

ACK One注册集群概述:

https://help.aliyun.com/zh/ack/overview-9?spm=a2c4g.11186623.0.0.1c416218Ugyqe5

 

 

 

 

 

跨云迁移的具体挑战与备份中心解决方案

 

 

 

某科技公司需将一个提供对外服务的业务集群,以及一个内部使用的集群中的全部应用及挂载的存储卷数据均迁移至阿里云。下文将从业务涉及的集群资源存储卷数据两部分分别阐述迁移碰到的难点,以及备份中心对应提供的解决方案。

 

 

 

- 集群资源的跨集群迁移 -

 

精细化备份策略需求

 

 

挑战:一方面,原K8s集群运行多年,部分资源无法明确用途或通过当前CI工具重新部署,迁移时需要保证这些资源得到全量恢复以确保业务的连续性。另一方面,由于部分自建数据库需迁移至阿里云的中间件,备份策略需要精细化调整,排除不需要的应用及相关数据,减少不必要的数据传输量、提升迁移效率。

 

解决方案:此需求可抽象为:在全量备份排除部分应用及对应存储卷数据,此外由于跨集群迁移是集群的系统组件及运行环境发生变化,同时还应排除kube-system等系统资源。可通过排除命名空间、通过注释声明无需备份的存储卷等功能反选备份内容实现。

 

类似地,只需要迁移部分应用及涉及资源时,也可以通过命名空间、打标等方式灵活筛选备份内容。备份中心支持自适应调整备份内容,如备份Ingress时自动备份IngressClass、备份CR时自动备份CRD。

 

完成备份后,可在控制台查询实际备份的所有集群资源与存储声明列表,确认无遗漏。

 

 

 

容器服务平台系统组件及底层云资源的兼容问题

 

 

挑战:不同云厂商提供的系统组件及对应的配置方式或多或少都有差异,这导致该企业无法简单地复制原有配置文件或直接利用现有的CI工具进行迁移,需要对相关资源进行适配。本案例中需要适配的内容有:

 

网络相关:云厂商提供的负载均衡服务存在差异,且要求用户使用指定的注释配置集群中的Service及Ingress资源,这些注释在跨云时需要重新配置。

 

存储相关:云厂商提供的存储介质虽然类似,但集群的CSI存储插件驱动不同,需要变更PVC、PV等资源配置。

 

镜像仓库地址:迁移业务至ACK之前,大部分企业会选择迁移镜像至阿里云容器镜像服务ACR中,Deployment、Statefulset、Job等应用资源的镜像相关字段都需要修改镜像仓库地址。

 

解决方案:备份中心支持恢复前的资源调整,对于简单调整可直接通过控制台选项实现,对于复杂调整可在恢复前通过ConfigMap配置灵活调整。对于以上提及的适配内容,可通过以下功能解决:

 

网络相关:支持通过Configmap覆盖注释,并默认自动保留端口。

 

存储相关:对主流云厂商,自动屏蔽CSI存储插件间实现的差异,自动转换为ACK CSI的默认存储类并生成新PVC、PV的资源描述文件(如YAML文件)。若有特殊的存储类转换需求,也可在控制台选择每个PVC恢复时使用的新存储类。

 

镜像仓库地址:通过填写映射,自动转换命中的镜像仓库地址。

 

 

 

低版本K8s集群业务向高版本迁移

 

 

挑战:该企业存在将旧版集群升级至新版本的需求,不同版本的集群在API资源定义和行为上可能存在不兼容的变更,迁移过程中需要对现有YAML文件进行调整,以确保它们在新版本集群中能够正常工作。

 

解决方案:备份中心支持1.16及以上的K8s集群资源无缝迁移至最新版本,无需任何额外的配置或操作。具体的实现方式为:

 

备份时,默认备份资源在集群中所有支持的apiVersion版本。如在1.16版本集群中备份Deployment时,将备份extensions/v1beta1、apps/v1beta1、apps/v1beta2以及apps/v1四个版本。

 

恢复时,资源将优先按照恢复集群版本推荐的apiVersion进行恢复。如在1.16版本集群备份的Deployment在1.31集群中将恢复为apps/v1版本,自动实现版本转换。

 

对于无兼容版本的资源,如1.16集群中的extensions.ingress资源,支持按K8s配置默认升级至最新版本,也支持跳过恢复由运维人员手动创建。

 

 

 

- 存储卷数据的跨云迁移 -

 

数据上云流程复杂

 

 

挑战:该企业需要将数据从原厂商云盘转移至到阿里云云盘,这个过程不仅技术上具有挑战性,多阶段的数据流转也大大增加了迁移的复杂度和操作的繁琐性,也可能导致更长的服务中断,从而影响客户体验和服务质量。

 

解决方案:在混合云场景中,备份时,备份中心底层使用阿里云云备份服务将存储卷中数据存放在云端。支持其他云厂商的块存储、对象存储和文件系统存储,也支持Ceph、nfs等主流自建存储。

 

恢复时,根据原存储的类型,自适应选择默认的ACK CSI存储类恢复至对应的阿里云云盘、OSS和NAS中,也支持以指定的存储类恢复,实现存储介质的转换。

 

 

 

为保证数据一致性备份停机时间长

 

 

挑战:由于存储数据的实时动态性,通常需要在迁移期间暂停服务以防止新的数据写入,避免迁移完成后出现数据丢失或不匹配的情况,这种停机操作对业务的连续性也构成挑战。

 

解决方案:云备份服务为增量备份,可提前在业务低峰时期对存储卷数据进行备份,大幅降低停机时的实际备份量;此外云备份服务在备份时还会对数据进行压缩、去重,有效提升备份的效率。

 

 

 

加密与安全传输

 

 

挑战:跨云迁移时需要考虑数据在迁移过程中的加密方案,保证敏感信息的数据安全。

 

解决方案:云备份服务通过数据本地加密,确保数据传输及在云端存储的安全性。此外还可为备份仓库管理的OSS Bucket开启服务端加密。

 

 

 

 

容器服务平台迁移总结

 

 

 

为确保应用迁移的完整性,备份覆盖CI集群与生产集群中所有CRD等资源,并按需求排除了需要切换至中间件的应用与存储卷数据。备份中心支持自动的API兼容与灵活的资源调整,帮助该企业轻松实现集群的合并和升级,规避了大量的资源冲突与调整。

 

备份中心的存储类转换功能实现跨云云盘数据的迁移,屏蔽了底层的数据类型转换与不同云服务商的底层存储接口(CSI)驱动差异。此外,为了最小化迁移对业务的影响,利用增量备份能力,提前在业务低峰进行数据备份且备份期间不影响正常运行的应用,降低实际切换时的停机时间。




我们是阿里巴巴云计算和大数据技术幕后的核心技术输出者。

欢迎关注 “阿里云基础设施”同名微信微博知乎

获取关于我们的更多信息~

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
2月前
|
存储 监控 测试技术
如何将现有的应用程序迁移到Docker容器中?
如何将现有的应用程序迁移到Docker容器中?
254 57
|
18天前
|
存储 Kubernetes 网络安全
关于阿里云 Kubernetes 容器服务(ACK)添加镜像仓库的快速说明
本文介绍了在中国大陆地区因网络限制无法正常拉取 Docker 镜像的解决方案。作者所在的阿里云 Kubernetes 集群使用的是较旧版本的 containerd(1.2x),且无法直接通过 SSH 修改节点配置,因此采用了一种无需更改 Kubernetes 配置文件的方法。通过为 `docker.io` 添加 containerd 的镜像源,并使用脚本自动修改 containerd 配置文件中的路径错误(将错误的 `cert.d` 改为 `certs.d`),最终实现了通过多个镜像站点拉取镜像。作者还提供了一个可重复运行的脚本,用于动态配置镜像源。虽然该方案能缓解镜像拉取问题,
160 2
|
2月前
|
存储 监控 Java
如何对迁移到Docker容器中的应用进行性能优化?
如何对迁移到Docker容器中的应用进行性能优化?
247 58
|
8月前
|
供应链 监控 安全
对话|企业如何构建更完善的容器供应链安全防护体系
随着云计算和DevOps的兴起,容器技术和自动化在软件开发中扮演着愈发重要的角色,但也带来了新的安全挑战。阿里云针对这些挑战,组织了一场关于云上安全的深度访谈,邀请了内部专家穆寰、匡大虎和黄竹刚,深入探讨了容器安全与软件供应链安全的关系,分析了当前的安全隐患及应对策略,并介绍了阿里云提供的安全解决方案,包括容器镜像服务ACR、容器服务ACK、网格服务ASM等,旨在帮助企业构建涵盖整个软件开发生命周期的安全防护体系。通过加强基础设施安全性、技术创新以及倡导协同安全理念,阿里云致力于与客户共同建设更加安全可靠的软件供应链环境。
150432 32
|
8月前
|
存储 监控 对象存储
ACK 容器监控存储全面更新:让您的应用运行更稳定、更透明
针对本地存储和 PVC 这两种容器存储使用方式,我们对 ACK 的容器存储监控功能进行了全新升级。此次更新完善了对集群中不同存储类型的监控能力,不仅对之前已有的监控大盘进行了优化,还针对不同的云存储类型,上线了全新的监控大盘,确保用户能够更好地理解和管理容器业务应用的存储资源。
561 271
|
7月前
|
供应链 监控 安全
对话|企业如何构建更完善的容器供应链安全防护体系
对话|企业如何构建更完善的容器供应链安全防护体系
对话|企业如何构建更完善的容器供应链安全防护体系
|
8月前
|
存储 运维 Kubernetes
正式开源,Doris Operator 支持高效 Kubernetes 容器化部署方案
飞轮科技推出了 Doris 的 Kubernetes Operator 开源项目(简称:Doris Operator),并捐赠给 Apache 基金会。该工具集成了原生 Kubernetes 资源的复杂管理能力,并融合了 Doris 组件间的分布式协同、用户集群形态的按需定制等经验,为用户提供了一个更简洁、高效、易用的容器化部署方案。
354 16
正式开源,Doris Operator 支持高效 Kubernetes 容器化部署方案
|
6月前
|
存储 监控 对象存储
ACK 容器监控存储全面更新:让您的应用运行更稳定、更透明
ACK 容器监控存储全面更新:让您的应用运行更稳定、更透明
152 0
ACK 容器监控存储全面更新:让您的应用运行更稳定、更透明
|
6月前
|
存储 运维 Kubernetes
容器数据保护:基于容器服务 Kubernetes 版(ACK)备份中心实现K8s存储卷一键备份与恢复
阿里云ACK备份中心提供一站式容器化业务灾备及迁移方案,减少数据丢失风险,确保业务稳定运行。

热门文章

最新文章

推荐镜像

更多