intel / kubevirt-gfx-sriov

Intel's graphics virtualization technology (Graphics SR-IOV) on cloud/edge-native infrastructure.
Apache License 2.0
37 stars 12 forks source link

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.

Intel® Graphics SR-IOV Enablement Toolkit

This project contains the software components and ingredients to enable Intel's graphics virtualization technology (Graphics SR-IOV) on cloud/edge-native infrastructure. The aim is to deliver GPU-accelerated workloads capability to virtual machines running on Kubernetes cluster
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Architecture Design
  5. Troubleshooting
  6. Resources
  7. License

About The Project

Intel Graphics SR-IOV Technology

Graphics SR-IOV is Intel's latest Virtualization Technology for Graphics. Single Root I/O Virtualization (SR-IOV) defines a standard method for sharing a physical device function by partitioning the device into multiple virtual functions. Each virtual function is directly assigned to a virtual machine, thereby achieving near native performance for the virtual machine

The key benefits of Intel Graphics SR-IOV are:

Cloud/Edge Native Technology

Application containerization and Kubernetes orchestrator have revolutionarized the way software is developed and deployed. The containerization era has led to the development of microservices that typically run as containers and have the advantage of being lightweight, require less memory, fast startup time and operate at native performance. But there are scenarios where your application still need to run as full-fledge virtual manchines and cannot be run as containers due to legacy software support or integration complexity.

In order to achieve the best of both worlds, we can leverage Kubernetes and KubeVirt, a Kubernetes extension, that allows running traditional virtual machine workloads natively side by side with container workloads. With this solution, you can have the advantage of a single infrastructure for both containerized and virtualized workloads. You can also benefit from the power and features of Kubernetes

Intel Graphics SR-IOV Enablement Toolkit

This repository contains scripts, manifests and documentation, collectively known as the Intel Graphics SR-IOV Enablement Tookit to help software developer enable Graphics SR-IOV for cloud/edge native application development

Product Name Screen Shot

(back to top)

Getting Started

Access to appropriate hardware and drivers is required for the setup. Graphics SR-IOV technology is supported on the following Intel products:

Prerequisites

Installation

Quick Install

  1. Clone the repo and install toolkit. When prompted, answer 'y' to proceed with the installation.

    Note: If operating behind corporate firewall, setup the proxy settings before continue. easy_install.sh should only be run on newly setup system to prevent overwriting existing installed software and configuration. For more customized installation, please see Manual Install

    git clone https://github.com/intel/kubevirt-gfx-sriov.git gfx-sriov
    
    cd gfx-sriov
    
    ./scripts/easy_install.sh
  2. After reboot, check for the presence of intel.com/sriov-gpudevices resource

    Note: Please wait for all pods' STATUS*=Running by checking with the following command: kubectl get pods -n kubevirt*

    kubectl describe nodes

    Output:

    Capacity:
      intel.com/sriov-gpudevice:     7
    Allocatable:
      intel.com/sriov-gpudevice:     7
    Allocated resources:
      Resource                       Requests     Limits
      --------                       --------     ------
      intel.com/sriov-gpudevice      0            0
  3. After completing the installation of Intel® Graphics SR-IOV Enablement Toolkit, proceed to the Usage section below to setup Virtual Machines

(back to top)

Usage

Follow the links below for instructions on how to setup and deploy virtual machines using this toolkit

Deploy Windows Virtual Machine

Deploy Ubuntu Virtual Machine

For more examples, please refer to the Documentation

(back to top)

Architecture Design

Refer to the link below for information on the architecture and design of the overall solution

Architecture and Design

(back to top)

Troubleshooting

Refer to the link below for common problems people encounter

Troubleshooting

(back to top)

Resources

(back to top)

License

Distributed under the Apache License, Version 2.0. See LICENSE for more information.

(back to top)