专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

Kubernetes实战-PV和PVC

K8S中的pv&&pvc

参考:tech.souyunku.com/benjamin77/…

1.pv

PersistentVolume (PV) 是外部存储系统中的一块存储空间,由管理员创建和维护。与 Volume 一样,PV 具有持久性,生命周期独立于 Pod。

2.pvc

  • PersistentVolumeClaim (PVC) 是对 PV 的申请 (Claim)。PVC 通常由普通用户创建和维护。需要为 Pod 分配存储资源时,用户可以创建一个 PVC,指明存储资源的容量大小和访问模式(比如只读)等信息,Kubernetes 会查找并提供满足条件的 PV。
  • 有了 PersistentVolumeClaim,用户只需要告诉 Kubernetes 需要什么样的存储资源,而不必关心真正的空间从哪里分配,如何访问等底层细节信息。这些 Storage Provider 的底层信息交给管理员来处理,只有管理员才应该关心创建 PersistentVolume 的细节信息。

3.pv&pvc&pod

3.1 创建pv

80_1.png

  • 1.capacity 指定 PV 的容量为 1G。
  • 2.accessModes 指定访问模式为 ReadWriteOnce,支持的访问模式有:
    • ReadWriteOnce – PV 能以 read-write 模式 mount 到单个节点。
    • ReadOnlyMany – PV 能以 read-only 模式 mount 到多个节点。
    • ReadWriteMany – PV 能以 read-write 模式 mount 到多个节点。
  • 3.persistentVolumeReclaimPolicy 指定当 PV 的回收策略为 Recycle,支持的策略有:
    • Retain – 需要管理员手工回收。
    • Recycle – 清除 PV 中的数据,效果相当于执行 rm -rf /thevolume/*。
    • Delete – 删除 Storage Provider 上的对应存储资源,例如 AWS EBS、GCE PD、Azure Disk、OpenStack Cinder Volume 等。
  • 4.storageClassName 指定 PV 的 class 为 nfs。相当于为 PV 设置了一个分类,PVC 可以指定 class 申请相应 class 的 PV。
  • 5.path指定 PV 在 NFS 服务器上对应的目录。

3.2 创建pvc

80_2.png

PVC 就很简单了,只需要指定 PV 的容量,访问模式和 class。

创建pod

80_3.png与使用普通 Volume 的格式类似,在 volumes 中通过 persistentVolumeClaim 指定使用 mypvc1 申请的 Volume。

3.3 pv的回收

pv的回收,主要通过删除pvc来实现,未删除pvc之前,pv的状态时bound,删除pvc之后,pv的状态为available

4. pv的动态供给

前面的例子中,我们提前创建了 PV,然后通过 PVC 申请 PV 并在 Pod 中使用,这种方式叫做静态供给(Static Provision)。

与之对应的是动态供给(Dynamical Provision),即如果没有满足 PVC 条件的 PV,会动态创建 PV。相比静态供给,动态供给有明显的优势:不需要提前创建 PV,减少了管理员的工作量,效率高。

动态供给是通过 StorageClass 实现的,StorageClass 定义了如何创建 PV,下面是两个例子。

StorageClass standard:

80_4.png

StorageClass slow:

80_5.png

这两个 StorageClass 都会动态创建 AWS EBS,不同在于 standard 创建的是 gp2 类型的 EBS,而 slow 创建的是 io1 类型的 EBS。不同类型的 EBS 支持的参数可参考 AWS 官方文档。

StorageClass 支持 Delete 和 Retain 两种 reclaimPolicy,默认是 Delete。

与之前一样,PVC 在申请 PV 时,只需要指定 StorageClass 和容量以及访问模式,比如:

80_6.png

除了 AWS EBS,Kubernetes 支持其他多种动态供给 PV 的 Provisioner,完整列表请参考 kubernetes.io/docs/concep…

文章永久链接:https://tech.souyunku.com/44245

未经允许不得转载:搜云库技术团队 » Kubernetes实战-PV和PVC

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们