Kubernetes永久卷覆盖pod/容器中的现有数据

Kubernetes永久卷覆盖pod/容器中的现有数据,kubernetes,persistent-volumes,Kubernetes,Persistent Volumes,我们正在尝试使用kubernetes持久卷映射到pod/container目录作为备份。容器目录(/home)已经有来自dockerimage的数据,但是当我们使用容器目录(/home)装载kubernetes持久卷时,容器数据会被覆盖或消失 如何使kubernetes持久化卷不覆盖容器的数据,而只使用预先存在的数据修改任何数据? cat pv.yml apiVersion: v1 kind: PersistentVolume metadata: name: tas

我们正在尝试使用kubernetes持久卷映射到pod/container目录作为备份。容器目录(/home)已经有来自dockerimage的数据,但是当我们使用容器目录(/home)装载kubernetes持久卷时,容器数据会被覆盖或消失

如何使kubernetes持久化卷不覆盖容器的数据,而只使用预先存在的数据修改任何数据?

cat pv.yml

 apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: task-pv-volume
      labels:
        type: local
    spec:
      storageClassName: manual
      capacity:
        storage: 10Gi
      accessModes:
        - ReadWriteOnce
      hostPath:
        path: "/home/xyz/dock/main/kube/storage"
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: task-pv-claim
spec:
  storageClassName: manual
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 3Gi
cat pvclaim.yml

 apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: task-pv-volume
      labels:
        type: local
    spec:
      storageClassName: manual
      capacity:
        storage: 10Gi
      accessModes:
        - ReadWriteOnce
      hostPath:
        path: "/home/xyz/dock/main/kube/storage"
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: task-pv-claim
spec:
  storageClassName: manual
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 3Gi
下面是主清单文件,用于部署具有持久卷的POD

apiVersion: v1
kind: Pod
metadata:
  name: mypod
spec:
  volumes:
    - name: task-pv-storage
      persistentVolumeClaim:
        claimName: task-pv-claim
    - name: cgroup
      hostPath:
        path: /sys/fs/cgroup
        type: Directory
  containers:
    - name: rbf-container
      image: 10.190.205.11:5000/myimage/ubuntu:1.0
      securityContext:
        privileged: true
      volumeMounts:
        - mountPath: "/home/xyz"      ##-> mounting persistent volume with container directory /home/xyz**
          name: task-pv-storage
        - mountPath: /sys/fs/cgroup
          name: cgroup
$ ssh 10.244.4.29
Failed to add the host to the list of known hosts (/home/xyz/.ssh/known_hosts).
xyz@10.244.4.29's password:
Last login: Tue Aug 25 11:16:48 2020 from 10.252.85.167
$ bash
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

xyz@mypod:~$ ls
xyz@mypod:~$ ls -l
total 465780
drwxrwxrwx 1 xyz xyz      4096 Aug 13 12:44 Desktop
drwxr-xr-x 2 xyz xyz      4096 Aug 25 11:12 Documents
drwxr-xr-x 2 xyz xyz      4096 Aug 25 11:12 Downloads
drwxr-xr-x 2 xyz xyz      4096 Aug 25 11:12 Music
drwxr-xr-x 2 xyz xyz      4096 Aug 25 11:12 Pictures
drwxr-xr-x 2 xyz xyz      4096 Aug 25 11:12 Public
drwxr-xr-x 2 xyz xyz      4096 Aug 25 11:12 Templates
drwxr-xr-x 2 xyz xyz      4096 Aug 25 11:12 Videos
-rw------- 1 xyz xyz   2404352 Aug 25 11:12 core
drwx------ 4 root root      4096 Aug 10 08:39 local.bak
-rw-r--r-- 1 root root 474439680 Aug 10 08:35 local.tar
带有kubernetes持久卷的输出:

$ ssh 10.244.4.29
Failed to add the host to the list of known hosts (/home/xyz/.ssh/known_hosts).
xyz@10.244.4.29's password:
Last login: Tue Aug 25 11:16:48 2020 from 10.252.85.167
$ bash
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

xyz@mypod:~$ ls
xyz@mypod:~$ ls -l
total 0                    ##--> no data present it all get vanished
xyz@mypod:~$ pwd
/home/xyz
$ssh 10.244.4.29
无法将主机添加到已知主机列表(/home/xyz/.ssh/known_hosts)。
xyz@10.244.4.29的密码:
最后一次登录:周二8月25日11:16:48 2020从10.252.85.167开始
$bash
要以管理员(用户“root”)身份运行命令,请使用“sudo”。
有关详细信息,请参阅“man sudo_root”。
xyz@mypod:~$ls
xyz@mypod:~$ls-l
总计0##-->不存在任何数据—所有数据都将消失
xyz@mypod:~$pwd
/主页/xyz
无持续音量的pod输出

apiVersion: v1
kind: Pod
metadata:
  name: mypod
spec:
  volumes:
    - name: task-pv-storage
      persistentVolumeClaim:
        claimName: task-pv-claim
    - name: cgroup
      hostPath:
        path: /sys/fs/cgroup
        type: Directory
  containers:
    - name: rbf-container
      image: 10.190.205.11:5000/myimage/ubuntu:1.0
      securityContext:
        privileged: true
      volumeMounts:
        - mountPath: "/home/xyz"      ##-> mounting persistent volume with container directory /home/xyz**
          name: task-pv-storage
        - mountPath: /sys/fs/cgroup
          name: cgroup
$ ssh 10.244.4.29
Failed to add the host to the list of known hosts (/home/xyz/.ssh/known_hosts).
xyz@10.244.4.29's password:
Last login: Tue Aug 25 11:16:48 2020 from 10.252.85.167
$ bash
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

xyz@mypod:~$ ls
xyz@mypod:~$ ls -l
total 465780
drwxrwxrwx 1 xyz xyz      4096 Aug 13 12:44 Desktop
drwxr-xr-x 2 xyz xyz      4096 Aug 25 11:12 Documents
drwxr-xr-x 2 xyz xyz      4096 Aug 25 11:12 Downloads
drwxr-xr-x 2 xyz xyz      4096 Aug 25 11:12 Music
drwxr-xr-x 2 xyz xyz      4096 Aug 25 11:12 Pictures
drwxr-xr-x 2 xyz xyz      4096 Aug 25 11:12 Public
drwxr-xr-x 2 xyz xyz      4096 Aug 25 11:12 Templates
drwxr-xr-x 2 xyz xyz      4096 Aug 25 11:12 Videos
-rw------- 1 xyz xyz   2404352 Aug 25 11:12 core
drwx------ 4 root root      4096 Aug 10 08:39 local.bak
-rw-r--r-- 1 root root 474439680 Aug 10 08:35 local.tar
$ssh 10.244.4.29
无法将主机添加到已知主机列表(/home/xyz/.ssh/known_hosts)。
xyz@10.244.4.29的密码:
最后一次登录:周二8月25日11:16:48 2020从10.252.85.167开始
$bash
要以管理员(用户“root”)身份运行命令,请使用“sudo”。
有关详细信息,请参阅“man sudo_root”。
xyz@mypod:~$ls
xyz@mypod:~$ls-l
总数465780
drwxrwxrwx 1 xyz xyz 4096年8月13日12:44桌面
drwxr-xr-x 2 xyz xyz 4096年8月25日11:12文档
drwxr-xr-x 2 xyz xyz 4096年8月25日11:12下载
drwxr-xr-x 2 xyz xyz 4096年8月25日11:12音乐
drwxr-xr-x 2 xyz xyz 4096年8月25日11:12图片
drwxr-xr-x 2 xyz xyz 4096年8月25日11:12公开
drwxr-xr-x 2 xyz xyz 4096年8月25日11:12模板
drwxr-xr-x 2 xyz xyz 4096年8月25日11:12视频
-rw------1 xyz xyz 2404352八月25日11:12核心
drwx------4根根根4096 Aug 10 08:39 local.bak
-rw-r--r--1根根目录474439680 Aug 10 08:35 local.tar

正如您所看到的,dockerimage中的数据在不使用持久卷的情况下可用

,这可能是Perr任务的问题。你看到了吗:还有?
apiVersion: v1
kind: Pod
metadata:
  name: mypod
spec:
  volumes:
    - name: task-pv-storage
      persistentVolumeClaim:
        claimName: task-pv-claim
    - name: cgroup
      hostPath:
        path: /sys/fs/cgroup
        type: Directory
  containers:
    - name: rbf-container
      image: 10.190.205.11:5000/myimage/ubuntu:1.0
      securityContext:
        privileged: true
      volumeMounts:
        - mountPath: "/home/xyz"      ##-> mounting persistent volume with container directory /home/xyz**
          name: task-pv-storage
        - mountPath: /sys/fs/cgroup
          name: cgroup
$ ssh 10.244.4.29
Failed to add the host to the list of known hosts (/home/xyz/.ssh/known_hosts).
xyz@10.244.4.29's password:
Last login: Tue Aug 25 11:16:48 2020 from 10.252.85.167
$ bash
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

xyz@mypod:~$ ls
xyz@mypod:~$ ls -l
total 465780
drwxrwxrwx 1 xyz xyz      4096 Aug 13 12:44 Desktop
drwxr-xr-x 2 xyz xyz      4096 Aug 25 11:12 Documents
drwxr-xr-x 2 xyz xyz      4096 Aug 25 11:12 Downloads
drwxr-xr-x 2 xyz xyz      4096 Aug 25 11:12 Music
drwxr-xr-x 2 xyz xyz      4096 Aug 25 11:12 Pictures
drwxr-xr-x 2 xyz xyz      4096 Aug 25 11:12 Public
drwxr-xr-x 2 xyz xyz      4096 Aug 25 11:12 Templates
drwxr-xr-x 2 xyz xyz      4096 Aug 25 11:12 Videos
-rw------- 1 xyz xyz   2404352 Aug 25 11:12 core
drwx------ 4 root root      4096 Aug 10 08:39 local.bak
-rw-r--r-- 1 root root 474439680 Aug 10 08:35 local.tar