intel-resource-drivers-for-kubernetes

module
v0.1.0-beta Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 13, 2023 License: Apache-2.0

README

Intel GPU resource driver

CAUTION: This is an beta / non-production software, do not use on production clusters.

Glossary

About resource driver

Intel GPU resource driver is a better alternative for Intel GPU device plugin, facilitating workload offloading by providing access to GPU devices available on worker nodes of Kubernetes cluster.

Supported GPU devices:

  • Intel® Data Center GPU Flex Series
  • Intel® Data Center GPU Max Series
  • any integrated Intel GPU supported by the host kernel
About Dynamic Resource Allocation

Dynamic Resource Allocation (DRA) is a resource management framework in Kubernetes (1.26+), that allows management of special resources in cluster (typically HW accelerators) by vendor-provided resource drivers (typically a controller and a node-agent / kubelet-plugin) in a common way.

Resource drivers are meant to handle discovery, allocation, accounting of specific resources as well as their preparation for Pod before Pod startup and cleanup after the Pod has completed successfully and the resource is no longer needed. More info is in the KEP

Intel GPU resource driver consists of the controller and kubelet plugin. Controller makes allocation decisions and kubelet plugin ensures that the allocated GPUs and SR-IOV Virtual Functions are prepared and available for Pods

Requirements

  • Kubernetes 1.26, with DynamicResourceAllocation feature-flag enabled, and other cluster parameters Container runtime needs to support CDI:
  • CRI-O at least v1.23.0
  • Containerd at least v1.7 (any release candidate will do)

Supported Kubernetes Versions

Supported Kubernetes versions are listed below:

Branch Kubernetes branch/version Status
v0.1.0-beta Kubernetes 1.26 branch v1.26.x supported

How to deploy and use

Building resource-driver

Build a container
make container-build

NB: It is recommended to have a local registry to deploy from, so all cluster nodes can access same image and no need to build same image on evey node.

Directories

Path Synopsis
cmd
controller command
kubelet-plugin command
pkg
crd/intel/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
crd/intel/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
crd/intel/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
crd/intel/clientset/versioned/typed/intel/v1alpha
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
crd/intel/clientset/versioned/typed/intel/v1alpha/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL