/var/lib/docker 能不能挂载远端存储

不能

1. 问题背景

基于 Kubernetes 构建可靠、稳定的运维系统时,虚拟机 (VM) 的销毁和新建是一种常态。VM 提供的是计算和内存资源,而使用外部存储,通过 StorageClass 提供给集群中的 PVC 消费。在这样的背景下,如何快速初始化 VM 成为新的挑战。常见的思路是制作 Node 节点的 VM 镜像,提前将依赖下载、安装到 VM。添加 Node 节点时,利用预制的镜像,快速添加节点。但这种方式主要解决的集群扩容,而不能解决镜像冷下载问题。节点能快速添加,但是服务并不能快速启动,需要等待镜像下载完成。本文尝试提供一种新的方法,将 /var/lib/docker 挂载到外部存储,可以在不同主机之前迁移、共享。如果可行,将缩短集群扩缩容之后,服务迁移的时间。下面是示意图:另一种思路是,利用 Serverless 弹性、免运维的特性,将其计算能力通过 Virtual Kubelet 接入 Kubernetes 中。这样可以绕过 VM 维护的问题,在此不做论述。

2. 搭建 NFS 服务器

  • 搭建 NFS 服务