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 功能够全站在安全容器的视角,审视功能加