当前位置: 首页 > news >正文

【从问题中去学习k8s】k8s中的常见面试题(夯实理论基础)(二十一)

  本站以分享各种运维经验和运维所需要的技能为主

《python零基础入门》:python零基础入门学习

《python运维脚本》: python运维脚本实践

《shell》:shell学习

《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战

《k8》从问题中去学习k8s

《docker学习》暂未更新

《ceph学习》ceph日常问题解决分享

《日志收集》ELK+各种中间件

《运维日常》运维日常

《linux》运维面试100问

《DBA》db的介绍使用(mysql、redis、mongodb...)

思考一下问题:

89、 k8s数据持久化的方式有哪些?

参考答案:

89、 k8s数据持久化的方式有哪些?
答:
1)EmptyDir(空目录):
没有指定要挂载宿主机上的某个目录,直接由Pod内保部映射到宿主机上。类似于docker中的managervolume。
主要使用场景:
只需要临时将数据保存在磁盘上,比如在合并/排序算法中;
作为两个容器的共享存储,使得第一个内容管理的容器可以将生成的数据存入其中,同时由同一个
webserver容器对外提供这些页面。
emptyDir的特性:
同个pod里面的不同容器,共享同一个持久化目录,当pod节点删除时,volume的数据也会被删除。如
果仅仅是容器被销毁,pod还在,则不会影响volume中的数据。
总结来说:emptyDir的数据持久化的生命周期和使用的pod一致。一般是作为临时存储使用。2)Hostpath:
将宿主机上已存在的目录或文件挂载到容器内部。类似于docker中的bind mount挂载方式。
这种数据持久化方式,运用场景不多,因为它增加了pod与节点之间的耦合。
一般对于k8s集群本身的数据持久化和docker本身的数据持久化会使用这种方式,可以自行参考
apiService的yaml文件,位于:/etc/kubernetes/main...目录下。3)PersistentVolume(简称PV):
基于NFS服务的PV,也可以基于GFS的PV。它的作用是统一数据持久化目录,方便管理。
在一个PV的yaml文件中,可以对其配置PV的大小,指定PV的访问模式:
ReadWriteOnce:只能以读写的方式挂载到单个节点;
ReadOnlyMany:能以只读的方式挂载到多个节点;
ReadWriteMany:能以读写的方式挂载到多个节点。以及指定pv的回收策略:
recycle:清除PV的数据,然后自动回收;
Retain:需要手动回收;
delete:删除云存储资源,云存储专用;
PS:这里的回收策略指的是在PV被删除后,在这个PV下所存储的源文件是否删除)。
若需使用PV,那么还有一个重要的概念:PVC,PVC是向PV申请应用所需的容量大小,K8s集群中可能
会有多个PV,PVC和PV若要关联,其定义的访问模式必须一致。定义的storageClassName也必须一
致,若群集中存在相同的(名字、访问模式都一致)两个PV,那么PVC会选择向它所需容量接近的PV去
申请,或者随机申请。

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • VMware安装windows虚拟机详细过程
  • HTTP 之 Web Sockets 安全策略(十)
  • 大数据-114 Flink DataStreamAPI 程序输入源 自定义输入源 Rich并行源 RichParallelSourceFunction
  • 国际化产品经理的挑战与机遇:跨文化产品管理的探索
  • 大数据新视界--大数据大厂之MySQL 数据库课程设计:数据安全深度剖析与未来展望
  • CentOS全面停服,国产化提速,央国企信创即时通讯/协同门户如何选型?
  • 开源模型应用落地-LangChain高阶-记忆组件-ConversationTokenBufferMemory正确使用(七)
  • 深度学习-OpenCv的运用(4)
  • 群论 (笔记)
  • uniapp常用标签
  • MATLAB 中的 reshape 函数
  • blender中获取虚拟相机渲染图片上每像素对应的纹理上的像素值
  • 3.美食推荐系统(Java项目springboot和vue)
  • linux 硬件 arm架构 汇编语言
  • 步进电机相关
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • docker-consul
  • java取消线程实例
  • laravel 用artisan创建自己的模板
  • mysql_config not found
  • NLPIR语义挖掘平台推动行业大数据应用服务
  • quasar-framework cnodejs社区
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • XML已死 ?
  • 产品三维模型在线预览
  • 计算机在识别图像时“看到”了什么?
  • 跨域
  • 配置 PM2 实现代码自动发布
  • 前端_面试
  • 新书推荐|Windows黑客编程技术详解
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • ###C语言程序设计-----C语言学习(6)#
  • #Ubuntu(修改root信息)
  • (1)Android开发优化---------UI优化
  • (1)常见O(n^2)排序算法解析
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (3)选择元素——(17)练习(Exercises)
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (C++哈希表01)
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (done) 两个矩阵 “相似” 是什么意思?
  • (java)关于Thread的挂起和恢复
  • (板子)A* astar算法,AcWing第k短路+八数码 带注释
  • (二)正点原子I.MX6ULL u-boot移植
  • (附源码)spring boot校园拼车微信小程序 毕业设计 091617
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (一)appium-desktop定位元素原理
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • .net 验证控件和javaScript的冲突问题
  • .net项目IIS、VS 附加进程调试
  • .php结尾的域名,【php】php正则截取url中域名后的内容
  • ??javascript里的变量问题
  • [ C++ ] STL_vector -- 迭代器失效问题