我有多个持久卷需要缩小以减少托管成本。我已经知道 Kubernetes 没有提供这样的选项。我也尝试过从快照克隆或还原到一个更小的新卷,但结果相同(请求的卷大小XXX小于源快照的大小XXX
)。
尽管如此,我仍然需要一种解决方案或变通方法来完成此操作。
该集群使用 Rancher 部署,并将卷挂载到 Ceph 集群。所有内容都由外部主机商提供。
我有多个持久卷需要缩小以减少托管成本。我已经知道 Kubernetes 没有提供这样的选项。我也尝试过从快照克隆或还原到一个更小的新卷,但结果相同(请求的卷大小XXX小于源快照的大小XXX
)。
尽管如此,我仍然需要一种解决方案或变通方法来完成此操作。
该集群使用 Rancher 部署,并将卷挂载到 Ceph 集群。所有内容都由外部主机商提供。
最终,我通过以下步骤实现了所需的目标(仍然需要一些棘手和手动的工作):
job-template.yaml
的规范中设置源和目标卷这有点棘手,但我会尝试手动创建适当大小的卷,并用来自较大卷的数据填充它们,然后重新部署,使应用程序连接到新卷。
我知道答案相当通用,但如何操作将取决于您拥有的基础架构的能力和访问权限。
我不熟悉基于 Ceph 的卷,但如果您能够在 Ceph 中创建新卷,在 Ceph 中直接从较大卷复制到新卷,然后手动创建 PV,但配置为使用较小的卷(因此在创建 PV 时不会提供 Ceph 存储),那可能是最简单的选择。
kubctl cp
来完成这样的任务。或者还有其他选项可以获取和复制数据到新卷吗? - Philipp Hölscher