最近一直在跟进的工程是想打造k8e的serverless服务,也就是用VMM虚拟机来跑容器。其中对镜像存储的驱动不再是overlay,需要采用Device-mapper功能来驱动虚拟机的存储、运行。
Devmapper是一个containerd snapshotter插件,它将快照存储在Device-mapper thin-pool中的文件系统图像中。 Devmapper插件利用Device-mapper功能,如设备快照支持。
默认k8e是没有增加devmapper驱动的,我通过增加初始化定义解决了这个问题。
接下来就要配置插件:在默认目录
/var/lib/k8e/agent/containerd
下,复制config.toml为config.toml.tmpl
[plugins."io.containerd.snapshotter.v1.devmapper"]root_path = "/var/lib/k8e/agent/containerd"pool_name = "devpool"base_image_size = "8192MB"discard_blocks = true
参数解释:
- root_path是元数据可用的目录(如果为空,将使用containerd插件的默认位置),
- pool_name是用于Device-mapper thin-pool的名称。池名称应与/ dev / mapper /目录中的名称相同,
- base_image_size定义