课件
Pod、PVC、PV和StorageClass是Kubernetes中与存储相关的概念。
-
Pod: Pod是Kubernetes中最小的可调度和可管理的部署单元。每个Pod都包含一个或多个容器以及它们共享的存储资源。Pod可以使用持久卷来保留数据,这样在Pod重新启动时数据不会丢失。
-
PVC (PersistentVolumeClaim): PVC是Pod对持久存储资源的请求声明。它是Pod与底层存储之间的抽象层。PVC定义了Pod需要的存储容量、访问模式(如读/写)、存储类别等信息。
-
PV (PersistentVolume): PV是物理存储资源的抽象表示。它是Kubernetes集群中的实际存储资源,可以由管理员进行配置和管理。PV与PVC相匹配,当一个PVC被创建时,Kubernetes系统会自动查找并绑定一个合适的PV。
-
StorageClass: StorageClass是一种动态创建PV的方式。它定义了一组动态分配的策略,用于根据存储需求创建PV。StorageClass允许管理员为不同的存储类型(例如本地存储、网络存储)定义不同的策略,并通过标签选择器将PVC绑定到特定的StorageClass。
下面是这些概念之间的关系:
- Pod使用PVC来声明对持久存储的需求。
- PVC描述了Pod对存储的要求,并请求一个匹配的PV。
- PV是集群中实际的存储资源,由管理员配置和管理。它可以和多个PVC绑定。
- 当PVC被创建时,Kubernetes系统会查找并绑定一个合适的PV给这个PVC。
- StorageClass定义了动态分配PV的策略,用于根据PVC的需求自动创建和绑定PV。
综上所述,Pod通过PVC声明对持久存储的需求,PVC与PV进行匹配和绑定,而StorageClass定义了创建PV的策略。这些概念共同工作,使得在Kubernetes集群中使用持久化存储变得更加灵活和可扩展。
这是一个存储类(StorageClass)的配置,其中包含了以下几个属性:
-
provisioner: linstor.csi.linbit.com,指定了用于提供存储卷的 CSI(Container Storage Interface)驱动程序。在这种情况下,使用的是 Linstor CSI 驱动程序。
-
reclaimPolicy: Delete,表示当 PVC(PersistentVolumeClaim)被删除时,关联的持久卷(Persistent Volume)也将被删除。这意味着数据将随着 PVC 的删除而一并清除。
-
volumeBindingMode: Immediate,指定了立即绑定模式。这意味着在创建 PVC 时,可以立即将其与可用的持久卷进行绑定,而不需要等待。
请注意,这只是一个存储类的配置示例,并且具体的属性和值可能因环境和需求而有所不同。
自测题
持久化卷方式: