Kubernetes 存储管理全解析
1. 引言
Kubernetes 提供了额外的原语,有助于简化为单个 Pod 以及相关 Pod 组配置和挂载存储卷的过程。接下来,我们将深入探讨 Kubernetes 存储管理的关键概念和技术。
2. 持久卷(PersistentVolumes)
Kubernetes 开发者引入的持久卷子系统是管理存储的关键创新。该子系统由三个相互协作的 Kubernetes 资源组成:持久卷(PersistentVolumes,PV)、持久卷声明(PersistentVolumeClaims,PVC)和存储类(StorageClasses,SC)。这使得存储的定义和生命周期与 Pod 的使用方式得以分离。
- 集群管理员 :负责定义持久卷,可以显式定义,也可以通过创建存储类来动态配置新的持久卷。
- 应用开发者 :创建持久卷声明,描述其应用的存储资源需求,这些声明可以在 Pod 的卷定义中引用。
- Kubernetes 控制平面 :管理持久卷声明与持久卷的绑定。
持久卷定义了对特定位置存储的访问,通常由集群管理员为应用开发者使用而定义。每个 PV 可以代表上一节讨论的相同类型的存储,如云提供商提供的存储、网络存储或直接在工作节点上的存储。由于它们与特定的存储位置相关联,持久卷在 Kubernetes 集群之间不可移植。
2.1 本地持久卷(Local PersistentVolumes)
本地