node-driver-registrar 与 csi-plugin 的关联

2024-04-02 19:44

本文主要是介绍node-driver-registrar 与 csi-plugin 的关联,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 涉及到的文件
  • 插件
    • csi-cephfsplugin
    • driver-registrar
  • 交互流程

涉及到的文件

  • /var/lib/kubelet/plugins_registry/rook-ceph.cephfs.csi.ceph.com-reg.sock
    由 registrar 生成
  • /var/lib/kubelet/plugins/rook-ceph.cephfs.csi.ceph.com/csi.sock
    由 cephfs-plugin 生成

插件

csi-cephfsplugin

csi-cephfsplugin 是 CephFS 的 CSI 插件实现,它负责处理对 CephFS 存储的操作请求,如创建、删除卷,以及挂载和卸载卷到节点上;它创建 /var/lib/kubelet/plugins/rook-ceph.cephfs.csi.ceph.com/csi.sock,作为 kubelet 与 CSI 驱动通信的通道(用于 CSI 插件和 kubelet 之间的实际存储操作通信)

driver-registrar

driver-registrar(或称为node-driver-registrar)是一个辅助容器,随 CSI 插件容器一起部署。它的主要任务是将 CSI 插件注册为一个节点上的 CSI 驱动。为了完成这一任务,它实际上创建并使用 /var/lib/kubelet/plugins_registry/rook-ceph.cephfs.csi.ceph.com-reg.sock 文件来与 kubelet 进行注册相关的通信(告诉 kubelet 有一个 CSI 插件可用,以及如何与之通信)

交互流程

  • 部署:当csi-cephfsplugindriver-registrar作为 Pod 或 DaemonSet 部署到 Kubernetes 集群时,driver-registrar 首先与 Kubelet 通信,注册csi-cephfsplugin作为一个 CSI 驱动。

  • Kubelet:负责管理 Pod 和节点资源。它使用 /var/lib/kubelet/plugins_registry/rook-ceph.cephfs.csi.ceph.com-reg.sock 与node-driver-registrar通信来识别和注册 CSI 插件。一旦插件注册成功,kubelet 就知道如何通过 /var/lib/kubelet/plugins/rook-ceph.cephfs.csi.ceph.com/csi.sock 与 CSI 插件通信来进行存储卷的生命周期管理。

  • 卷创建和删除:用户通过创建 PersistentVolumeClaim(PVC)来请求存储资源。Kubernetes 的控制平面接收到 PVC 创建请求后,通过 CSI 接口调用csi-cephfsplugin中的控制器组件来创建卷。删除卷时,流程相似。

  • 卷挂载到 Pod:当 Pod 引用 PVC 并被调度到具体的节点上时,Kubelet 通过 CSI 接口调用csi-cephfsplugin中的节点组件,请求挂载卷到该 Pod 所在的节点。此时,csi-cephfsplugin负责执行实际的挂载操作,将 CephFS 卷挂载到节点上的指定路径。

  • 卷卸载:当 Pod 被删除或重新调度到其他节点时,Kubelet 再次通过 CSI 接口调用csi-cephfsplugin来卸载之前挂载的卷。

  • 注销:如果csi-cephfsplugin被卸载或更新,driver-registrar负责通过 Kubelet 注销 CSI 驱动。

这篇关于node-driver-registrar 与 csi-plugin 的关联的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/870880

相关文章

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

SQL表间关联查询实例详解

《SQL表间关联查询实例详解》本文主要讲解SQL语句中常用的表间关联查询方式,包括:左连接(leftjoin)、右连接(rightjoin)、全连接(fulljoin)、内连接(innerjoin)、... 目录简介样例准备左外连接右外连接全外连接内连接交叉连接自然连接简介本文主要讲解SQL语句中常用的表

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

如何高效移除C++关联容器中的元素

《如何高效移除C++关联容器中的元素》关联容器和顺序容器有着很大不同,关联容器中的元素是按照关键字来保存和访问的,而顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的,本文介绍了如何高效移除C+... 目录一、简介二、移除给定位置的元素三、移除与特定键值等价的元素四、移除满足特android定条件的元

nvm如何切换与管理node版本

《nvm如何切换与管理node版本》:本文主要介绍nvm如何切换与管理node版本问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录nvm切换与管理node版本nvm安装nvm常用命令总结nvm切换与管理node版本nvm适用于多项目同时开发,然后项目适配no

mysql关联查询速度慢的问题及解决

《mysql关联查询速度慢的问题及解决》:本文主要介绍mysql关联查询速度慢的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql关联查询速度慢1. 记录原因1.1 在一次线上的服务中1.2 最终发现2. 解决方案3. 具体操作总结mysql

Maven pom.xml文件中build,plugin标签的使用小结

《Mavenpom.xml文件中build,plugin标签的使用小结》本文主要介绍了Mavenpom.xml文件中build,plugin标签的使用小结,文中通过示例代码介绍的非常详细,对大家的学... 目录<build> 标签Plugins插件<build> 标签<build> 标签是 pom.XML

Node.js net模块的使用示例

《Node.jsnet模块的使用示例》本文主要介绍了Node.jsnet模块的使用示例,net模块支持TCP通信,处理TCP连接和数据传输,具有一定的参考价值,感兴趣的可以了解一下... 目录简介引入 net 模块核心概念TCP (传输控制协议)Socket服务器TCP 服务器创建基本服务器服务器配置选项服

mac安装nvm(node.js)多版本管理实践步骤

《mac安装nvm(node.js)多版本管理实践步骤》:本文主要介绍mac安装nvm(node.js)多版本管理的相关资料,NVM是一个用于管理多个Node.js版本的命令行工具,它允许开发者在... 目录NVM功能简介MAC安装实践一、下载nvm二、安装nvm三、安装node.js总结NVM功能简介N

MYSQL关联关系查询方式

《MYSQL关联关系查询方式》文章详细介绍了MySQL中如何使用内连接和左外连接进行表的关联查询,并展示了如何选择列和使用别名,文章还提供了一些关于查询优化的建议,并鼓励读者参考和支持脚本之家... 目录mysql关联关系查询关联关系查询这个查询做了以下几件事MySQL自关联查询总结MYSQL关联关系查询