为多个节点中不同命名空间中的多个 Pod 提供高可用性的共享文件系统

问题描述 投票:0回答:1

我有一个系统,本打算仅部署在单个节点上。它的设计“很糟糕”,让多个命名空间上的多个 pod 在某些本地主机路径中存储一些 tar 文件并共享主机路径数据。

现在系统计划过渡到多节点系统。因此,我需要以某种方式为所有这些 Pod 提供一个共享文件系统,这些 Pod 可以部署在这些多个节点上。

我想要了解在这种情况下最好的方法是什么。
另外,我想要一些可以保持高可用性但对现有实施影响最小的方法。虽然这并不理想,但我使用 minio 进行了对象存储的实现,其中数据被推送到 minio 中,然后根据请求提取到 pod 期望的每个节点的主机路径。

kubernetes nfs ceph
1个回答
0
投票

对于平衡高可用性和对现有实施影响最小的解决方案,托管云原生存储服务或分布式文件系统,如 NFS(为了简单起见)或 Ceph/GlusterFS(为了可扩展性和性能)可能是一个不错的选择。根据您的特定用例、性能要求和操作能力来评估这些选项非常重要。 对于您的具体情况,从单节点过渡到需要共享文件系统的多节点系统,我建议采用以下方法:

选择托管云原生存储服务(如果在云上) 如果您的环境是基于云的(AWS、Azure、Google Cloud),那么使用 AWS EFS、Azure Files 或 Google Cloud Filestore 等云原生存储服务可能是最佳选择。

如果不在云上:考虑 NFS 以获得简单性,或考虑 Ceph/GlusterFS 以获得性能 实施步骤 选择存储解决方案:根据您的环境(云或本地)和要求(性能、可扩展性、可管理性)。

数据迁移:计划将现有数据迁移到新的存储系统。这可能需要停机或分阶段的方法。

更新 Kubernetes 配置:修改 pod 规格以使用新的存储解决方案。这将涉及更改您的卷挂载以指向新的共享文件系统。

测试:在全面实施之前,彻底测试新设置,以确保兼容性和性能满足您的需求。

监控和备份:对新的存储解决方案实施监控,并确保您的备份和恢复流程得到相应更新。

此方法应在保持高可用性、最大限度地减少对现有实施的影响以及适应向多节点环境的转变之间提供平衡。

© www.soinside.com 2019 - 2024. All rights reserved.