了解Kubernetes存储卷

在Docker中,文件系统Docker容器具有相同的生命周期。在多节点运行Docker的环境中,应用会因为各种原因而退出。于是在多节点中运行的容器就面临着一种境况,如某个容器崩溃、节点崩溃、用户误删除而导致容器被删除。若我们直接将数据存在容器内的文件系统上数据也将丢失,为了避免数据与容器产生直接绑定关系,我们应该将其数据存储在容器文件系统之外,而存储方式则是为容器引入外部的存储空间。

外部存储分类

外部的存储空间分为两类:

  • Host:宿主机级别,在节点本地进行存储。
  • Network Storage:网络存储

对于Host类型的存储来说,若在其节点上运行的容器崩溃了,再次启动容器时,只能在同一个节点上进行恢复,而对于集群环境的k8s来说这种类型的存储不适用。因此使用网络存储更加合适。

共享式存储设备

共享式存储设备分为:

  • 多路并行读写
  • 多路只读
  • 单路读写

pod使用Volume步骤

  1. Pod上定义存储卷,并关联到目标存储服务上
  2. 在需要用到存储卷的容器上挂载其所属的Pod的存储卷

pod中使用volume的资源清单格式

spec:
  volumes:
  - name <string>  # 存储卷名称标识,仅可使用DNS标签格式的字符,在当前Pod中必须唯一
    VOL_TYPE <Object>  # 存储卷类型。存储卷插件及具体的目标存储供给方的相关配置
  containers:
  - name: …
    image: …
    volumeMounts:
    - name <string>  # 要挂载的存储卷的名称,必须匹配存储卷列表中某项的定义
      mountPath <string> # 容器文件系统上的挂载点路径
      readOnly <boolean>  # 是否挂载为只读模式,默认为“否”
      subPath <string>     # 挂载存储卷上的一个子目录至指定的挂载点
      subPathExpr <string>  # 挂载由指定的模式匹配到的存储卷的文件或目录至挂载点

VOL_TYPE 存储卷类型

存储卷指的是pod外部某个存储空间,而要想访问存储空间通常需要在节点上能适配到存储空间,也就是所谓的驱动程序

管理存储卷的功能是kubelet实现的,在kubelet中实现此功能的位置叫做Volume Plugin,也叫做卷类型

卷插件分为以下几种类型:

  • Host级别:hostPath、Local
  • 网络级别:NFS、GlusterFS、rbd(块设备)、CephFS(文件系统)、OSS(aliyun)
  • 临时存储:emptyDir(空目录,将内存空间作为存储使用)

对于任何一种存储卷都需要,kubelet通过Volume Plugin的支持才能实现。

如果Volume Plugin无法支持,也想让其能被使用则需要借助一种特殊形式CSI来使用

CSI(Container Storage Interface)

CSI(Container Storage Interface)是一个用于连接容器编排系统(如Kubernetes)和存储系统的标准接口。它允许存储服务提供商开发自己的外部存储插件,通过CSI与容器编排系统对接,从而为容器提供持久化存储解决方案。

使用CSI,任何存储服务提供商都可以开发自己的插件,将其存储系统与Kubernetes集群无缝集成。这种标准化的接口使得用户可以根据自己的需求选择不同的存储解决方案,而无需修改应用程序或重新部署整个集群。

CSI的出现使得Kubernetes集群的存储管理变得更加灵活和可扩展。它为存储服务商提供了一个统一的接口,使得他们可以将自己的存储系统与Kubernetes集群进行对接,并向容器提供持久化存储能力。这使得用户可以根据自己的需求选择最适合的存储解决方案,从而提供更好的存储服务。

目前,有许多存储服务商已经开发了符合CSI标准的插件,如LonghornRookPortworxCephGlusterFS等等。这些插件可以提供高可用性、数据保护和数据恢复等功能,使得Kubernetes集群中运行的应用程序能够具备持久化存储能力。

总而言之,CSI的引入为容器编排系统和存储系统之间的连接提供了标准化的接口,使得存储服务商可以更加灵活地为Kubernetes集群提供持久化存储解决方案,从而提供更好的存储服务和数据管理能力。

原文始发于微信公众号(TechOps之窗):了解Kubernetes存储卷

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/288696.html

(0)
服务端技术精选的头像服务端技术精选

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!