在Docker中,文件系统
与Docker
容器具有相同的生命周期。在多节点运行Docker的环境中,应用会因为各种原因而退出。于是在多节点中运行的容器就面临着一种境况,如某个容器崩溃、节点崩溃、用户误删除而导致容器被删除。若我们直接将数据存在容器内的文件系统上数据也将丢失,为了避免数据与容器产生直接绑定关系,我们应该将其数据存储在容器文件系统之外,而存储方式则是为容器引入外部的存储空间。
外部存储分类
外部的存储空间分为两类:
-
Host
:宿主机级别,在节点本地进行存储。 -
Network Storage
:网络存储
对于Host
类型的存储来说,若在其节点上运行的容器崩溃了,再次启动容器时,只能在同一个节点上进行恢复,而对于集群环境的k8s来说这种类型的存储不适用。因此使用网络存储更加合适。
共享式存储设备
共享式存储设备分为:
-
多路并行读写 -
多路只读 -
单路读写
pod使用Volume步骤
-
在 Pod
上定义存储卷,并关联到目标存储服务上 -
在需要用到存储卷的容器上挂载其所属的 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
标准的插件,如Longhorn
、Rook
、Portworx
、Ceph
、GlusterFS
等等。这些插件可以提供高可用性、数据保护和数据恢复等功能,使得Kubernetes集群中运行的应用程序能够具备持久化存储能力。
总而言之,CSI
的引入为容器编排系统和存储系统之间的连接提供了标准化的接口,使得存储服务商可以更加灵活地为Kubernetes集群提供持久化存储解决方案,从而提供更好的存储服务和数据管理能力。
原文始发于微信公众号(TechOps之窗):了解Kubernetes存储卷
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/288696.html