上QQ阅读APP看书,第一时间看更新
第4章 容器存储
虽然Kubernetes是在无状态工作负载的世界中诞生的,但运行有状态的服务已经变得越来越普遍。即使是复杂且有状态的工作负载(如数据库和消息队列),也正在进入Kubernetes集群。为了支持这些工作负载,Kubernetes需要提供超越临时存储的能力。也就是说,面对各种事件,如应用程序崩溃或工作负载被重新安排到不同的主机,系统可以提供更好的弹性和可用性。
在本章中,我们将探讨我们的平台如何为应用程序提供存储服务。我们将从应用持久性和存储系统期望的关键问题开始,然后再讨论Kubernetes中可用的存储基元。对于更高级的存储需求,我们将着眼于容器存储接口(CSI;https://kubernetes-csi.github.io/docs),它使我们能够与各种存储服务提供程序集成。最后,我们将探索使用CSI插件来为我们的应用程序提供自助式存储。
存储本身就是一个庞大的主题。我们的目的是为你提供足够的细节,以便你对可能提供给工作负载的存储做出明智的决定。如果你没有存储相关的工作背景,我们强烈建议与你的基础设施或存储团队一起研究这些概念。Kubernetes并不否定你的组织对存储专业知识的需求!