Ale*_*www 7 kubernetes rancher
我有一个使用 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>
Run Code Online (Sandbox Code Playgroud)
我想将该 PV 移动到另一个节点,agetn-5。我怎样才能做到这一点?重要的一点是,所讨论的 PV 已被rancher.io/local-path配置。
这是不可能一步完成的。
但是你可以:
kubectl -n NAMESPACE cp POD_NAME:/xyz /tmp/
Run Code Online (Sandbox Code Playgroud)
将 /xyz 文件夹的内容本地复制到 /tmp 路径
从K8s集群注销
登录要迁移数据的K8s集群
创建新的 PVC
创建一个部署(或单个 Pod),将 PVC 安装在您喜欢的路径上(示例 /new-xyz)
跑步
kubectl -n NAMESPACE cp /tmp/xyz/ POD_NAME:/new-xyz/
Run Code Online (Sandbox Code Playgroud)
将本地内容复制到路径 /new-xyz