CSI介绍

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: CSI 介绍我们知道Kubernetes中关于使用存储卷的机制有In-Tree、Flexvolume模式,那为何还要提出CSI方式呢?In-Tree Volume: 这种方式需要将后端存储的代码逻辑放到K8S的代码中运行,调用引擎与插件间属于强耦合。

CSI 介绍

我们知道Kubernetes中关于使用存储卷的机制有In-Tree、Flexvolume模式,那为何还要提出CSI方式呢?

In-Tree Volume: 这种方式需要将后端存储的代码逻辑放到K8S的代码中运行,调用引擎与插件间属于强耦合。插件的逻辑代码需要K8S负责维护,可能会引起与K8S其他部件之间的相互影响。

Flexvolume: Kubelet通过调用一个主机的可执行程序包的方式执行存储卷的挂载使用。解决了In-Tree方式的强耦合,不过由于Flexvolume作为命令行调用的方式,在主机安全性、部署依赖的容器化、与K8S服务之间的相互扩展性等方面存在不足。
Flexvolume运行在host 空间,不能使用rbac授权机制访问Kubernetes API,导致其功能极大的受限。

CSI: 基于上述模式存在的不足,CSI标准使K8S和存储提供者之间将彻底解耦,将存储的所有的部件作为容器形式运行在K8S上。

在FlexVolume中Kubelet通过使用操作系统CLI实现调用Driver接口,而CSI采用的是grpc方式,grpc调用的一个优势就是可以将grpc服务运行在socket上,这样服务端就可以运行在socket端点的任何地方,即可以运行在容器里。另外CSI接口使用同步方式进行调用,保证了存储插件实现的简单性。

从平台支持上,CSI不仅仅支持Kubernetes平台存储插件接口,而是作为云原生生态中容器存储接口的标准,Mesos、CloudFoundry、Swarm等平台也同时支持CSI。

下图给出了CSI接口在云原生应用中的位置。

image

我们回顾一下CSI版本发布历程:

image

从2017年初发展到今天,CSI用了2了两年的时间发布了自己的稳定版本,且K8S对CSI的支持也进入到GA阶段。

相关实践学习
Docker镜像管理快速入门
本教程将介绍如何使用Docker构建镜像,并通过阿里云镜像服务分发到ECS服务器,运行该镜像。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
9月前
|
算法 调度 芯片
NR CSI(二) the workflow of CSI report
本篇内容是对CSI report相关流程的整理,其描述主要集中在R16 38.331 38.321 38.214中,以实网中的一个配置开始,看下相关定义。
|
存储 Kubernetes API
kubernetes【存储】1. 共享存储pv、pvc、StorageClass使用详解(1)
kubernetes【存储】1. 共享存储pv、pvc、StorageClass使用详解(1)
kubernetes【存储】1. 共享存储pv、pvc、StorageClass使用详解(1)
|
存储 Kubernetes 数据可视化
|
存储 Kubernetes 调度
Kubernetes 中存储使用介绍(PV、PVC和StorageClass)
在 Kubernetes 中的应用,都是以 Pod 的形式运行的,当我们要是在 Kubernetes 上运行一些需要存放数据的应用时,便需要关注应用存放的数据是否安全可靠。因为 Pod 是有生命周期的,那么也就是说当 Pod 被删除或重启后,Pod 里面所运行的数据也会随之消失。
1482 0
Kubernetes 中存储使用介绍(PV、PVC和StorageClass)
|
10月前
|
存储 Kubernetes NoSQL
kubernetes之volumes使用
kubernetes之volumes使用
76 0
|
11月前
|
存储 Kubernetes 应用服务中间件
k8s初探(7)-kubernetes volume(1)
k8s初探(7)-kubernetes volume(1)
139 0
|
存储 Kubernetes Perl
【kubernetes】PVC
【kubernetes】PVC
105 0
|
存储 运维 Kubernetes
kubernetes【存储】1. 共享存储pv、pvc、StorageClass使用详解(2)
kubernetes【存储】1. 共享存储pv、pvc、StorageClass使用详解(2)
kubernetes【存储】1. 共享存储pv、pvc、StorageClass使用详解(2)
|
存储 Kubernetes Unix
浅析 CSI 工作原理
CSI 的 cloud providers 有两种类型,一种为 in-tree 类型,一种为 out-of-tree 类型。前者是指运行在 k8s 核心组件内部的存储插件;后者是指独立在 k8s 组件之外运行的存储插件。本文主要介绍 out-of-tree 类型的插件。
987 0
|
存储 Kubernetes API
Kubernetes必备知识: kubernetes CSI
csi 是一个标准的容器存储接口,规定了如何实现一个容器的存储接口,CSI 本身的定义是基于 gRPC 的,所以有一套样例库可以使用,这里分析一下 kuberntes 实现 csi 的方式,为了兼容 CSI kubernete 其实搞得挺绕的,目前这个 CSI 还是定制中包括后期的 Snapshot 的接口怎么设计等等还在讨论中。kubernetes CSI 主要基于几个外部组件和内部功能的一些改动。
2700 0
Kubernetes必备知识: kubernetes CSI


http://www.vxiaotou.com