在Kubernetes集群中,一块持久化存储空间是可以被回收再利用,简称PV,即PersistentVolume,Pod实例需要使用PV的时候,可以使用PVC定义申请PV存储资源,PVC是PersistentVolumeClaim的简称,PV的申请分为静态申请或者动态申请。
如上所示,Pod实例挂载一个主机类型的持久化存储类型到容器实例中,在回收再利用之前,使用rm命令清空该存储空间的旧数据内容
如上所示,使用claimRef属性字段实现PVC与PV之间相互引用与绑定
如上所示,为StorageClass存储类设置可扩展容量的字段allowVolumeExpansion
|-----------------------------------------------------|
| csi 容器存储接口,为Kubernetes集群挂载存储文件系统到Pod容器实例中的可扩展接口 |
| fc 挂载块存储到Pod容器实例中 |
| hostPath 挂载主机存储文件系统到Pod容器实例中 |
| iscsi 以IP地址的方式挂载SCSI存储文件系统Pod容器实例中 |
| local 挂载本地存储文件系统到Pod容器实例中,例如,一块磁盘、一个分区或者一个文件夹 |
| nfs 挂载网络共享文件系统到Pod容器实例中 |
如上所示,Kubernetes集群支持的、可扩展的挂载持久化存储类型
如上所示,定义一个nfs类型的持久化存储PV,其容量大小是5Gi,其中,volumeMode包括Block块存储类型以及FileSystem文件系统存储类型,accessModes设置访问类型,ReadWriteOnce标识只能被一个服务器节点Node读写,ReadOnlyMany标识能被多个服务器节点Node读,ReadWriteMany标识能被多个服务器节点Node读写,ReadWriteOncePod标识只能被一个Pod读写
如上所示,定一个PVC,其容量大小是8Gi
如上所示,在Pod中定义一个PVC,由Kubernetes集群根据条件查找PV,并挂载到Pod容器实例中
如上所示,定义一个PV,挂载一个block块存储类型fc到Pod容器实例中,其容量大小是10Gi
如上所示,定义一个PVC,其存储类型是block块存储
如上所示,定义一个Pod,使用PVC申请一个block块存储类型PV,并挂载到Pod的容器实例中
如上所示,定义一个PVC,申请一个容量大小是10Gi的快照存储类型VolumeSnapshot
如上所示,定义一个PVC,从其他PVC中申请持久化存储,其容量大小是10Gi