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

相关文章

解析C++11 static_assert及与Boost库的关联从入门到精通

《解析C++11static_assert及与Boost库的关联从入门到精通》static_assert是C++中强大的编译时验证工具,它能够在编译阶段拦截不符合预期的类型或值,增强代码的健壮性,通... 目录一、背景知识:传统断言方法的局限性1.1 assert宏1.2 #error指令1.3 第三方解决

maven中的maven-antrun-plugin插件示例详解

《maven中的maven-antrun-plugin插件示例详解》maven-antrun-plugin是Maven生态中一个强大的工具,尤其适合需要复用Ant脚本或实现复杂构建逻辑的场景... 目录1. 核心功能2. 典型使用场景3. 配置示例4. 关键配置项5. 优缺点分析6. 最佳实践7. 常见问题

VSCode中配置node.js的实现示例

《VSCode中配置node.js的实现示例》本文主要介绍了VSCode中配置node.js的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录一.node.js下载安装教程二.配置npm三.配置环境变量四.VSCode配置五.心得一.no

MySQL复合查询从基础到多表关联与高级技巧全解析

《MySQL复合查询从基础到多表关联与高级技巧全解析》本文主要讲解了在MySQL中的复合查询,下面是关于本文章所需要数据的建表语句,感兴趣的朋友跟随小编一起看看吧... 目录前言:1.基本查询回顾:1.1.查询工资高于500或岗位为MANAGER的雇员,同时还要满足他们的姓名首字母为大写的J1.2.按照部门

解决Maven项目报错:failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.13.0的问题

《解决Maven项目报错:failedtoexecutegoalorg.apache.maven.plugins:maven-compiler-plugin:3.13.0的问题》这篇文章主要介... 目录Maven项目报错:failed to execute goal org.apache.maven.pl

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