原文连接:https://github.com/containerd/containerd/discussions/7407
问题:如题
答:containerd-shim-runc-vX
是 shimV2 api
的实现(API定义链接:https://github.com/containerd/containerd/pull/2434),API的意义在于可以让运行时开发者实现自己的shim,例如:kata-container shim。
如果没有shimV2 API
,那么只有一种方式可以集成自定义的运行时。它使用类似 runC 的命令行,并将 containerd-shim 运行时引用从 runC 更改为其他名称。而kata-container
运行时使用起来非常痛苦,因为其有像qumu层要运行。
回到你的问题,containerd-shim-runc-v1
是 shimV2
的实现,它与 containerd-shim
具有相同的功能。它类似于 runC shimV2 实现的 v1 版本。containerd-shim-runc-v2
是支持分组容器的 runC shimV2 实现的新版本。
也许有一天我们会拥有 containerd-shim-runc-v3
。 命名可能会混淆。 但请记住 containerd-shim-{runtime-name}-{version}
是 shimV2 实现的命名约定。