- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
周权伟、吴超-RunD 过去、现在、未来演讲
展开查看详情
1 .RunD 安全容器:过去,现在,未来 演讲人:周权伟,吴超 龙蜥社区云原生 SIG 成员 Kata 社区 maintainer 2023/03/26
2 .RunD 简介 袋鼠沙箱容器 袋鼠沙箱容器 袋鼠沙箱容器/Kata 3.0 1.0 2.0 (2021-2023) (2019-2020) (2020-2021) Dragonball RunD with 1.0 Dragonball 2.0 RunD Kata Containers Aliyun linux2 沙箱容器2.0 沙箱版 Kata 3.0 镜像加速
3 .源于 Kata:Kata 1.x • 兼容云原生生态 • 通过虚拟机提供隔离能力 • 伪装成 RunC
4 .源于 Kata:Kata 2.x 简化控制链路 提升性能 降低开销 • 提供 shimv2 接口 • Virtiofs 替代 9pfs • Golang Agent + GRPC -> Rust Agent + • Vsock 替换串口 • 设备直通 TTRPC • RssAnno 11M - > 300k
5 .RunD 架构 简化控制链路 提升性能 降低开销 • 单 Pod 单进程 • Inline virtiofsd • runtime + Dragonball • 内置镜像管理 • Inline nydusd • Cloud Kernel Guest Linux • 内置 Dragonball 和 LifseaOS
6 .RunD 落地- 云上多租 场景特点 用户A 用户B 用户C • 以容器形态对外提供服务:Serverless Cluster Cluster Cluster • 规格小,单机密度高 • 在一台宿主机上会部署多租户的容器 Super Cluster 诉求 • 安全隔离 kubelet • 低开销 • 快速启动,高并发 containerD 应用 RunD 作为阿里云上多个 Serverless 云产品(ECI/FC…)的容器引 擎底座对外提供服务,每日承接数百万实例的创建、销毁,承接上 百亿次的函数调用,这些云产品的产品能力在业界均处于领先地 RunD RunD RunD RunD RunD RunD RunD …… 位。
7 .RunD 落地- 混部 场景特点 • 运行峰谷差异:通常在线业务高峰在白天,离线业务高峰在晚上 内部业务管控 • SLO 差异:在线业务 SLO 要求高,需要优先保证在线业务稳定性 诉求 kubelet 宿主机服务器 • 性能隔离 • 故障隔离 containerD 应用 在阿里巴巴/蚂蚁集团内通过 RunD 的隔离能力以及性能表现,对业 … 务进行了不同 SLO 混部,在线用 RunC,离线用RunD,混部机器的 时延敏感型 POD 时延敏感型 POD 时延敏感型 POD RunC RunC RunC 集群利用率在得到了提升,而且提升了集群离线吞吐的同时,在线业 务SLO不下降。 资源耗尽型 POD RunD 资源耗尽型 POD RunD 资源耗尽型 POD RunD …
8 .RunD 开源 为什么开源 • 源于 Kata 社区 • 赋能开源 上游 Kata 开源社区 龙蜥社区 && Kata 社区 龙蜥云原生 • RunD 是蚂蚁和阿里云共同开发,通过龙蜥社区贡献的开源安 全容器运行时,上游是 Kata 开源社区 龙蜥云原生 • 龙蜥提供Kata3(RunD)软件包可直接被龙蜥用户、龙蜥开 ACNS 发者等使用 龙蜥用户/生态用户/开发者
9 .RunD/Kata 3.x 软件架构
10 .Before Dragonball Virtual Machine Manager 典型Kata Containers 2.X 安全容器虚拟化层解决方案 功能大而全 轻量快速 最接近容器使用体验 对于安全容器形态略显厚重 体量适中 功能全面 存在一些功能取舍 例如 PCI设备支持 CPU/MEM弹性 原有虚拟化层方案存在的可优化点 1. 额外VMM进程,让安全容器形态变得冗余。 2. 上述VMM各有其专注场景,却没有一个VMM专注于安全容器虚拟化场景。
11 .Here comes Dragonball Kata3.0 新引入安全容器虚拟化解决方案 Dragonball – 专为安全容器设计的虚拟机管理器 1 开箱即用 2 功能够全 · 3 容器优化 4 轻盈快速
12 .Dragonball – 开箱即用 开箱即用,一切都是最好的安排 无需考虑VMM版本、Nydus版本、 Virtiofsd版本等适配问题,直接上手可用 助力安全容器架构精简统一 Virtiofsd、nydusd等进程内置Dragonball Dragonball整体以lib形式对外提供 减少系统消耗 进程间通信转向进程内通信,减少系统消耗
13 .Dragonball – 功能够全 · 站在安全容器的视角,审视功能加减法。 - + 不必要的Legacy设备模拟, ACPI模拟 基于upcall的cpu/mem热插拔,镜像管理与加速 … mmio设备热插拔, …
14 .Dragonball – 容器优化 镜像是容器体验中重要的一环,Dragonball内置virtiofsd和Nydus镜像加速服务,增强弹性能力 提供模版启动。 Virtiofsd -> 1. 从C到Rust语言改写,增强内存安全,减少资源消耗 2. 推出inline virtiofsd,进一步精简架构 Nydus -> 深度结合Nydus,内置Nydus镜像加速服务,加速镜像拉取,减少镜像空间占用。 弹性能力 -> upcall链路cpu / mem弹性 模版启动(将开源) -> 减少内存占用, 加快容器启动
15 . Dragonball – 轻盈快速 Kata 3.0.0 + Dragonball 与 Kata 2.4.3 + QEMU 对比数据 1 测试项目 Kata Container 3.0.0 Kata Container 2.4.3 单安全容器串行启动 354ms 709ms 100安全容器内存开销 9,501,144KB 18,001,884KB 1.8X 2.0X 更轻 更快 [1] 使用相同配置、相同Guest Kernel、相同Rootfs对不同版本的开源Kata进行测试。
16 . 如何体验Kata3(RunD) – 开源源码 上游:开源版本 Kata Container 3.x 2022.10.10 Kata 3.0.0 正式发布,其中包含了RunD的rust runtime和Dragonball VMM两大核心组件。 Rust runtime(runtime-rs) 路径: https://github.com/kata-containers/kata-containers/tree/main/src/runtime-rs Dragonball 路径: https://github.com/kata-containers/kata-containers/tree/main/src/dragonball 设计文档:https://github.com/kata-containers/kata-containers/tree/main/docs/design/architecture_3.0 安装文档:https://github.com/kata-containers/kata-containers/blob/main/docs/install/kata-containers-3.0-rust-runtime-installation-guide.m
17 .一起写runtime-rs / Dragonball吧! 图中所列组织均已至少向runtime-rs / Dragonball 提过一个PR!我们等你来!
18 .如何体验Kata3(RunD) – 龙蜥软件包 软件包:龙蜥Kata Containers 为了让龙蜥用户有更好的安全容器与云原生体验,龙蜥提供一站式Kata Containers软件包,有如下优势: - 借助龙蜥强大的产品能力,整合LifseaOS和龙蜥Guest Kernel分别作为默认安装Kata的image和guest kernel, 进一步提升安全容器的启动速度、内存占用等性能表现。 - 一键安装、适配上下游依赖、配置默认选项,节省用户时间、提高效率。 龙蜥软件包使用教程:https://openanolis.cn/sig/cloud-native/doc/643131209707819976 龙蜥Kata X LifseaOS X 龙蜥Kernel 介绍文章:https://zhuanlan.zhihu.com/p/584509358
19 .如何体验Kata3(RunD) – ACNS ACNS (Anolis Cloud-Native Suite) 龙蜥云原生组件 • 一站式云原生容器与服务管理平台 • 便捷部署,一键式快速安装 • 集成丰富的容器服务功能,包括安全容器、容器镜像加速 与分发、微服务应用编排、可观测与监控等 • 包含龙蜥Kata Containers解决方案
20 .社区Roadmap 功能支持 1. QEMU 支持 : Redhat(红帽)正在开发中。 2. Cloud Hypervisor 支持: Intel(英特尔)正在开发中 3. Dragonball模版快照、PCI设备、VFIO直通、内存弹性:开发完成,开源中。
21 .社区Roadmap 机密计算TDX支持 RunD机密计算TDX解决方案正在开源到Kata Container CC社区。 预计23年上半年开源到CC社区。
22 .与我们链接 欢迎加入到龙蜥云原生SIG与我们进行更多有关Kata的讨论。