kubernetes学习笔记-卷:将磁盘挂载在容器20220405

pod中的每个容器都有自己独立的文件系统
1.介绍卷
kubernetes的卷是pos的一个组成部分,因此像容器一样在pod的规范中就定义了。他们不是独立的kubernetes对象,也不能单独创建或删除。pod中的所有容器都可以使用卷,但必须先将它挂载在每个需要访问它的容器中。之前每个容器中,都可以在其文件系统的任意位置挂载卷
介绍可用的卷类型
emptyDir-用于存储临时数据的简单空目录
hostPath-用于将目录从工作节点的文件系统挂载到pod
gitRepo-通过检出Git仓库的内容来初始化卷
nfs-挂载到pod中的nfs共享卷
………
2.通过卷在容器之间共享数据
使用emptydir卷
使用Git仓库作为存储卷
gitRepo卷基本上也是一个emptydir卷,它通过克隆git仓库并在pod启动时检出特定版本来填充数据

3.访问工作节点文件系统上的文件
大多数pod应该忽略他们的主机节点,因此他们不应该访问节点系统上的任何文件。但某些系统级别的pod(切记,这些通常由deamonset管理)确实需要读取节点的文件或使用节点文件系统来访问节点设备。kubernets通过hostpath卷来实现这一点
1)介绍hostPath
hostPath卷指向节点文件系统上的特定文件或目录。是一种持久性存储。gitRepo和emptyDir卷的内容都会在pod被删除时删除,而hostpath卷的内容则不会被删除。如果删除一个pod并且下一个pod使用了指向主机相同路径的hostpath卷,则新的pod将会发现上一个pod留下的数据,但前提必须是将其调度到与第一个pod相同的节点
hostpath卷最好不要作为存储数据库的目录,因为卷的内容存储在特定节点的文件系统中,当数据库pod被重新安排在另一个节点时,会找不到数据库
2)检查使用hostpath卷的系统pod
查看系统pod命令:
kubectl get pod s - -namespace kube-system
hostpat卷通常用于尝试单节点集群中的持久化存储
提示:请记住仅当需要在节点上读取或写入系统文件时才使用hostpath,勿使用它们来持久化跨pod的数据

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值