Skip to Content
Quickstart

Quickstart

One Ubuntu machine, one command. The first install puts the KubeNest platform bundle and the KubeNest control plane — console, API, hub, Postgres and Redis — into that one cluster, registers the cluster to that control plane, and leaves the CLI logged in. Adding another cluster is one more command from the same machine.

You need a single Ubuntu 24.04 host with 2 vCPU, 4 GB RAM, 40 GB disk, SSH access and passwordless sudo. You also need either a pre-created kubenest-vg volume group or a blank device you are willing to give to the installer. The install guide covers those choices.

All-in-one or two-tier. Putting the control plane inside the cluster that also runs your applications is the right start: one host to keep, nothing else to provision, and it is enough for a small fleet. For production, run a dedicated management cluster and add workload clusters to it. The reason is plain. Running applications on the management cluster means one application’s memory pressure can take the console down for the whole fleet, and upgrading that cluster upgrades the thing that manages everything else.

Install the CLI

terminal
curl -fsSL https://get.kubenest.io | sh

The installer served at get.kubenest.io installs the CLI; if its destination is not writable, follow its printed remedy: re-run with --install-dir ~/.local/bin.

Install the platform and the control plane

Replace the example address and storage device with your host and a blank device. The --storage-device flag is deliberate: the installer refuses a device that already carries data.

terminal
kubenest platform install \ --control-plane \ --bundle 1.1 \ --name mgmt \ --ha single-server \ --server 203.0.113.10 \ --ssh-user ubuntu \ --storage-device /dev/nvme1n1
output
[14/14] verify ok Installed in 5m43s. Journal: /home/you/.kubenest/journals/mgmt.json Console: https://app.203.0.113.10.sslip.io Logged in to https://api.203.0.113.10.sslip.io

--domain is optional. Without it the installer uses <first --server address>.sslip.io, so this example serves the console at https://app.203.0.113.10.sslip.io and the API at https://api.203.0.113.10.sslip.io. The certificate for those hostnames is issued by the cluster’s own platform CA, so a browser shows a certificate warning until you import that CA or configure your own issuer; the CLI stores the CA automatically.

When the command finishes the CLI is logged in to the control plane. The installer prints the generated admin password once — save it. --admin-email is optional and defaults to admin@<domain>.

Add a cluster (optional)

From the same machine, run the same command without --control-plane:

terminal
kubenest platform install \ --bundle 1.1 \ --name client-a \ --ha single-server \ --server 203.0.113.20 \ --ssh-user ubuntu \ --storage-device /dev/nvme1n1

The new cluster’s agent connects out to the management cluster’s hub over wss on port 443, so the management host must accept 443 from the new cluster and from the machine running the CLI.

From a machine that did not run the first install, log in to the same control plane first:

terminal
kubenest login \ --control-plane https://api.203.0.113.10.sslip.io \ --token-stdin \ --ca-file <platform CA>

Next

Last updated on