本插件是基于intel-device-plugin实现,由于设备的挂载、调⽤等接⼝与设备类型⽆关,所以只需修改scan接⼝即可。
部署过程:
1. 下载intel-device-plugin
$ mkdir -p $GOPATH/src/github.com/intel/
$ cd $GOPATH/src/github.com/intel/
$ git clone https://github.com/intel/intel-device-plugins-for-kubernetes.git
2. 验证kubelet是否已经安装
$ ls /var/lib/kubelet/device-plugins/kubelet.sock
/var/lib/kubelet/device-plugins/kubelet.sock
3. 修改的⽂件为: intel-device-plugins-for-kubernetes/cmd/gpu_plugin/gpu_plugin.go
// 需要修改的⽂件为: intel-device-plugins-forkubernetes/cmd/gpu_plugin/gpu_plugin.go
const (
devfsDriDirectory = "/dev" //设备⽬录
gpuDeviceRE = `^cambricon_c10Dev[0-9]+$` //设备名称的正则表达式
// Device plugin settings.
namespace = "mlu100.com" //设备注册的域名
deviceType = "i915" //设备注册的类型
)
4. 实现scan接⼝供 func (dp *devicePlugin) Scan(notifier dpapi.Notifier) error ⽤,该接⼝的功能是扫描系统/dev⽬录下符合上述正则表达式的设备,并返