周志明的软件架构课
周志明
博士,远光软件研究院院长,《深入理解 Java 虚拟机》《凤凰架构》等书作者
54204 人已学习
免费领取
课程目录
已完结/共 74 讲
架构师的视角 (24讲)
周志明的软件架构课
15
15
1.0x
00:00/00:00
登录|注册

57 | Kubernetes存储生态系统:几种有代表性的CSI存储插件的实现

你好,我是周志明。
随着 Kubernetes 的 CSI 规范成为容器业界统一的存储接入标准,现在几乎所有的云计算厂商都支持自家的容器通过 CSI 规范去接入外部存储,能够应用于 CSI 与 FlexVolume 的存储插件更是多达数十上百款,下图就展示了部分容器存储提供商,可以说,容器存储已经算是形成了初步的生态环境。
不过在咱们的课程里,我并不会去展开讨论各种 CSI 存储插件的细节,我会采取跟 CNI 网络插件类似的讲述方式,以不同的存储类型为线索,介绍其中有代表性的实现。
实际上,目前出现过的存储系统和设备,我们都可以划分到块存储、文件存储和对象存储这三种存储类型之中,其划分的根本依据并不是各种存储是如何储存数据的,因为那完全是存储系统私有的事情。
我认为更合理的划分依据是,各种存储会提供什么形式的接口来供外部访问数据,而不同的外部访问接口会如何反过来影响存储的内部结构、性能与功能表现。虽然块存储、文件存储和对象存储可以彼此协同工作,但它们各自都有自己明确的擅长领域与优缺点。所以,只有理解它们的工作原理,因地制宜地选择最适合的存储,才能让系统达到最佳的工作状态。
那么接下来,我就按照它们出现的时间顺序来给你一一介绍下。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

Kubernetes存储生态系统中,CSI规范成为容器存储接入标准,各种存储插件应运而生。本文从块存储、文件存储和对象存储三种存储类型出发,介绍了它们的特点和实现。块存储适合高性能应用,文件存储提供更高层次的存储,而对象存储则适合存放图片、音视频等媒体内容。文章以亚马逊为例,对比介绍了其不同存储类型产品的差异,为读者提供了选择存储类型的参考。总的来说,不同业务系统的场景需求不同,对存储的诉求也会不同,因此选择存储类型需要根据具体需求来决定。文章内容丰富,对于读者快速了解Kubernetes存储生态系统提供了有益的信息。

该试读文章来自《周志明的软件架构课》,如需阅读全部文章,
请先领取课程
免费领取
登录 后留言

全部留言(5)

  • 最新
  • 精选
  • zhanyd
    块存储最贴近底层硬件,块存储将数据视为一系列固定大小的“块”,其中每个文件或对象可以分布在多个块上,不需要连续存储这些块,每当用户请求该数据时,底层存储系统将数据块合并在一起并提供用户使用。支持块存储的设备和软件直接操作存储块速度最快。 文件存储是对块存储的抽象,把多个块抽象成一个文件,形成一个个目录,方便人类使用,就是我们最熟悉的目录,文件夹,文件的概念。 以这种方式存储文件时,它的元数据比较有限,例如只有:创建日期、修改日期和文件大小等信息。 随着数据量的增长,这种简单的组织架构可能会引发问题,性能可能下降,为了跟踪多层次的文件夹和文件,系统上的资源需求不断增,并且这些“结构”问题无法通过简单地增加文件系统可用的存储空间来解决。 对象存储也是对块存储的抽象,但是和文件存储不同的是,对象存储没有树形结构,是扁平存放的,每个文件都是相互独立的,没有目录的概念,可以是任何类型的数据和任何大小的数据,比如,pdf,视频,音频,文本,网站数据或任何其他文件类型。 与文件类型和块类型存储不同,对象存储元数据信息量比较大,不用打开文件查看里面的内容,仅仅查看元数据就可以获得很多信息。 关于元数据的实际例子,我们可以看看医院如何存储和处理患者的X射线图像的。 X射线文件的元数据不仅包括:创建日期,所有者,位置和大小,也可以包括更加丰富的元数据信息,比如患者姓名,出生日期,受伤细节,身体的哪个区域进行X光检查,以及文件所具有的相同标签。这使得医生可以很方便的更据元数据提取很多有用的信息。 对象存储的好处 1.更易于访问:对象存储由元数据驱动,通过对每个数据的这种分类级别,您可以轻松地对文件进行排序和搜索。 2.无限存储:对象存储不依赖于硬件(不限于单个服务器或NAS) 3.降低成本:由于对象存储的横向扩展性质,存储所有数据的成本更低。 4.资源优化:由于对象存储没有归档层次结构,并且元数据完全可自定义,因此与文件或块存储相比,硬件限制要少得多。 对象存储的局限性: 1.与Block Storage相比,访问速度更慢 2.文件无法编辑,需要重写/重新上传整个内容 3.难以限制/定义存储位置
    2021-04-06
    17
  • 阳光的味道
    我从使用角度来理解: 1. 块存储是给系统内核使用的 2. 文件存储是给应用程序和用户使用的 3. 对象存储是给应用程序使用的
    2022-09-08归属地:广东
    2
  • neohope
    最初接触对象存储,不是云厂商,而是EMC的存储产品。那时最大的误解就是,文件扔到对象存储上,文件元数据设置好,就可以像搜寻数据库一样十分方便的去搜寻对象存储了。数据库中就只需要存一个文件ID就可以了,其他都不需要记录。幸好我们很快就遇到了按复杂条件将文件导出的需求,在数据量不大的情况下,修正了自己天真的想法。 在我们行业里,使用云存储最大的障碍是两个: 1、使用公有云,担心数据安全、用户隐私的问题;少量上云的数据,也因种种限制,只能用移动联通电信的云; 2、使用私有云,很多机构不愿花大价钱购买服务,又没有能力自己运维,最终很难推进; 但总的来讲,这几年,云存储的使用面还是越来越广的,需要有个渐进的过程。
    2021-05-26
    2
  • 泊浮目
    周老师,对象存储是不是可以通过块存储or文件存储作为基底来封装实现?
    2021-09-21
  • Hello World
    也可以考虑购买私有云厂商的存储系统作为后端存储,华为OceanStor、Sugon的ParaStor等分布式文件系统。
    2021-05-06
收起评论
显示
设置
留言
5
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部