如何将PV从一个kubernetes节点移动到另一个节点

xmq68pz9  于 2023-03-17  发布在  Kubernetes
关注(0)|答案(1)|浏览(304)

我有一个使用www.example.com的k8s群集rancher.io/local-path。那里有一个PV

$ kubectl describe pv pvc-979af6ff-3617-4707-8a2c-b6c4ac00043f
    Name:              pvc-979af6ff-3617-4707-8a2c-b6c4ac00043f
    Labels:            <none>
    Annotations:       pv.kubernetes.io/provisioned-by: rancher.io/local-path
    Finalizers:        [kubernetes.io/pv-protection]
    StorageClass:      local-path
    Status:            Bound
    Claim:             gitlab/gitlab-prometheus-server
    Reclaim Policy:    Delete
    Access Modes:      RWO
    VolumeMode:        Filesystem
    Capacity:          8Gi
    Node Affinity:     
      Required Terms:  
        Term 0:        kubernetes.io/hostname in [agent-1]
    Message:           
    Source:
        Type:          HostPath (bare host directory volume)
        Path:          /var/lib/rancher/k3s/storage/pvc-979af6ff-3617-4707-8a2c-b6c4ac00043f_gitlab_gitlab-prometheus-server
        HostPathType:  DirectoryOrCreate
    Events:            <none>

我想将该PV移动到另一个节点agetn-5。如何实现?重要的一点是,所讨论的PV是rancher.io/local-path调配的。

7hiiyaii

7hiiyaii1#

这不可能一步到位。
但您可以:
1.访问PVC所在的K8s集群
1.创建在您喜欢的路径上装载PVC的部署(或单个Pod)(示例/xyz)
1.跑

kubectl -n NAMESPACE cp POD_NAME:/xyz /tmp/

将/xyz文件夹的内容本地复制到/tmp路径
1.从K8s集群注销
1.登录要迁移数据的K8s集群
1.创建新PVC
1.创建一个部署(或单个Pod),在您喜欢的路径上装载PVC(示例/new-xyz)
1.跑

kubectl -n NAMESPACE cp /tmp/xyz/ POD_NAME:/new-xyz/

将本地内容复制到路径/new-xyz

相关问题