首页
/ containerd-shim-wasm v0.9.0 发布:WASI 容器运行时的重要更新

containerd-shim-wasm v0.9.0 发布:WASI 容器运行时的重要更新

2025-07-04 23:04:46作者:董宙帆

containerd-shim-wasm 是 containerd 生态中一个重要的组件,它为 WebAssembly (WASM) 工作负载提供了容器运行时支持。通过这个 shim,用户可以在 containerd 和 Kubernetes 环境中运行 WASM 模块,特别是那些符合 WebAssembly System Interface (WASI) 标准的模块。最新发布的 v0.9.0 版本带来了一系列重要的改进和修复,特别是在信号处理和进程管理方面。

核心改进

本次更新最值得关注的是对信号处理和进程管理的重大重构。在之前的版本中,shim 和容器进程共享了全局状态,特别是信号处理相关的状态,这导致了信号传递不可靠的问题。新版本通过解耦 shim 和容器进程的状态,从根本上解决了这个问题。

具体来说,v0.9.0 移除了 Tokio 信号处理的共享使用,确保 shim 和容器进程各自拥有独立的信号处理机制。这种架构上的改进不仅修复了信号处理问题,还消除了潜在的未定义行为风险,使得整个系统更加健壮可靠。

架构优化

新版本对容器对象的访问方式进行了优化。不再频繁地从磁盘重新加载容器对象,而是采用重用和同步访问的方式,这显著提高了性能并减少了不必要的 I/O 操作。

在标准输入输出处理方面,v0.9.0 简化了设计。移除了自定义的标准流重定向逻辑,改为在调用 run_wasi 方法之前完成重定向工作。这种改变使得代码更加清晰,也减少了潜在的错误点。

API 变更

v0.9.0 引入了一些 API 变更,开发者需要注意:

  1. 现在要求 Engine 泛型必须实现 Default trait,这使得实例化过程更加明确和安全。
  2. Instance::new 方法现在直接接受 &InstanceConfig 参数,而不是 Option<&InstanceConfig>,简化了接口并减少了潜在的空值问题。
  3. 从 InstanceConfig 中移除了 Engine 泛型,这使得类型系统更加简洁。

移除的功能

为了简化代码和提升性能,v0.9.0 移除了几个辅助函数,包括 get_instance_root 和 instance_exists。这些功能可以通过其他方式实现,移除它们有助于减少代码复杂性和维护负担。

总结

containerd-shim-wasm v0.9.0 是一个重要的稳定性版本,它解决了长期存在的信号处理和进程管理问题,同时通过架构优化提升了整体性能和可靠性。对于在 containerd 环境中运行 WASM/WASI 工作负载的用户来说,这个版本值得升级。

这些改进使得 containerd-shim-wasm 更加适合生产环境使用,特别是在需要高可靠性和稳定性的场景中。随着 WebAssembly 在云原生领域的应用越来越广泛,containerd-shim-wasm 将继续扮演关键角色,为 WASM 工作负载提供强大的容器运行时支持。

登录后查看全文
热门项目推荐

热门内容推荐

最新内容推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
22
6
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
153
1.98 K
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
505
42
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
8
0
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
194
279
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
992
395
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
938
554
communitycommunity
本项目是CANN开源社区的核心管理仓库,包含社区的治理章程、治理组织、通用操作指引及流程规范等基础信息
332
11
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
146
191
金融AI编程实战金融AI编程实战
为非计算机科班出身 (例如财经类高校金融学院) 同学量身定制,新手友好,让学生以亲身实践开源开发的方式,学会使用计算机自动化自己的科研/创新工作。案例以量化投资为主线,涉及 Bash、Python、SQL、BI、AI 等全技术栈,培养面向未来的数智化人才 (如数据工程师、数据分析师、数据科学家、数据决策者、量化投资人)。
Python
75
70