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

How to copy home directory file into new persistent volume with Kubernetes?

我有一个 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

以上应该没问题。

您可能正在将 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