千家信息网

Kubernetes中存储卷PV和PVC的示例分析

发表于:2025-01-29 作者:千家信息网编辑
千家信息网最后更新 2025年01月29日,这篇文章主要为大家展示了"Kubernetes中存储卷PV和PVC的示例分析",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Kubernetes中存储卷PV
千家信息网最后更新 2025年01月29日Kubernetes中存储卷PV和PVC的示例分析

这篇文章主要为大家展示了"Kubernetes中存储卷PV和PVC的示例分析",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Kubernetes中存储卷PV和PVC的示例分析"这篇文章吧。

一:体系结构图


二:说明

1.单节点Volume是最简单的普通Volume,它和Docker的存储卷类似,使用的是Pod所在K8S节点的本地目录。具体有两种,一种是 emptyDir,是一个匿名的空目录,由Kubernetes在创建Pod时创建,删除Pod时删除。另外一种是 hostPath,与emptyDir的区别是,它在Pod之外独立存在,由用户指定路径名。这类和节点绑定的存储卷在Pod迁移到其它节点后数据就会丢失,所以只能用于存储临时数据或用于在同一个Pod里的容器之间共享数据。

2.普通Volume和使用它的Pod之间是一种静态绑定关系,在定义Pod的文件里,同时定义了它使用的Volume。Volume 是Pod的附属品,我们无法单独创建一个Volume,因为它不是一个独立的K8S资源对象。

3.Persistent Volume 简称PV是一个K8S资源对象,我们可以单独创建一个PV。它不和Pod直接发生关系,而是通过Persistent Volume Claim,简称PVC来实现动态绑定。Pod定义里指定的是PVC,然后PVC会根据Pod的要求去自动绑定合适的PV给Pod使用。

4.PV 定义举例

点击(此处)折叠或打开

  1. apiVersion: v1

  2. kind: PersistentVolume

  3. metadata:

  4. name: pv0003

  5. spec:

  6. capacity:

  7. storage: 5Gi

  8. accessModes:

  9. - ReadWriteOnce

  10. persistentVolumeReclaimPolicy: Recycle

  11. storageClassName: slow

  12. nfs:

  13. path: /tmp

  14. server: 172.17.0.2

5.PVC定义举例

点击(此处)折叠或打开

  1. kind: PersistentVolumeClaim

  2. apiVersion: v1

  3. metadata:

  4. name: myclaim

  5. spec:

  6. accessModes:

  7. - ReadWriteOnce

  8. resources:

  9. requests:

  10. storage: 8Gi

  11. storageClassName: slow

  12. selector:

  13. matchLabels:

  14. release: "stable"

  15. matchExpressions:

  16. - {key: environment, operator: In, values: [dev]}

以上是"Kubernetes中存储卷PV和PVC的示例分析"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0