hostPath
Last updated
Was this helpful?
Last updated
Was this helpful?
hostPath卷指向Node本地的文件系统,可以将Node文件系统上特定文件或目录挂载至Pod的容器中,因此其可以实现数据的持久化存储。
hostPath卷的生命周期与Pod的生命周期不一致,因此,随着Pod的删除,hostPath卷并不会随之删除,重新生成的Pod若同样挂载Node下的该路径映射的hostPath卷,则会看到之前的Pod存放在其中的数据。
因此,hostPath卷只能在单节点集群中使用,因为Pod的数据只会被保存至其所处的Node的文件系统中,在多节点集群中,其他Node中并没有该Pod存储的数据。
可以用下图来表示hostPath卷被使用时的情况:
hostPath卷因为是将Node的文件系统中的文件或目录挂载至Pod中的容器中,因此在配置时,需要指定Node上需要挂载的文件或目录。
hostPath卷的创建分为以下两步:
定义卷:在Pod的spec.volumes
中定义卷,并且在spec.volumes.hostPath
中定义该卷相关的配置,主要是path
,即Node上需要被挂载的文件或目录路径;
挂载卷:在Pod的spec.containers.volumeMounts
中指定挂载点和挂载的卷名;
下面举一个例子,创建一个名为mongodb
的Pod,其在内部的名为mongodb
的容器的/data/db
下挂载一个名为mongodb-data
的hostPath卷,该卷映射的是Node上的/tmp/mongodb
路径: