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

问题描述 投票:1回答:1

我正在将以前使用docker-compose进行的部署迁移到Kubernetes。在我以前的部署中,某些容器的某些路径中确实有在构建时生成的某些数据,而这些路径已安装在持久卷中。因此,作为Docker volume documentation states持久性卷(不是绑定安装)将预先填充容器目录内容

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

可能相关的问题:Kubernetes mount volume on existing directory with files inside the container

kubernetes docker-compose docker-image persistent-volumes
1个回答
4
投票

我认为您的选择是

  • ConfigMap(“某些数据”配置文件吗?)
  • Init containers(如上所述)
  • CSI Volume Cloning(克隆合并一个init或您的第一个应用程序容器)
  • 曾经是gitRepo;不建议使用init容器,您可以在其中从[
  • 复制配置和数据
  • HostPath批量安装也是一个选项
  • NFS volume可能是一个非常合理的选择,从方法角度来看,与您的Docker Volumes类似
    • 存储类型:NFS,iscsi,awsElasticBlockStore,gcePersistentDisk和其他可以预先填充。有约束。 NFS可能最灵活地共享位和字节。

FYIsubPath可能也会引起您的兴趣,具体取决于您的用例和PodPreset可能有助于简化整个广告连播中的操作流程

HTH

© www.soinside.com 2019 - 2024. All rights reserved.