基于 WebAssembly的FaaS Serverless解决方案。
- 实现WebAssembly容器化,实现基于WebAssembly的CRI容器运行时,使Kubernetes能够实现wasm的调度
- 基于Fission在此Kubernetes实现对wasm函数的Faas平台实现
- 配合fission实现wasmkeeper的使用
- 完善kuasar的资源接口实现
- 优化k3s,测试更改定时器是否会带来性能问题
- 配合底层wasmkeeper,实现新方案长短服务的统一管理
kuasar
使用沙盒API实现wasm沙盒,优化containerd的CRI沙盒处理
rust-extensions
kuasar的核心强依赖,containerd shim的task,shim等的rust实现。
containerd (kuasar enabled)
使用kuassar的sandbox api的containerd
wasmkeeper
对kuasar进行改造,满足上层对短服务重入和保活的需求
OCI镜像剥离
使用runwasi的方案,但尝试剥离OCI镜像,减少containerd部分不必要处理环节。目前暂时停用
- WebAssembly调研相关结果(演示文稿/md文档)
- K8s调研相关结果(演示文稿/md文档)
- Fission调研相关结果(演示文稿/md文档)
- Containerd调研相关结果(演示文稿/md文档)
Tip: 各文档目录下md文档与演示文稿的存放结构(以k8s文档目录为例)
k8s
|
+- md (md文档)
|
+- original keynote(存放keynote演示文稿)
| |
| +- *.key(keynote演示文稿)
|
+- *.pdf(由original keynote目录中的keynote演示文稿导出,方便非mac用户查看)
|
+- *.ppt/*.pptx(powerpoint演示文稿)
只需查看md文档、pdf文档、ppt演示文稿。
1. runwasi
快速构建基于wasm的containerd shim的框架。
Docker的第一版方案使用此框架
2. containerd-wasm-shim (Spin, Slight)
使用runwasi定制化的containerd shim,但只能用于spin框架下的微服务的开发。
Docker的第二版方案使用此方案
3. wasmedge crun
wasmedge官方修改的crun,能够在最底层OCI运行时阶段运行wasm。