\(
\newcommand{\P}[]{\unicode{xB6}}
\newcommand{\AA}[]{\unicode{x212B}}
\newcommand{\empty}[]{\emptyset}
\newcommand{\O}[]{\emptyset}
\newcommand{\Alpha}[]{Α}
\newcommand{\Beta}[]{Β}
\newcommand{\Epsilon}[]{Ε}
\newcommand{\Iota}[]{Ι}
\newcommand{\Kappa}[]{Κ}
\newcommand{\Rho}[]{Ρ}
\newcommand{\Tau}[]{Τ}
\newcommand{\Zeta}[]{Ζ}
\newcommand{\Mu}[]{\unicode{x039C}}
\newcommand{\Chi}[]{Χ}
\newcommand{\Eta}[]{\unicode{x0397}}
\newcommand{\Nu}[]{\unicode{x039D}}
\newcommand{\Omicron}[]{\unicode{x039F}}
\DeclareMathOperator{\sgn}{sgn}
\def\oiint{\mathop{\vcenter{\mathchoice{\huge\unicode{x222F}\,}{\unicode{x222F}}{\unicode{x222F}}{\unicode{x222F}}}\,}\nolimits}
\def\oiiint{\mathop{\vcenter{\mathchoice{\huge\unicode{x2230}\,}{\unicode{x2230}}{\unicode{x2230}}{\unicode{x2230}}}\,}\nolimits}
\)
KubeVirt lets you setup and manage virtual machines on your kubernetes cluster.
Getting Started
Background
KubeVirt creates two new types of resources on your cluster: VirtualMachine
(vm) and VirtualMachineInstance
(vmi).
VirtualMachine
defines how to create VMIs. VirtualMachineInstance
represent a running virtual machine.
Similar to deployments-pods, you will typically not create VirtualMachineInstance
manually.
Instead you define VirtualMachine
in your manifests and control them using virtctl
. Then KubeVirt will automatically create VirtualMachineInstance
.
Requirements
See requirements
You need a kubernetes cluster with kubectl
set up.
You do not need to install qemu-kvm libvirt-daemon-system
on the nodes.
Install KubeVirt
See installation
Expand Install commands
# Get the latest version string
export VERSION = $( curl -s https://api.github.com/repos/kubevirt/kubevirt/releases | grep tag_name | grep -v -- '-rc' | sort -r | head -1 | awk -F': ' '{print $2}' | sed 's/,//' | xargs)
echo $VERSION
# Deploy operator
kubectl create -f https://github.com/kubevirt/kubevirt/releases/download/${ VERSION } /kubevirt-operator.yaml
# Deploy custom resources
kubectl create -f https://github.com/kubevirt/kubevirt/releases/download/${ VERSION } /kubevirt-cr.yaml
# Install virtctl
VERSION = $( kubectl get kubevirt.kubevirt.io/kubevirt -n kubevirt -o= jsonpath = "{.status.observedKubeVirtVersion}" )
ARCH = $( uname -s | tr A-Z a-z) -$( uname -m | sed 's/x86_64/amd64/' ) || windows-amd64.exe
echo ${ ARCH }
curl -L -o virtctl https://github.com/kubevirt/kubevirt/releases/download/${ VERSION } /virtctl-${ VERSION } -${ ARCH }
chmod +x virtctl
sudo install virtctl /usr/local/bin
Creating a VM
Loading ISOs into the cluster
Windows
Resources