持久卷
● 卷是什么
○ 卷是一个抽象化的存储设备
● 为什么要使用卷
○ 卷可以解决容器崩溃或重启后历史数据丢失的问题
○ 卷可以解决容器或Pod被删除后数据持久保存的问题
○ 卷可以将解决在多个容器内共享数据的问题
○ Pod可以同时使用任意数目的卷
● k8s支持的卷类型
○ 持久卷:持久卷是集群中的存储资源,就像他的名字一样,在里面存储的数据不会随着Pod的删除而丢失。
○ 临时卷:有些应用程序需要额外的存储,但并不关心数据在重启后是否仍然可以。卷会遵从Pod的生命周期,与Pod一起创建和删除。
○ 投射卷:它允许您将多个现有卷源映射到用一个目录。通过将这些不同类型的卷源组合成一个统一的卷,可以更加方便地管理和使用这些资源。
● 如何使用卷
○ 首先编写一个Pod的资源对象文件
○ 在Pod.spec下添加volumes[*]中添加volumeMounts字段,声明卷在容器中的挂载位置
● 注意事项
○ 卷不能挂载到其他卷之上,也不能与其他卷有硬链接
○ Pod配置中的每一个容器必须要独立指定各个卷的挂载位置
hostPath卷是持久卷
● hostPath卷的本质是使用本地设备,例如磁盘、分区、目录、Socket、CharDevice和BlockDevice等等。hostPath卷的可用性取决于底层节点的可用性,如果节点变得不健康,那么hostPath卷也将不可被访问
● hostPath卷里面的数据不会随着Pod的结束而消失
● 注意事项:配置相同Pod,可以在不同节点上表现不同,因为不同节点上映射的文件内容不同