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
curl -fsSL https://get.kubenest.io | shThe 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.
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[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:
kubenest platform install \
--bundle 1.1 \
--name client-a \
--ha single-server \
--server 203.0.113.20 \
--ssh-user ubuntu \
--storage-device /dev/nvme1n1The 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:
kubenest login \
--control-plane https://api.203.0.113.10.sslip.io \
--token-stdin \
--ca-file <platform CA>Next
- Install the platform — host preparation, storage choices, the stages and recovery
- Architecture — how the console, API, hub and agent fit together
- Why these components — k3s, Traefik, ArgoCD, and what we deliberately did not build