前面讲到过Docker的volume机制,容器进程被创建之后,尽管已经开启了Mount Namespace,但是根目录挂载(chroot /var/lib/docker/aufs/mnt/[可读写层id])之前,容器仍然可以看到整个宿主机的文件系统,此时是可以将宿主机的目录挂载到容器的。
docker run -v /home:/test
将宿主机目录挂载到容器目录:
Volume volume = VolumeBuilder().withName(“唯一id”).withNewHostPath().withPath(“宿主机目录”).endHostPath().build();
VolumeMount volumeMount = VolumeMountBuilder().withName(“唯一id”).withMountPath(“容器目录”).build();
将obs桶子目录挂载到容器目录:
创建pvc
首先需要创建持久卷pv,pv是资源,pvc是对pv的使用请求。
kubelet根据pv的对象描述将远端obs桶mount到当前节点的根文件系统。具体地,节点本地需要安装存储插件,插件封装了s3fs,obsfs文件系统,能够处理kubelete下发的mount指令。
obs对象桶