persistentVolumeClaim persistentVolume

1、现状

1、存储设备,存储类型繁多,如果真要使用,则需要花费大量时间去了解各种存储的配置。

2、pvc的逻辑

1、pod中定义需要使用存储卷的规格大小。其namespace和pvc中的namespace建立绑定关系。
2、pvc和pv建立绑定关系。
3、pv则是真正存储设备(nas,glusterfs等)上的一段空间。
4、当有服务调用pvc的时候,pvc会根据pod服务定义的资源规格大小去绑定规格大小一致或向上取最相似规格大小的pv资源。
  • pv和pvc都是kubernetes上的一种资源。
  • 一个pv只能和一个pvc绑定。
  • 一个pvc可以被多个pod访问。

3、三者关系

如下图所示:

../../../../_images/pvc.png
1、存储工程师创建维护好具体的存储设备。
2、运维工程师统一创建pv和pvc资源。
3、用户则在pods中创建挂载,关联pvc的namespace。

4、注意点

  • pv资源的metadata不要去定义namespace,因为pv资源属于标准资源级别,而不是namespace级别。
  • kubernetes 1.9之后版本,pv如果有相关联的pvc未释放,那么无法直接释放pv。