There are three main components of Simplenetes available to be installed:
To manage a Cluster, at least the
sns tool needs to be installed on your computer.
If managing the Cluster is expected to involve compiling Pods and creating new releases, then
podc also needs to be installed.
The Daemon (
simplenetesd) should always be installed on all Cluster Hosts. It can also be installed locally on your laptop to simulate working on a Cluster.
To run Pods locally,
1.8.1 or later is required. In order to take advantage of user-mode networking,
slirp4netns is needed so that Pods can be run in rootless mode.
Please refer to the official documentation for instructions on how to install Podman.
Alternatively, check your distribution's package manager. It's usually not more complicated than
sudo apt-get install podman.
Since Podman is expected to be used in unprivileged mode, we want to allow non-root users to bind ports from
80 and upwards.
That can be achieved by adding the following row to /etc/sysctl.conf:
sudo sysctl --system to take the changes into effect.
For instructions about
slirp4netns, please refer to the official repository on GitHub.
sns is a standalone executable, written in POSIX-compliant shell script and runs anywhere there is Bash/Dash/Ash installed.
It interacts with a few programs in the OS, such as
date and others. The usage of these tools is tailored to work under both GNU/Linux, BusyBox/Linux and BSD variants, including OSX. It might even run under Windows Subsystem for Linux (WSL).
Download and install
sns straight from GitHub, as follows:
LATEST_VERSION=$(curl -s -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/simplenetes-io/simplenetes/releases/latest | grep tag_name | cut -d":" -f2 | tr -d ",|\"| ")
curl -LO https://github.com/simplenetes-io/simplenetes/releases/download/$LATEST_VERSION/sns
chmod +x sns
sudo mv sns /usr/local/bin
For a complete list of versions, check out the Releases.
podc and its runtime by downloading them from GitHub, as follows:
LATEST_VERSION=$(curl -s -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/simplenetes-io/podc/releases/latest | grep tag_name | cut -d":" -f2 | tr -d ",|\"| ")
curl -LO https://github.com/simplenetes-io/podc/releases/download/$LATEST_VERSION/podc
curl -LO https://github.com/simplenetes-io/podc/releases/download/$LATEST_VERSION/podc-podman-runtime
chmod +x podc
sudo mv podc /usr/local/bin
sudo mv podc-podman-runtime /usr/local/bin
For more detailed instructions and explanation about the install process, please visit the
simplenetesd is a standalone executable, written in POSIX-compliant shell script and will run anywhere there is Bash/Dash/Ash installed.
The Daemon should always be installed onto the GNU/BusyBox/Linux Virtual Machines making up the Cluster.
It can also be installed onto your GNU/BusyBox/Linux laptop or personal computer to simulate working on a Cluster.
When installing it locally,
simplenetesd does not have to be installed as a Daemon. It can be run in user-mode as a foreground process instead.
The Daemon activates the pod scripts that use
podman to run containers.
simplenetesd locally to use it for development, do:
LATEST_VERSION=$(curl -s -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/simplenetes-io/simplenetesd/releases/latest | grep tag_name | cut -d":" -f2 | tr -d ",|\"| ")
curl -LO https://github.com/simplenetes-io/simplenetesd/releases/download/$LATEST_VERSION/simplenetesd
chmod +x simplenetesd
sudo mv simplenetesd /usr/local/bin
The provision of new Hosts and Clusters, as well as more details on
simplenetesd are covered on the Provisioning a production cluster section.