4

使用pvc对容器数据进行持久化时,似乎pvc总是覆盖容器的目录,目录中的原始数据将不可用,这是什么原因?

4

1 回答 1

6

这是设计使然。Kubelet 负责为您的容器准备挂载,它们可以来自大量不同的存储后端。在安装时它们是空的,kubelet 没有理由在其中放入任何内容。

也就是说,有一些方法可以通过使用 init 容器来实现您所期望的。在您的 pod 中,您使用 docker 映像定义 init 容器,将卷安装在某个路径(即/target)中,但不是运行容器的常规内容,而是运行类似

cp -r /my/dir/* /target/ 

这将使用预期内容启动您的目录并退出以允许进一步启动 pod

于 2018-08-08T06:23:52.763 回答