超融合产品集成 Kata 虚拟化容器技术的方案演进 | 龙蜥技术

简介: 识别云原生现有方案在超融合环境下技术缺陷。

编者按:超融合技术融合基础实施为企业用户提供虚拟化、容器等不同形态的服务。今天,浪潮数据超融合云原生工程师王永超带大家了解 Kata 虚拟化容器技术,及超融合产品为集成 Kata 容器而进行技术方案演进历程,也分享了超融合 Kata 容器技术设计与应用。本文整理自龙蜥大讲堂第 78 期,以下为本次分享内容:

01 超融合产品介绍

  • 超融合一体机。
  • 整合虚拟机+容器双引擎。

02 Kata Containers 介绍

Kata Container 与传统容器对比:

  • Kata 容器具有独立的内核、CPU、内存虚拟机级别隔离。
  • 传统容器共享宿主机内核,CPU、内存通过 cgroup 与 namespace 进行限制。

Kata 文件系统工作原理:

  • Kata 运行时,提供精简优化的虚拟机内核及文件系统,如 vmlinuz-5.10.25-87 和 kata-containers-initrd.img 用于创建轻量级虚拟机。
  • 容器镜像 rootfs 及容器卷通过 virtiofs 从宿主机绑定到轻量级虚拟机,方便内部容器进程读取 rootfs 系统文件。

03 OCFS 共享存储下容器 Snap 管理

Containerd 组件调用关系:

  • Content 用于管理容器镜像 manifest 数据。
  • Image 存储容器镜像各层blob文件。
  • Snapshots 用于解压 Image 各层 blob 文件组装容器实例 rootfs 文件系统。
  • Diff 提供两个接口 Diff 与 Apply。

Devmapper Snapshotter 不足:

采用 Containerd 社区 devmapper snapshotter 运行容器实例,主要问题如下:

  • Device Mapper 本身 IO 链路过长。
  • Device Mapper 依赖内核模块 dm-thin,在特殊场景下会造成存储池 IO 阻塞。
  • 社区本身不推荐 devmapper 应用于生产环境。

04 超融合下的 RAW Snapshotter

Devmapper VS RAW, InCloud Rail 超融合成熟的虚拟机系统盘管理方案:

  • 虚拟磁盘仅通过两层文件系统,IO 链路短且稳定。
  • 虚拟磁盘未引入 dm-thin 内核模块。
  • 虚拟机快照技术类似于容器镜像层结构,虚拟磁盘通过 reflink 进行快速复制为 Snapshot 服务创建 snap 提供技术支持。

超融合 OCFS 存储运行容器:

  • OCFS 可以实现同一存储设备同时被多个节点访问。
  • 在超融合环境下,存储设备为统一管理,我们可以充分利用 OCFS 的特性,使用一个存储池为多个节点提供 Snapshotter 所需的存储空间。
  • RAW Snapshotter 在存储设备对容器镜像进行 unpack 等操作,生成一个虚拟机磁盘,容器系统 rootfs 文件系统做虚拟磁盘数据。
  • Kata 通过 virtiofs 将虚拟磁盘绑定到 Kata 虚拟机内部,用于启动容器进程。

RAW Snapshotter 工作流程:

步骤 1-2:下载容器镜像到本地。

步骤 3-4:创建根 snap 设备,通过 qemu-image 创建 raw 文件。

步骤 5-7:基于跟 snap,创建镜像层及对应的 reflink 文件。

步骤 8:为容器实例创建可写的 rootfs 系统盘。

步骤 9-12:创建 kata 虚拟机,kata 虚拟机通过 virtio-scsi 将 vdisk n+1 虚拟磁盘挂载至 kata 虚拟机内部。

虚拟磁盘管理机制实现容器 Snaps 管理。

RAW Snapshotter 负责管理容器镜像快照与虚拟机磁盘,维护 snap 元数据:

  • 首先读取基础镜像层,创建 RAW 格式的虚拟机磁盘,并设置为只读。
  • 读取差异层,通过reflink,在 OCFS 存储设备快速创建一个虚拟磁盘快照。
  • 通过 Diff 服务将差异层内容写入磁盘快照,如图虚拟磁盘文件 2~N。
  • 启动容器实例,容器镜像最上层,如 N、reflink 一个新的磁盘,用于容器实例进行临时文件系统写操作。

关于直播课件及视频回放获取方式:

【PPT 课件获取】:关注微信公众号(OpenAnolis),回复“龙蜥课件” 即可获取。有任何疑问请随时咨询龙蜥助手—小龙(微信:openanolis_assis)。

【视频回放】:视频回放可在龙蜥视频号(账号:龙蜥社区_小龙)或龙蜥官网 https://openanolis.cn/video 查看。

—— 完 ——

加入龙蜥社群

加入微信群:添加社区助理-龙蜥社区小龙(微信:openanolis_assis),备注【龙蜥】与你同在;加入钉钉群:扫描下方钉钉群二维码。

相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
3月前
|
弹性计算 运维 Serverless
项目管理和持续集成系统搭建问题之云效流水线支持阿里云产品的企业用户如何解决
项目管理和持续集成系统搭建问题之云效流水线支持阿里云产品的企业用户如何解决
65 1
项目管理和持续集成系统搭建问题之云效流水线支持阿里云产品的企业用户如何解决
|
1月前
|
敏捷开发 jenkins Devops
探索软件测试的新篇章:自动化与持续集成的融合之道
【9月更文挑战第31天】 在软件开发的海洋中,测试是确保航船稳健前行的灯塔。本文将引领读者驶入软件测试的新纪元,探索自动化测试和持续集成如何携手共创高效、可靠的开发流程。我们将从基础概念出发,逐步深入到实际操作层面,揭示这一现代软件开发模式的核心价值和实现路径。你将看到,通过代码示例和实践案例,如何将理论转化为提升软件质量的具体行动。
|
19天前
|
运维 监控 Devops
DevOps实践:自动化部署与持续集成的融合之旅
【10月更文挑战第7天】在软件开发领域,DevOps已成为一种文化和实践,它倡导开发(Dev)与运维(Ops)之间的协作与整合。本文将引导读者了解如何通过自动化部署和持续集成(CI)的实践来提升软件交付的速度和质量。我们将探讨一些实用的工具和技术,以及它们是如何帮助团队高效地管理代码变更、测试和部署的。文章将不包含代码示例,但会详细解释概念和流程,确保内容的通俗易懂和条理性。
124 62
|
1天前
|
jenkins 测试技术 持续交付
探索软件测试的新篇章:自动化与持续集成的融合
【10月更文挑战第25天】在软件开发的世界里,质量是王道。本文将带你领略如何通过自动化测试和持续集成(CI)的结合,提升软件交付的速度与质量,确保每一次代码提交都是一次胜利的宣言。
|
1天前
|
存储 持续交付 虚拟化
|
2月前
|
Kubernetes API Docker
跟着iLogtail学习容器运行时与K8s下日志采集方案
iLogtail 作为开源可观测数据采集器,对 Kubernetes 环境下日志采集有着非常好的支持,本文跟随 iLogtail 的脚步,了解容器运行时与 K8s 下日志数据采集原理。
|
2月前
|
Devops jenkins 测试技术
DevOps实践:持续集成与自动化测试的融合之道
【9月更文挑战第29天】在软件开发的快节奏竞赛中,DevOps如同一位智慧的舵手,引领着船只驶向效率与质量的彼岸。本文将揭开DevOps的神秘面纱,探索其核心理念如何通过持续集成(CI)和自动化测试的实践,实现软件开发流程的优化与加速。我们将一同见证代码从构思到部署的旅程,以及这一过程中的关键技术和工具如何协同工作,确保软件质量和交付速度的双重提升。
|
2月前
|
敏捷开发 jenkins Devops
软件测试的新篇章:自动化与持续集成的融合
【9月更文挑战第15天】在软件开发领域,质量保障始终是核心议题。随着敏捷开发的普及和DevOps文化的兴起,自动化测试和持续集成(CI)已成为现代软件工程不可或缺的组成部分。本文将深入探讨自动化测试的重要性、实施策略以及如何将其无缝集成到CI流程中,以实现更高效、更稳定的软件开发周期。通过具体案例分析,我们将揭示自动化测试和CI如何相互促进,提升软件交付的速度和质量。
|
2月前
|
并行计算 关系型数据库 分布式数据库
朗坤智慧科技「LiEMS企业管理信息系统」通过PolarDB产品生态集成认证!
近日,朗坤智慧科技股份有限公司「LiEMS企业管理信息系统软件」通过PolarDB产品生态集成认证!
|
2月前
|
搜索推荐 安全 物联网
智能家居技术的未来:集成化与个性化的融合
本文将深入探讨智能家居技术的发展趋势,特别是集成化和个性化如何成为未来智能家居系统设计的核心。文章将分析当前智能家居技术面临的挑战,并展示通过集成化提高系统效率、降低成本的方法。同时,讨论个性化服务在提升用户体验方面的重要性,以及如何通过数据驱动和人工智能技术实现这一目标。最后,文章将预测未来智能家居技术的发展方向,包括物联网设备的进一步整合、安全性的提升,以及智能家居技术在健康监测和环境可持续性方面的应用潜力。
89 1