This guide describes the installation and uninstallation process of Ignite.
Ignite runs on most Intel, AMD or ARM (AArch64) based linux/amd64 systems with KVM support.
See the full CPU support table in dependencies.md for more information.
See cloudprovider.md for guidance on running Ignite on various cloud providers and suitable instances that you could use.
NOTE: You do not need to install any "traditional" QEMU/KVM packages, as long as there is virtualization support in the CPU and kernel it works.
See dependencies.md for needed dependencies.
Please read dependencies.md for the full reference, but if you quickly want to check if your CPU and kernel supports virtualization, run these commands:
$ lscpu | grep Virtualization
Virtualization: VT-x
$ lsmod | grep kvm
kvm_intel 200704 0
kvm 593920 1 kvm_intelAlternatively, on Ubuntu-like systems there's a tool called kvm-ok in the cpu-checker package.
Check for KVM support using kvm-ok:
$ sudo apt-get update && sudo apt-get install -y cpu-checker
...
$ kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be usedWith this kind of output, you're ready to go!
Ignite has a few dependencies (read more in this doc).
Install them on Ubuntu/CentOS like this:
(Ignite does not depend on docker package version. If you already installed docker-ce, you don't need to replace it to docker.io.)
Ubuntu:
apt-get update && apt-get install -y --no-install-recommends dmsetup openssh-client git binutils
which containerd || apt-get install -y --no-install-recommends containerd
# Install containerd if it's not present -- prevents breaking docker-ce installationsCentOS:
yum install -y e2fsprogs openssh-clients git
which containerd || ( yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo && yum install -y containerd.io )
# Install containerd if it's not presentInstall the CNI binaries like this:
export CNI_VERSION=v0.8.2
export ARCH=$([ $(uname -m) = "x86_64" ] && echo amd64 || echo arm64)
mkdir -p /opt/cni/bin
curl -sSL https://github.com/containernetworking/plugins/releases/download/${CNI_VERSION}/cni-plugins-linux-${ARCH}-${CNI_VERSION}.tgz | tar -xz -C /opt/cni/binNote that the SSH and Git packages are optional; they are only needed if you use
the ignite ssh and/or ignite gitops commands.
Ignite is a currently a single binary application. To install it,
download the binary from the GitHub releases page,
save it as /usr/local/bin/ignite and make it executable.
To install Ignite from the command line, follow these steps:
export VERSION=v0.6.2
export GOARCH=$(go env GOARCH 2>/dev/null || echo "amd64")
for binary in ignite ignited; do
echo "Installing ${binary}..."
curl -sfLo ${binary} https://github.com/weaveworks/ignite/releases/download/${VERSION}/${binary}-${GOARCH}
chmod +x ${binary}
sudo mv ${binary} /usr/local/bin
doneIgnite uses semantic versioning, select the version to be installed
by changing the VERSION environment variable.
If the installation was successful, the ignite command should now be available:
$ ignite version
Ignite version: version.Info{Major:"0", Minor:"6", GitVersion:"v0.6.2", GitCommit:"...", GitTreeState:"clean", BuildDate:"...", GoVersion:"...", Compiler:"gc", Platform:"linux/amd64"}
Firecracker version: v0.18.0
Runtime: containerdNow you can continue with the Getting Started Walkthrough.
To completely remove the Ignite installation, execute the following as root:
# Force-remove all running VMs
ignite rm -f $(ignite ps -aq)
# Remove the data directory
rm -r /var/lib/firecracker
# Remove the ignite and ignited binaries
rm /usr/local/bin/ignite{,d}