学习过docker,我们知道在docker中可以配置volume,将容器内和本机地址映射起来,达到容器销毁后再次创建仍然保持原来的数据状态的目的。
在k8s中是如何考虑的呢?
PV 和PVC
如果像docker一样,数据存在本机,例如说虚拟机,如果虚拟机被销毁了,这个时候会怎样?数据也被销毁了。
为了达到高可用的目的,数据需要被存放到第三方存储设备,这些存储设备可以是各种介质和文件系统,用插件实现,用PV统一管理。在系统运营初期,运营人员就大量创建好各种PV,而开发人员使用这些PV,直接创建PVC关联PV就可以了。

可以看到PVC这种资源是开发人员创建,而PV这种资源是运营人员管理。
StorageClass
如果由运营人员创建成千上万的PV,也不现实,k8s使用了StorageClass来解决问题。

对于每个介质,运营人员创建一个StorageClass,而程序员在PVC中关联StorageClass,让StorageClass来分配PV。
小结
对于k8s网络的简要理解就是这样,这几种对象PV、PVC、StorageClass都是由于实际应用催生的,按照场景理解不要被概念埋没了。
网友评论