The gRPC server that the device plugin must implement is expected to be advertised on a unix socket in a mounted hostPath

(e.g: /var/lib/kubelet/device-plugins/nvidiaGPU.sock).

Finally, to notify Kubelet of the existence of the device plugin,

the vendor's device plugin will have to make a request to Kubelet's own gRPC server【Kubelet Registry gRPC Server】

Only then will kubelet start interacting with the vendor's device plugin through the gRPC apis.

The device plugin is structured in 3 parts:

  • Registration: The device plugin advertises it's presence to Kubelet
  • ListAndWatch: The device plugin advertises a list of Devices to Kubelet and sends it again if the state of a Device changes
  • Allocate: When creating containers, Kubelet calls the device plugin's Allocate function

so that it can run device specific instructions (gpu cleanup, QRNG initialization, ...)

and instruct Kubelet how to make the device available in the container.

Device Plugins can expect to find the socket to register themselves on the host at the following path:/var/lib/kubelet/device-plugins/kubelet.sock

【Kubelet Registry gRPC Server】【Registry Method】【/var/lib/kubelet/device-plugins/kubelet.sock】

Device Plugins Refer:

https://github.com/kubernetes/community/blob/master/contributors/design-proposals/resource-management/device-plugin.md

https://kubernetes.io/docs/tasks/manage-gpus/scheduling-gpus/

https://github.com/kubernetes/community/blob/master/contributors/design-proposals/resource-management/gpu-support.md

Kubernetes Device Plugins的更多相关文章

  1. k8s device plugin

    基本概念入门: Device Manager Proposal Device plugin offical Doc(中文) device-plugins offical Doc(En) Go thro ...

  2. Kubernetes 教程:在 Containerd 容器中使用 GPU

    原文链接:https://fuckcloudnative.io/posts/add-nvidia-gpu-support-to-k8s-with-containerd/ 前两天闹得沸沸扬扬的事件不知道 ...

  3. centos7.5单机yum安装kubernetes

    1.系统配置 centos7.5 docker 1.13.1 centos7下安装docker 2.关闭防火墙,selinux,swapoff systemctl disable firewalld ...

  4. 基于openshift+华为对象存储的CSI开发

    目录 需求来源 环境准备 代码修改 镜像下载 镜像生成 修改部署文件 部署CSI插件 CSI原理 核心原理 生命周期: 组件介绍 FAQ 参考: 需求来源 项目上目前使用的是openshift 3.1 ...

  5. nomad 0.9 新特性

    内容摘自github Affinities and Spread: Jobs may now specify affinities towards certain node attributes. A ...

  6. JavaScript周报#183

    This week’s JavaScript news Read this issue on the Web | Issue Archive JavaScript Weekly Issue 183Ma ...

  7. centos6安装bochs

    安装包 bochs 2.6.8 平台 centos6 前提依赖 yum groupinstall -y "Server Platform Development" "De ...

  8. Qt5.7新特性

    简述 Qt5.7发布了,新特性如下. 简述 新特性 C11 Support Required from the compiler New Features within existing module ...

  9. Jenkins - 【转】高效插件推荐

    特别说明:本文是在原文基础上的改写和添加,但总体不影响原文表达,特此说明. 原文链接 - Jenkins 高效插件推荐 | 运维生存时间 前言 开源版本的Jenkins具有三大能力: Master-S ...

随机推荐

  1. JS 观察者模式

    Events = function() { var listen, log, obj, one, remove, trigger, __this; obj = {}; __this = this; l ...

  2. ObjC正则表达式验证

    试过ObjC的regkit这个框架. 也用过内置的正则表达式验证. 最后发现有个非常简单的方法就可以做到验证正则表达式.那就是NSPredicte这个类提供的方法. 这里有验证邮箱地址的正则为例: N ...

  3. no getter for property named 'power_state

    错误信息:nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for pr ...

  4. CentOS7下搭建yum仓库

    服务端配置: 1.开启yum缓存 sed -i 's#keepcache=0#keepcache=1#g' /etc/yum.conf [root@control /]# cat /etc/yum.c ...

  5. 通过python实现wc基本功能

    ---恢复内容开始--- 1.Github项目地址: https://github.com/zhg1998/ww/blob/master/wc.py 2.项目相关要求: 写一个命令行程序,模仿已有wc ...

  6. SharpMap开发教程——图层标注

    在GIS开发中,根据图层属性字段对要素进行标注(图层标注)是一项常规的.必备的功能.在基于SharpMap开发GIS应用时,也可以方便的实现该功能. 1.加载Shapefile图层数据 SharpMa ...

  7. Arduino SPI + SPI Flash芯片W25Q80BV

    W25Q80BV是台湾华邦电子(Winbond)生产的8M-bit串行flash芯片.主要特性有: 工作电压:2.5 ~ 3.6 V 功耗:读写(active)时4mA,低功耗(power-down) ...

  8. 实战iOS7之NSURLSession

    NSURLSession VS NSURLConnection NSURLSession可以看做是NSURLConnection的进化版,其对NSURLConnection的改进点有: * 根据每个S ...

  9. 使用SqlBulkCopy进行批量插入数据时踩过的坑

    之前一直都没用过SqlBulkCopy关键字进行数据插入,更没了解过. 事因:因业务需要在数据表中添加两列,然后将数据插入进表中 之前都是这样写的 dt.Columns.Add(new DataCol ...

  10. MySQL8.0本地访问设置为远程访问权限

    1.登录MySQL mysql -u root -p 输入您的密码 2.选择 mysql 数据库 use mysql; 因为 mysql 数据库中存储了用户信息的 user 表. 3.在 mysql ...