如何使用Kubernetes将主目录文件复制到新的持久卷中?

时间:2019-01-28 17:05:28

标签: docker kubernetes jupyterhub persistent-volumes

我已经部署了JupyterHub Kubernetes。

当我创建并附加一个永久卷(PV)时,它会擦除​​掉映像中的主目录。它将它替换为一个空的主目录,其中写入的任何内容都将按预期保留(没关系)。

如何将文件从映像的主文件夹获取到PV主文件夹中?

这是一个example from the docs,不幸的是,它似乎只能从新PV复制(不是图像):

singleuser:
  lifecycleHooks:
    postStart:
      exec:
        command: ["cp", "-a", "src", "target"]

这是我的单用户配置:

singleuser:
  image:
    name: myimage
    tag: latest
    pullPolicy: Always
  storage:
    capacity: 10Gi
    dynamic:
      storageClass: standard

1 个答案:

答案 0 :(得分:2)

以上应该可以正常工作。

您可能正在将PV安装在与容器相同的主目录中。您可以将PV挂载到其他目录上并进行复制,也可以创建一个新映像,其中数据不存储在主目录中。这是如何使用mountPath的示例:

apiVersion: v1
kind: Pod
metadata:
  name: jypyterhuyb
  namespace: default
spec:
  volumes:
  - name: myvol
    ...
  containers:
  - name: jypyter
    image: "jypytercontainer"
    volumeMounts:
    - name: myvol
      mountPath: /mnt/mypath