Kubernetes云原生数据管理
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

Kubernetes存储管理

为大量数据提供持久化或分析的任何服务都需要合适的存储设备。早期版本的Kubernetes将存储视为技术栈的基本组成部分,并且假设大多数工作负载都是暂时的。但这完全不适用于数据场景——每次在移动容器时Postgres数据文件都会被删除,这显然不可接受。此外,实施底层块存储有很多方案可供选择,从老旧的5400RPM旋转型磁盘到高性能的NVMe硬盘,起初用户可能没有头绪。所幸,Kubernetes在过去的几年中一直关注此问题,并且此问题现在已经有了显著改善。

通过添加存储类(StorageClass)等功能,可以满足对性能或容量的特定要求。通过自动化,可以避免性能不好或容量不足的问题。避免意外也是存储管理的一部分,无论是将所需容量初始化,还是在需要时增加容量都是如此。当存储容量被耗尽时,所有操作都会停止。

将Kubernetes的分布式特性与数据存储相结合,可以为自我修复创造更多可能。自动备份和快照可以应对潜在的数据丢失问题。计算和存储并用,既能最大限度地降低硬件发生故障的风险,又能在发生不可避免的故障时自动恢复到所需状态。这些功能让Kubernetes的数据存储更具吸引力。