加载中...

CSI(Container Storage Interface,容器存储接口)是一套行业标准接口规范,定义容器编排系统(CO)与存储插件之间的 gRPC 协议,使存储厂商只需实现一次驱动,即可服务于 Kubernetes、Nomad 等多个平台。Kubernetes 自 1.13 版本起将其列为正式特性。
CSI 驱动通常实现三组服务:Identity(上报驱动身份与能力)、Controller(卷的创建、删除、扩容、快照、挂载到节点等集群级操作)和 Node(在具体节点上格式化、挂载卷到 Pod 目录)。Kubernetes 侧由 external-provisioner 等辅助容器把 API 对象变化翻译成 CSI 调用。
在 CSI 之前,存储驱动以 in-tree 形式编译进 Kubernetes 主干,发布受制于其版本节奏;CSI 让驱动移出主干独立演进。
云盘(如 EBS、云硬盘)、分布式存储(Ceph RBD、Longhorn)、NAS 与本地盘方案如今都通过 CSI 驱动对接 Kubernetes,支撑 StatefulSet 等有状态负载的持久化需求。

登录 后参与讨论
暂无讨论,来发表第一条评论吧