在 Kubernetes (k8S) 中,支持多种存储供应模式以满足不同场景下的持久化存储需求。主要的存储供应模式包括:
- 静态供应(Manual Provisioning)
- 在这种模式下,集群管理员手动创建 PersistentVolume (PV) 资源,并配置其具体的存储类型、大小和访问模式。然后用户通过创建与之匹配的 PersistentVolumeClaim (PVC) 来请求和使用这些预置的 PV。
- 动态供应(Dynamic Provisioning)
- 动态供应允许 Kubernetes 根据用户创建 PVC 时指定的需求自动创建相应的 PV。这需要预先配置 StorageClass 对象,它定义了如何创建新 PV 的规则,例如使用的存储类型(如 AWS EBS、GCP PD 或 NFS 等)、性能特性以及回收策略等。当一个符合 StorageClass 规则的 PVC 创建后,Kubernetes 将调用对应的动态 Provisioner 来创建并绑定合适的 PV。
- 外部存储集成
- Kubernetes 支持众多第三方存储系统的集成,例如 NFS、iSCSI、GlusterFS、Ceph RBD、AWS EBS、GCP Persistent Disk、Azure Disk、OpenStack Cinder 等。
- CSI(Container Storage Interface)
- CSI 是一种标准化接口,用于容器编排系统与底层存储系统之间的交互,使得第三方存储供应商能够为 Kubernetes 提供兼容的存储插件。通过 CSI 插件,Kubernetes 可以支持更多的存储解决方案,并实现它们的动态供应和管理。
综上所述,Kubernetes 支持从静态到动态、从内置到第三方的广泛存储供应模式,确保可以灵活地将各种类型的存储资源无缝集成到容器应用中。