Skip to content
This repository has been archived by the owner on Jan 10, 2023. It is now read-only.

intel/proof-of-concept-cdi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DISCONTINUATION OF PROJECT

This project will no longer be maintained by Intel.

Intel has ceased development and contributions including, but not limited to, maintenance, bug fixes, new releases, or updates, to this project.

Intel no longer accepts patches to this project.

If you have an ongoing need to use this project, are interested in independently developing it, or would like to maintain patches for the open source software community, please create your own fork of this project.

Contact: webadmin@linux.intel.com

Container Device Interface (CDI) for Kubernetes

Documentation

Container Device Interface

Prerequisites

Prerequisites for building and running CDI include:

Installation

  1. Build modified external-provisioner image csi-provisioner:cdi
$ git clone ssh://git@gitlab.devtools.intel.com:29418/kubernetes/device-plugins/external-provisioner.git
$ cd external-provisioner
$ make container
$ docker tag csi-provisioner csi-provisioner:cdi
  1. Clone cdi repo
$ git clone ssh://git@gitlab.devtools.intel.com:29418/kubernetes/device-plugins/cdi.git
  1. Install cfssl and cfssljson
$ sudo apt-get install golang-cfssl
  1. Create cdi-registry-secrets and cdi-node-secrets
$ cd cdi
$ KUBECONFIG=~/.kube/config ./deploy/setup-ca-k8s.sh
  1. Build cdi-driver:canary image
$ make image
  1. Build runc wrapper
$ make cdi-runc
  1. Replace runc with a wrapper
$ sudo cp /usr/bin/runc /usr/bin/runc.orig
$ sudo cp _output/cdi-runc /usr/bin/runc
  1. Build deploy/kubernetes-1.18/cdi.yaml
$ make kustomize
  1. Label device nodes
$ kubectl label node <node name> storage=cdi
  1. Deploy cdi driver and its dependencies
$ kubectl create -f deploy/kubernetes-1.18/cdi.yaml
  1. Create FPGA storage class and PVC
$ kubectl create -f example/arria10.nlb0/sc.yaml
$ kubectl create -f example/arria10.nlb0/pvc.yaml
  1. Run example workload
$ kubectl create -f example/arria10.nlb0/pod.yaml

About

No description, website, or topics provided.

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published