写在前面
本文一起看下如何挂载本地的磁盘到POD中。
1:都需要哪些API对象
现实世界中的存储设备有非常非常多的种类,如本文要分析的计算机磁盘,还包括NFS(一种网络磁盘存储协议)
,Ceph(一种分布式的文件存储系统)
,不管是哪种方式,最终都是通过将数据存储到硬盘来实现持久化,但是不同种类写入数据的方式是不相同的,k8s针对这些不同的存储目标进行抽象定义了PersistentValume API对象,如下:
dongyunqi@mongodaddy:~/k8s$ kubectl api-resources|egrep -w 'PersistentVolume|KIND'
NAME SHORTNAMES APIVERSION NAMESPACED KIND
persistentvolumes pv v1 false PersistentVolume
现在不同存储系统的抽象已经有了,那么具体该怎么使用办呢?能不能让pv拥有这种能力呢?自然是可以的,但是这又不符合单一职责
的原则了,所以对于这些存储系统的具体使用k8s又定义了一个新的API对象,Persistent Volume Claim,如下:
dongyunqi@mongodaddy:~/k8s$ kubectl api-resources|egrep -w 'PersistentVolumeClaim|KIND'
NAME SHORTNAMES APIVERSION NAMESPACED KIND
persistentvolumecla