【k8s-device plugin】如何编写 k8s device plugin

本文详细介绍了如何编写 Kubernetes Device Plugin,以管理硬件设备如GPU,并探讨了设备插件的注册、实现以及异常处理机制,特别是针对kubelet重启和设备插件socket被删除的情况。通过实现gRPC接口,如ListAndWatch和Allocate,设备插件能与kubelet交互,监控和分配硬件资源。
摘要由CSDN通过智能技术生成

明确需求

我们想让 k8s 纳入一个硬件设备,假如是 GPU,那接下来怎么管理呢 —— 答:k8s device plugin 机制

由下图其实可以简单看出几个步骤

  1. 将硬件设备信息注册到 k8s 中,也就是由 kubelet 管理,与 kubelet 通信
  2. k8s 如何知道该硬件资源的变化呢 —— ListWatch 机制,但 k8s 只知道此硬件,不明白其中原理 —— 所以需要该硬件自行开发一个 ListWatch 接口,来满足 k8s 的 ListWatch 机制
  3. k8s 如何分配此硬件资源给 Pod 等使用呢 —— 因为k8s 只知道此硬件,不明白其中原理 —— 所以同样有该硬件自行开发一个资源分配管理接口 Allocate,到时候进行资源的分配

注意上述其实都是,该硬件和 kebelet 打交道,因为 kubelet 负责容器的生命周期(创建、删除等)还有资源的监控,所以该硬件资源通过与 kubelet 交互,才能完成接入到 k8s 中

而 device plugin 就是 中间商,帮忙将硬件设备注册到 kubelet 中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值