kubernetes PersistenceVolume NFS IP 更改

kubernetes PersistenceVolume NFS IP 更改

过去 3 年我们一直在 centos7 上运行 kubernetes,最近我们的 NFS 存储设备迁移到了不同​​的 VLAN,并且 IP 地址发生了变化,现在所有 pod 都无法正常运行并等待 PV。

我的问题是,在 PV 和所有 PVC 中,用新的 NFS 服务器 IP 替换旧的 NFS 服务器 IP 而不丢失任何数据的最佳方法是什么?

答案1

首先,找到你的 PV 的名称:

kubectl get pv

然后获取你的 PV 的 YAML:

kubectl get pv <name> -o yaml > pv.yaml

现在编辑 NFS 服务器地址:

  nfs:
    server: new.server.address.example
    path: "/exported/path/example"

最后,应用你的更改:

kubectl apply -f pv.yaml

假设新的 NFS 服务器可以访问并且 Kubernetes 可以与其通信,您的 pod 就应该开始启动。

答案2

如果您的 pv.yaml 使用了主机名,那么如何将 ip /主机名组合手动插入到您的 /etc/hosts 文件中呢?

另一种解决方法可能是创建一个具有新名称的新 PV 和 PVC,并更改您的 pod 配置以请求与您的 PV 匹配的新 PVC。只需确保保留数据spec.persistentVolumeReclaimPolicy: Retain

特别是因为 pod 已经关闭了...本质上只是创建一个新的 pod(或编辑当前的 pod)来使用旧数据访问新的 PV?

我尚未验证此过程不会删除您的数据...

相关内容