1.4.10

注意kubernetes的volume与docker的volume的区别!

容器配置文件集中化定义与管理,是通过configMap这个新的资源对象来实现的

kubernetes提供了非常丰富的volume类型,如下:
1.emptyDir
*临时空间临时目录且无须永久保留
*长时间任务中间过程CheckPoint的临时目录
*一个容器需要从另外一个容器中获取数据目录

2.hostPath
hostPath为pods上挂载宿主机的文件或目录
*容器应用程序生成的日志文件需要用具保存时,可以使用宿主机的告诉文件系统进行存储
*需要访问宿主机上的docker引擎内部数据结构的容器应用时,可以通过定义hostPath为宿主机/var/lib/docker目录,使容器内部应用可以直接访问docker文件系统。

在使用这种类型的volume时,需要注意以下几点:
*在不同的node上具有相同配置的pod可能会因为宿主机伤的目录和文件不同而导致对volume上目录和文件的访问结果不一致
*如果使用了资源配额管理,则kubernetes无法将hostPath在宿主机上使用的资源纳入管理


3.gcePersistentDisk  (persistent:执着的不屈不挠的。)
使用这种类型的volume表示使用谷歌公有云提供的永久磁盘(Persistent Disk,PD)存放volume的数据。PD上的内容会被永久保存,当pod被删除时,PD只是被卸载
使用gccePersistentDisk有以下一些限制条件。
*Node需要是GCE虚拟机
*这些虚拟机需要与PD存在于相同的GCE项目和Zone中

4.awsElasticBlockStore

5.NFS
使用NFS网络文件系统提供的共享目录存储数据时,我们需要在系统中部署一个NFS Server

6.其他类型的Volume
*iscsi
*flocker
*glusterfs
*rbd
*gitRepo
*secret