《周权伟、吴超-RunD 过去、现在、未来演讲.pdf》由会员分享,可在线阅读,更多相关《周权伟、吴超-RunD 过去、现在、未来演讲.pdf(22页珍藏版)》请在三个皮匠报告上搜索。
1、RunD 安全容器:过去,现在,未来演讲人:周权伟,吴超龙蜥社区云原生 SIG 成员Kata 社区 maintainer2023/03/26RunD 简介Dragonball1.0沙箱容器2.0RunD withDragonball 2.0KataContainers袋鼠沙箱容器1.0(2019-2020)袋鼠沙箱容器2.0(2020-2021)镜像加速Aliyun linux2沙箱版袋鼠沙箱容器/Kata 3.0(2021-2023)Kata 3.0RunD源于 Kata:Kata 1.x 兼容云原生生态 通过虚拟机提供隔离能力 伪装成 RunC源于 Kata:Kata 2.x简化控制链路提
2、供 shimv2 接口Vsock 替换串口提升性能Virtiofs 替代 9pfs设备直通降低开销Golang Agent+GRPC-Rust Agent+TTRPCRssAnno 11M-300kRunD 架构简化控制链路单 Pod 单进程内置镜像管理内置 Dragonball提升性能Inline virtiofsdInline nydusd降低开销runtime+DragonballCloud Kernel Guest Linux和 LifseaOSRunD 落地-云上多租场景特点以容器形态对外提供服务:Serverless规格小,单机密度高在一台宿主机上会部署多租户的容器诉求安全隔离低开
3、销快速启动,高并发应用RunD 作为阿里云上多个 Serverless 云产品(ECI/FC)的容器引擎底座对外提供服务,每日承接数百万实例的创建、销毁,承接上百亿次的函数调用,这些云产品的产品能力在业界均处于领先地位。RunDRunDRunDRunDRunDRunDRunDcontainerDkubeletSuper Cluster用户ACluster用户BCluster用户CClusterRunD 落地-混部场景特点运行峰谷差异:通常在线业务高峰在白天,离线业务高峰在晚上SLO 差异:在线业务 SLO 要求高,需要优先保证在线业务稳定性诉求性能隔离故障隔离应用在阿里巴巴/蚂蚁集团内通过 R
4、unD 的隔离能力以及性能表现,对业务进行了不同 SLO 混部,在线用 RunC,离线用RunD,混部机器的集群利用率在得到了提升,而且提升了集群离线吞吐的同时,在线业务SLO不下降。宿主机服务器containerDkubelet时延敏感型 PODRunC资源耗尽型 PODRunD时延敏感型 PODRunC资源耗尽型 PODRunD时延敏感型 PODRunC资源耗尽型 PODRunD内部业务管控RunD 开源为什么开源 源于 Kata 社区 赋能开源龙蜥社区&Kata 社区RunD 是蚂蚁和阿里云共同开发,通过龙蜥社区贡献的开源安全容器运行时,上游是 Kata 开源社区龙蜥提供Kata3(Ru
5、nD)软件包可直接被龙蜥用户、龙蜥开发者等使用上游 Kata 开源社区龙蜥云原生龙蜥云原生ACNS龙蜥用户/生态用户/开发者RunD/Kata 3.x 软件架构Before Dragonball Virtual Machine Manager功能大而全对于安全容器形态略显厚重轻量快速 最接近容器使用体验存在一些功能取舍 例如 PCI设备支持 CPU/MEM弹性典型Kata Containers 2.X 安全容器虚拟化层解决方案体量适中 功能全面1.额外VMM进程,让安全容器形态变得冗余。2.上述VMM各有其专注场景,却没有一个VMM专注于安全容器虚拟化场景。原有虚拟化层方案存在的可优化点Her
6、e comes DragonballKata3.0 新引入安全容器虚拟化解决方案Dragonball 专为安全容器设计的虚拟机管理器4 轻盈快速1 开箱即用3 容器优化2 功能够全Dragonball 开箱即用开箱即用,一切都是最好的安排减少系统消耗助力安全容器架构精简统一Virtiofsd、nydusd等进程内置DragonballDragonball整体以lib形式对外提供无需考虑VMM版本、Nydus版本、Virtiofsd版本等适配问题,直接上手可用进程间通信转向进程内通信,减少系统消耗Dragonball 功能够全站在安全容器的视角,审视功能加减法。+-不必要的Legacy设备模拟,
7、ACPI模拟基于upcall的cpu/mem热插拔,镜像管理与加速mmio设备热插拔,Dragonball 容器优化镜像是容器体验中重要的一环,Dragonball内置virtiofsd和Nydus镜像加速服务,增强弹性能力提供模版启动。Virtiofsd-1.从C到Rust语言改写,增强内存安全,减少资源消耗2.推出inline virtiofsd,进一步精简架构Nydus-深度结合Nydus,内置Nydus镜像加速服务,加速镜像拉取,减少镜像空间占用。弹性能力-upcall链路cpu/mem弹性模版启动(将开源)-减少内存占用,加快容器启动Dragonball 轻盈快速Kata 3.0.0
8、+Dragonball 与 Kata 2.4.3+QEMU 对比数据1测试项目Kata Container 3.0.0 Kata Container 2.4.3单安全容器串行启动354ms709ms100安全容器内存开销9,501,144KB18,001,884KB2.0X更快1.8X更轻1 使用相同配置、相同Guest Kernel、相同Rootfs对不同版本的开源Kata进行测试。如何体验Kata3(RunD)开源源码上游:开源版本 Kata Container 3.x2022.10.10 Kata 3.0.0 正式发布,其中包含了RunD的rust runtime和Dragonball
9、VMM两大核心组件。Rust runtime(runtime-rs)路径:https:/ 路径:https:/ 提过一个PR!我们等你来!如何体验Kata3(RunD)龙蜥软件包软件包:龙蜥Kata Containers为了让龙蜥用户有更好的安全容器与云原生体验,龙蜥提供一站式Kata Containers软件包,有如下优势:-借助龙蜥强大的产品能力,整合LifseaOS和龙蜥Guest Kernel分别作为默认安装Kata的image和guest kernel,进一步提升安全容器的启动速度、内存占用等性能表现。-一键安装、适配上下游依赖、配置默认选项,节省用户时间、提高效率。龙蜥软件包使用教
10、程:https:/ X LifseaOS X 龙蜥Kernel 介绍文章:https:/ Cloud-Native Suite)龙蜥云原生组件一站式云原生容器与服务管理平台便捷部署,一键式快速安装集成丰富的容器服务功能,包括安全容器、容器镜像加速与分发、微服务应用编排、可观测与监控等包含龙蜥Kata Containers解决方案社区Roadmap功能支持1.QEMU 支持:Redhat(红帽)正在开发中。2.Cloud Hypervisor 支持:Intel(英特尔)正在开发中3.Dragonball模版快照、PCI设备、VFIO直通、内存弹性:开发完成,开源中。社区Roadmap机密计算TDX支持RunD机密计算TDX解决方案正在开源到Kata Container CC社区。预计23年上半年开源到CC社区。与我们链接欢迎加入到龙蜥云原生SIG与我们进行更多有关Kata的讨论。