首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kubernetes - PersitentVolume vs StorageClass

Kubernetes - PersitentVolume vs StorageClass
EN

Server Fault用户
提问于 2022-01-31 14:39:11
回答 2查看 144关注 0票数 0

我有一个来自本文介绍postgresql通过kubernetes状态集的持久卷的例子

代码语言:javascript
复制
kind: PersistentVolume
apiVersion: v1
metadata:
  name: pgdata
  labels:
    app: postgres
    type: local
spec:
  storageClassName: sc001
  capacity:
    storage: 1Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/var/data"

这似乎行得通,但在逻辑上却有问题。

  1. 据我所知,您需要一个persistentVolume 一个storageClass来满足PersistentVolumeClaim的需求。其中PV是静态的,而SC是动态的。我将理解为排他的一个另一个,not都是(我认为这在OR的位置上称为NOR )。所以我不明白storageClaseName在这里做什么。有人能帮我理解逻辑吗?
  2. 我相信type: local & path: "/var/data"意味着卷存在于节点的本地文件系统中,并且它的内容可以在该节点的/var/data目录中找到,如果我想使用其他的东西,那么对于type,需要使用什么值呢?就像供应程序提供的存储一样(在我的例子中是csi.vsphere.vmware.com)?
EN

回答 2

Server Fault用户

发布于 2022-01-31 20:34:30

希望我问得对。

persistentVolumeClaim总是绑定到persistentVolume,其思想是让一个声明连接到磁盘上,这样pod就可以连接到同一个磁盘上,而不管它部署在哪个节点上。

storageClass是一种自动persistentVolume配置机制,这意味着如果您指定了一个persistentVolumeClaim,并且配置了一个默认的storageClass,它将创建一个persistentVolume并将其附加到persistentVolumeClaim。

您还可以手动创建一个persistentVolume,它将附加到persistentVolumeClaim上(不管是storageClass),但是用数百个storageClass来显示一个大环境,并在每个pvc上维护一个pv。

您还可以指定要将pvc附加到的pv。

type:local配置是节点上的本地卷,它充当pv。在您的示例中,vmware创建一个vmdk文件并将其复制到部署pod的节点。

希望这能帮上忙。

票数 3
EN

Server Fault用户

发布于 2022-01-31 21:04:03

代码语言:javascript
复制
Question: So I do not understand what a storageClaseName is doing in here. Can anybody help me out with the logical understanding?

storageClaseName将指定持久性卷的类。我将利用一个用例来解释。想象一下,您想要管理您的生产关键应用程序的3种不同类别的存储。黄金,银和青铜。黄金用于生产级关键应用程序,rest用于不太关键的应用程序。现在,您可以根据应用程序的风险级别轻松地为其指定存储类型。例如,我想为我的视频流服务使用黄金类存储,然后我将不得不指定一个storageClassName设置为黄金类的PVC。现在,kubernetes将发现(如果可用)一个PV,它属于黄金类类别,以满足这一要求。如果有一个PV的大小足以满足这个PVC,但不属于黄金类,那么该PV将不会被用来满足这一要求。

代码语言:javascript
复制
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: gold-class-claim
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: gold-class-storage
  ....
代码语言:javascript
复制
Question: What value would I have to use for type whether I wanted to use something else?

请参考以下链接:https://kubernetes.io/docs/concepts/storage/persistent-volumes/#types-of-persistent-volumes

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1091771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档