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



我有一个使用rancher.io/local-path的k8s集群。那里有一个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规定的。

这不可能在一个步骤中完成。

但你可以:

  1. 访问存在PVC的K8s集群
  2. 创建一个在您喜欢的路径上安装PVC的展开(或单个Pod((示例/xyz(
  3. Run
kubectl -n NAMESPACE cp POD_NAME:/xyz /tmp/

将/xyz文件夹的内容本地复制到/tmp路径

  1. 从K8s集群注销

  2. 登录到将迁移数据的K8s集群

  3. 创建新的PVC

  4. 创建一个部署(或单吊舱(,将PVC安装在您喜欢的路径上(示例/new xyz(

  5. 运行

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

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

相关内容

  • 没有找到相关文章