使用 StatefulSets 将 Kubernetes 存储从 vSphere 迁移到 NFS

使用 StatefulSets 将 Kubernetes 存储从 vSphere 迁移到 NFS

我正在尝试将所有持久卷从 vSphere 移至 NFS,我已成功为许多使用Deploymentkind 的应用程序执行此操作。我所要做的就是:

  • 将 NFS 卷挂载到不同的路径(/tmp例如)
  • 将数据从 vSphere 卷复制到 NFS 卷(使用cppod 中的命令)
  • 交换定义中的卷名称Deployment并最终删除 vSphere 卷

现在,我有 StatefulSet,其中的卷要挂载到每个 Pod 上。这种方法行不通,因为 Kubernetes 不允许您修改定义spec.volumeClaimTemplates中的字段StatefulSets

我有 3 个副本,并且 vSphere 卷是动态配置的,但是我现在有 3 个手动创建的 NFS 卷,我想将现有数据迁移到它们。

知道如何执行此操作吗?

答案1

您是否尝试过使用韦莱罗:它是 Vmware 工具,可让您备份和恢复 Kubernetes 集群资源和持久卷。您可以在公共云平台或本地运行 Velero。Velero 可让您:

  • 备份您的集群并在丢失时恢复。
  • 将集群资源迁移到其他集群。
  • 将生产集群复制到开发和测试集群。

相关内容