Eswlnk Blog Eswlnk Blog
  • 资源
    • 精彩视频
    • 破解专区
      • WHMCS
      • WordPress主题
      • WordPress插件
    • 其他分享
    • 极惠VPS
    • PDF资源
  • 关于我
    • 论文阅读
    • 关于本站
    • 通知
    • 左邻右舍
    • 玩物志趣
    • 日志
    • 专题
  • 热议话题
    • 游戏资讯
  • 红黑
    • 渗透分析
    • 攻防对抗
    • 代码发布
  • 自主研发
    • 知识库
    • 插件
      • ToolBox
      • HotSpot AI 热点创作
    • 区块
    • 快乐屋
    • 卡密
  • 乱步
    • 文章榜单
    • 热门标签
  • 问答中心反馈
  • 注册
  • 登录
首页 › 其他分享 › 「其他分享」kubesphere磁盘挂载小bug记录

「其他分享」kubesphere磁盘挂载小bug记录

Eswlnk的头像
Eswlnk
2022-08-19 0:14:05
「其他分享」kubesphere磁盘挂载小bug记录-Eswlnk Blog
智能摘要 AI
本文介绍了Kubernetes中的卷(Volumes)概念及其在解决容器生命周期管理中的重要性。文中重点讲解了`hostPath`类型的卷,其作用是将宿主机上的文件或目录挂载到Pod中。通过示例展示了如何配置`hostPath`卷,包括`volumes`和`volumeMounts`的相关参数,如`path`、`type`、`mountPath`等,并详细解释了各参数的功能和限制条件。此外,还讨论了`mountPropagation`的不同模式及其应用场景。文中通过实际操作演示了如何正确配置和验证`hostPath`卷的使用,确保数据持久性和多容器间的数据共享。最终通过实验验证了配置的有效性。

前言

容器中的磁盘文件随着容器的生而生,随着容器的死而灭,这给运行在容器中的重要应用来说存在一些问题:

  • 当容器崩溃时,kubelet会以初始状态重启容器,会导致容器中的重要文件不复存在
  • 当在Pod中运行多个容器时,我们往往需要这些容器共享一些文件

于是,K8S便创造了卷——Volumes

kubeSphere磁盘挂载设置界面,此处使用了kubesphere 自带磁盘挂载设置(采用hostPath),配置完成查看yaml 并未生效,运行容器时也报出未找到对应存储卷的错误。

「其他分享」kubesphere磁盘挂载小bug记录-Eswlnk Blog
「其他分享」kubesphere磁盘挂载小bug记录-Eswlnk Blog
此处注明一下hostPath 相关配置项

卷类型之hostPath

hostPath类型的卷可以把宿主机节点上的文件或文件夹挂载到pod中

先来看看hostPath类型的卷如何配置:

apiVersion: v1
kind: Pod
metadata:
  name: test-pd
spec:
  volumes:
  - name: test-volume
    hostPath:
      path: /data
      type: Directory
  containers:
  - image: k8s.gcr.io/test-webserver
    name: test-container
    volumeMounts:
    - name: test-volume
      mountPath: /test-pd
      mountPropagation: None
      readOnly: true
      subPath: test.txt
      subPathExpr: 

这里针对每一个配置项逐一解释:

  • sepc.volumes: 配置宿主机节点上的挂载目录
配置项名称是否必须说明
name必须卷的名称,在pod内必须唯一
hostPath.path必须宿主机上的目录路径,如果是符号链接,它将根据符号链接追踪到实际路径
hostPath.type可选hostPath卷的类型,默认为“”

hostPath.type的枚举值有:

取值说明
DirectoryOrCreate如果给定路径不存在,将根据需要在那里创建一个空目录,权限设置为755,与Kubelet具有相同的组和所有权。
Directory给定的目录路径必须存在
FileOrCreate如果给定路径不存在,将根据需要在那里创建一个空文件,权限设置为644,与Kubelet具有相同的组和所有权。
File给定路径上必须存在对应文件
Socket给定路径上必须存在一个UNIX socket
CharDevice给定路径上必须存在字符设备
BlockDevice给定路径上必须存在块设备

使用type字段时需要注意:

  • 由于节点上的文件不同,具有相同配置(如从podTemplate创建的)的Pods在不同节点上的行为可能不同
  • 当Kubernetes按照计划添加资源感知调度(?)时,它将不会使用hostPath声明的资源
  • 在主机上创建的文件或目录只能由根用户写。你需要在一个有特权的容器中以root身份运行进程,或者修改主机上的文件权限,以便能够写入hostPath卷
  • containers.volumeMounts: 配置挂载到pod里的路径
配置项名称是否必须说明
name必须此处卷的名称必须和spec.volumes下的某个卷的名称一致
mountPath必须挂载到容器里的路径,不能包含英文冒号‘:’
mountPropagation可选该参数决定如何将挂载从主机传播到容器,反之亦然。默认为None
readOnly可选是否只读,默认为可读写
subPath可选将spec.volumes中的子目录挂载到容器中不同的位置,默认为“”,也就是挂载到spec.volumes定义的根目录
subPathExpr可选与subPath类似,但是路径中可以支持从环境变量取值:${VAR_NAME},默认为“”,也就是spec.volumes定义的根目录。和subPath只能有一个出现

mountPropagation的取值有:

  • None:默认值,卷在容器中以及宿主机上的后续挂载相互隔离
  • HostToContainer:任何在宿主机上创建的卷挂载在容器中都是可见的
  • Bidirectional:任何在容器中创建的卷挂载都会传播到宿主机,然后传播到所有使用此挂载的pod中的容器里

了解了yaml 对应配置项,我们进行手动配置对应的挂载磁盘

「其他分享」kubesphere磁盘挂载小bug记录-Eswlnk Blog

修改后,创建容器成功

验证:宿主机创建一个文件

「其他分享」kubesphere磁盘挂载小bug记录-Eswlnk Blog

查看pod内文件情况

「其他分享」kubesphere磁盘挂载小bug记录-Eswlnk Blog

至此验证成功。

本站默认网盘访问密码:1166
本站默认网盘访问密码:1166
k8skubesphere容器
0
0
Eswlnk的头像
Eswlnk
一个有点倒霉的研究牲站长
赞赏
「其他分享」code 提高生产力(图方便)工具分享
上一篇
「其他分享」百度搜索蜘蛛全面解析说明
下一篇

评论 (0)

请登录以参与评论
现在登录
    发表评论

猜你喜欢

  • 「亲测有效」Google Gemini 学生优惠:解决身份验证和支付卡验证
  • 解决国际版EdgeOne绑卡和手机验证问题
  • 小工具开发之EdgeOne免费计划兑换工具
  • 「其他分享」市面上静态页面服务商比较与推荐:选择最适合您的平台
  • 「图片优化」利用Cloudflare CDN减少回源Bucket流量
Eswlnk的头像

Eswlnk

一个有点倒霉的研究牲站长
1108
文章
319
评论
679
获赞

随便看看

「其他分享」D-H 密钥交换—即使被窃听也能安全地交换密钥
2022-08-13 9:06:17
「其他分享」BitTorrent 分布式散列表(DHT)协议详解
2022-08-12 14:56:30
「游戏分享」《海岸桃源:文明之种》v0.9中文版
2022-11-26 14:01:38

文章目录

专题展示

WordPress53

工程实践37

热门标签

360 AI API CDN java linux Nginx PDF PHP python SEO Windows WordPress 云服务器 云服务器知识 代码 免费 安全 安卓 工具 开发日志 微信 微软 手机 插件 攻防 攻防对抗 教程 日志 渗透分析 源码 漏洞 电脑 破解 系统 编程 网站优化 网络 网络安全 脚本 苹果 谷歌 软件 运维 逆向
  • 首页
  • 知识库
  • 地图
Copyright © 2023-2025 Eswlnk Blog. Designed by XiaoWu.
本站CDN由 壹盾安全 提供高防CDN安全防护服务
蜀ICP备20002650号-10
页面生成用时 0.559 秒   |  SQL查询 43 次
本站勉强运行:
友情链接: Eswlnk Blog 网站渗透 倦意博客 特资啦!个人资源分享站 祭夜博客 iBAAO壹宝头条
  • WordPress142
  • 网络安全64
  • 漏洞52
  • 软件52
  • 安全48
现在登录
  • 资源
    • 精彩视频
    • 破解专区
      • WHMCS
      • WordPress主题
      • WordPress插件
    • 其他分享
    • 极惠VPS
    • PDF资源
  • 关于我
    • 论文阅读
    • 关于本站
    • 通知
    • 左邻右舍
    • 玩物志趣
    • 日志
    • 专题
  • 热议话题
    • 游戏资讯
  • 红黑
    • 渗透分析
    • 攻防对抗
    • 代码发布
  • 自主研发
    • 知识库
    • 插件
      • ToolBox
      • HotSpot AI 热点创作
    • 区块
    • 快乐屋
    • 卡密
  • 乱步
    • 文章榜单
    • 热门标签
  • 问答中心反馈