This document will guide you through the process of installing Singularity-CRI on a Linux host.
Singularity-CRI is nothing more than Singularity-specific implementation of Kubernetes CRI.
It is currently under development and passes 71/74 validation tests. Note that used test suite is taken from v1.13.0 tag. Detailed report can be found here.
Before you begin¶
If you have an earlier version of Singularity-CRI installed, you should remove it before executing the installation commands. You will also need to install some dependencies as described below.
- Install git
- Install Singularity 3.1+ with OCI support
- Install Go 1.11+
- Install inotify to enable GPU device plugin
- Install socat if you want to enable fort-forwarding, e.g
$ sudo apt-get install socat
Install from source¶
The following commands will install Singularity-CRI from the GitHub repo to the
master branch contains the latest, bleeding edge version of Singularity-CRI.
This is the default branch when you clone the source code, so you don’t have to check out any new branches
to install it. The
master branch changes quickly and may be unstable. Thus installing from tag is the
preferred way and is described below.
Since Singularity-CRI is now built with go modules
there is no need to create standard go workspace.
If you still prefer keeping source code under
GOPATH make sure
GO111MODULE=on is set.
The following assumes you want set up Singularity-CRI outside
$ git clone https://github.com/sylabs/singularity-cri.git && \ cd singularity-cri && \ git checkout tags/v1.0.0-beta.5 -b v1.0.0-beta.5 && \ make && \ sudo make install
After these commands Singularity-CRI will be installed in the
Refer to configuration section to see how Singularity-CRI can be configured.
Remove an old version¶
When you run
install, the command lists files as they are installed. They must be removed in
order to completely remove Singularity-CRI from your host.
For convenience we created
uninstall command, so you can run the following to cleanup installation:
$ sudo make uninstall