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

相关文章

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

Spring Boot spring-boot-maven-plugin 参数配置详解(最新推荐)

《SpringBootspring-boot-maven-plugin参数配置详解(最新推荐)》文章介绍了SpringBootMaven插件的5个核心目标(repackage、run、start... 目录一 spring-boot-maven-plugin 插件的5个Goals二 应用场景1 重新打包应用

java使用protobuf-maven-plugin的插件编译proto文件详解

《java使用protobuf-maven-plugin的插件编译proto文件详解》:本文主要介绍java使用protobuf-maven-plugin的插件编译proto文件,具有很好的参考价... 目录protobuf文件作为数据传输和存储的协议主要介绍在Java使用maven编译proto文件的插件

解析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语句中常用的表