Installing Kuber

Kuber is a rewritten version of Wings from Pterodactyl for Kubernetes compatibility.

Supported Systems

The following is a list of supported operating systems. Please be aware that this is not an exhaustive list, there is a high probability that you can run the software on other Linux distributions without much effort. You are responsible for determining which packages may be necessary on those systems. There is also a very high probability that new releases of the supported OSes below will work just fine, you are not restricted to only the versions listed below.

Operating SystemVersionSupportedNotes

Ubuntu

18.04

Documentation written assuming Ubuntu 18.04 as the base OS.

20.04

22.04

CentOS

7

8

Note that CentOS 8 is EOL. Use Rocky or Alma Linux.

Debian

10

11

Windows

All

This software will not run in Windows environments.

System Requirements

Kuber should run on most systems, with no requirements, being very flexible being just a daemon for communicating with Kubernetes.

Installing Kuber

The first step for installing Kuber is to ensure we have the required directory structure setup. To do so, run the commands below, which will create the base directory and download the kuber executable.

mkdir -p /etc/kubectyl
curl -L -o /usr/local/bin/kuber "https://github.com/kubectyl/kuber/releases/download/v1.0.0-alpha.1/kuber_linux_$([[ "$(uname -m)" == "x86_64" ]] && echo "amd64" || echo "arm64")"
chmod u+x /usr/local/bin/kuber

Configure

Once you have installed Kuber, the next step is to create a cluster on your installed Panel. Go to your Panel administrative view, select Clusters from the sidebar, and on the right side click Create New button.

After you have created a cluster, click on it and there will be a tab called Configuration. Copy the code block content, paste it into a new file called config.yml in /etc/kubectyl and save it.

Alternatively, you can click on the Generate Token button, copy the bash command and paste it into your terminal.

WARNING

When your Panel is using SSL, the Kuber must also have one created for its FQDN. See Creating SSL Certificates documentation page for how to create these certificates before continuing.

Starting Kuber

To start Kuber, simply run the command below, which will start it in a debug mode. Once you confirmed that it is running without errors, use CTRL+C to terminate the process and daemonize it by following the instructions below. Depending on your server's internet connection pulling and starting Kuber for the first time may take a few minutes.

sudo kuber --debug

You may optionally add the --debug flag to run Kuber in debug mode.

Daemonizing (using systemd)

Running Kuber in the background is a simple task, just make sure that it runs without errors before doing this. Place the contents below in a file called kuber.service in the /etc/systemd/system directory.

[Unit]
Description=Kubectyl Kuber Daemon

[Service]
User=root
WorkingDirectory=/etc/kubectyl
LimitNOFILE=4096
PIDFile=/var/run/kuber/daemon.pid
ExecStart=/usr/local/bin/kuber
Restart=on-failure
StartLimitInterval=180
StartLimitBurst=30
RestartSec=5s

[Install]
WantedBy=multi-user.target

Then, run the commands below to reload systemd and start Kuber.

systemctl enable --now kuber

Cluster Allocations

Allocation is a combination of IP and Port that you can assign to a server. Each created server must have at least one allocation. The allocation would be the IP address of your network interface. In some cases, such as when behind NAT, it would be the internal IP. To create new allocations go to Nodes > your node > Allocation.

Type hostname -I | awk '{print $1}' to find the IP to be used for the allocation. Alternatively, you can type ip addr | grep "inet " to see all your available interfaces and IP addresses. Do not use 127.0.0.1 for allocations.

Last updated