如何模仿 Docker 使用 Kubernetes 从容器目录预填充卷的能力

Mic*_*l L 2 kubernetes docker-compose docker-image persistent-volumes

我正在将我之前使用 docker-compose 进行的部署迁移到 Kubernetes。在我之前的部署中,某些容器确实在某些路径中在构建时生成了一些数据,并且这些路径安装在持久卷中。因此,正如Docker 卷文档所述,持久卷(不是绑定安装)将预先填充容器目录内容。

我想用 Kubernetes 及其持久卷实现这种行为,我该怎么做?我是否需要使用脚本添加某种逻辑,以便在容器第一次启动时数据不存在时将容器的文件复制到安装路径?

可能相关的问题:Kubernetes 在现有目录上挂载卷,容器内有文件

LMR*_*LMR 5

我认为你的选择是

  • ConfigMap(是“一些数据”配置文件吗?)
  • 初始化容器(如前所述)
  • CSI 卷克隆(克隆结合 init 或您的第一个应用程序容器)
  • 曾经有一个gitRepo;不推荐使用 init 容器,您可以从中克隆配置和数据
  • HostPath卷挂载也是一个选项
  • 一个NFS卷可能是一个非常合理的选择和做法的观点相似,您的码头工人卷
    • 存储类型:可以预填充 NFS、iscsi、awsElasticBlockStore、gcePersistentDisk 等。有限制。NFS 可能是最灵活的共享位和字节。

FYI的子路径可能会感兴趣太取决于你的使用情况,并 PodPreset跨您豆荚舰队精简运算可能会帮助

HTH