用 Kubernetes、 Docker 和 CRI-O 等容器工具来部署、管理和运行轻量级 WebAssembly 应用程序

现在我们可以利用 Kubernetes、 Docker 和 CRI-O 等容器工具来部署、管理和运行轻量级 WebAssembly 应用程序啦。

本文,我们将演示 Kubernetes 生态系统工具如何与 WasmEdge WebAssembly 应用程序一起运行。
在这里插入图片描述

与 Docker 相比,WebAssembly 在启动时可以快100倍,拥有更小的内存和磁盘占用空间,并且有一个定义更好的安全沙箱。然而,这其中的取舍是 WebAssembly 需要自己的语言 SDK 和编译器工具链,使其成为比 Docker 更受限制的开发环境。WebAssembly 越来越多地用于 Docker 容器很难部署的边缘计算场景,或者是在应用程序性能至关重要的情况下。

像 Docker 这样的应用程序容器的最大优势之一是丰富的工具生态。好消息是,你可以使用完全相同的工具来管理 WebAssembly 应用程序,从而使类似 docker 的 Linux 容器和 WebAssembly 应用程序能够在同一个系统中并列运行。
[Image: image.png]

demo 应用

Demo 应用程序是一个 Rust 应用程序,编译成 WebAssembly 字节码,然后打包并发布为 Docker Hub 上的无操作系统容器镜像。然后我们将使用容器工具启动并运行这个 WebAssembly 应用镜像。

查看说明,了解如何构建和发布此 WebAssembly 应用镜像。

低级容器 runtime

容器镜像可以由任何符合 OCI 标准的容器 runtime (如 crun)启动。crun 项目内置了 WasmEdge 支持。使用下面的命令在 Ubuntu 上构建并安装一个具有 WasmEdge 支持的 crun 可执行二进制文件。

`git clone https://github.com/containers/crun
 cd crun
./autogen.sh
./configure --with-wasmedge
make
sudo make install`

高级容器 runtime

高级容器 runtime (如 CRI-O)从 registry (如 Docker Hub)拉取容器镜像,在磁盘上管理它们,并启动低级 runtime 来运行容器进程。

CRI-O: 查看说明,了解如何使用带有 crun的 CRI-O 来拉取、启动和管理 WebAssembly 程序镜像。

视频链接

Kubernetes

多数高级容器 runtime 都实现了 Kubernetes 的 CRI (Container Runtime Interface)规范,因此可以使用 Kubernetes 工具管理它们。这意味着你可以使用 Kubernetes 工具在 pods 和 name spaces 中管理 WebAssembly 应用镜像。

Kubernetes:查看说明,了解如何为 WebAssembly 应用镜像创建和运行 pods。

展望未来

本文中,我们了解了如何使用容器工具拉取、启动、运行和管理 WasmEdge 应用程序。我们正在努力支持尽可能多的容器 runtime 和 Kubernetes 框架来并列运行 Linux 容器和 WebAssembly 应用容器。

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:数字20 设计师:CSDN官方博客 返回首页

打赏作者

serverless 技术社区

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值