ScriptsApr 16, 2026·3 min read

k3sup — Bootstrap K3s Clusters Over SSH in Under a Minute

k3sup (ketchup) is a lightweight CLI that installs K3s on any remote server over SSH with a single command, enabling fast Kubernetes cluster creation on bare metal, VMs, or Raspberry Pis without complex setup scripts.

TL;DR
k3sup installs K3s on remote servers via SSH in one command, no complex setup scripts needed.
§01

What it is

k3sup (pronounced 'ketchup') is a lightweight CLI that installs K3s on any remote server over SSH with a single command. It targets developers and homelab operators who want fast Kubernetes cluster creation on bare metal, VMs, or Raspberry Pis without writing complex setup scripts or Ansible playbooks.

K3s is a lightweight Kubernetes distribution by Rancher. k3sup removes the remaining friction by handling the SSH connection, binary download, and kubeconfig retrieval in one step.

§02

How it saves time or tokens

Manually setting up K3s involves SSHing into a server, downloading the binary, configuring systemd, and fetching the kubeconfig. k3sup collapses this into a single command. For multi-node clusters, it also handles joining worker nodes to an existing server without manual token passing.

§03

How to use

  1. Install k3sup on your local machine (a single binary download).
  2. Run k3sup install with the target server's IP and SSH key.
  3. For worker nodes, run k3sup join pointing at the server IP.
§04

Example

# Install k3sup locally
curl -sLS https://get.k3sup.dev | sh
sudo install k3sup /usr/local/bin/

# Bootstrap a K3s server
k3sup install --ip 192.168.1.100 --user pi

# Join a worker node
k3sup join --ip 192.168.1.101 --server-ip 192.168.1.100 --user pi

# Verify the cluster
export KUBECONFIG=$(pwd)/kubeconfig
kubectl get nodes
§05

Related on TokRepo

§06

Common pitfalls

  • Forgetting to open port 6443 on the server firewall. K3s API server listens on this port and worker nodes need it to join.
  • Using password-based SSH instead of key-based. k3sup works best with SSH keys; password auth requires additional configuration.
  • Not checking the kubeconfig file location after install. k3sup writes it to the current directory by default, not to ~/.kube/config.

Frequently Asked Questions

What is the difference between k3sup and k3s?+

K3s is the lightweight Kubernetes distribution itself. k3sup is a separate CLI tool that automates the installation and cluster joining process for K3s over SSH. You still run K3s under the hood.

Can I use k3sup with cloud VMs?+

Yes. k3sup works with any server accessible via SSH, including AWS EC2 instances, DigitalOcean droplets, Hetzner servers, and any other cloud VM with an SSH endpoint.

Does k3sup support high-availability clusters?+

Yes. You can use k3sup to set up multi-server HA clusters with an external datastore or embedded etcd. Run k3sup install on each server node with the appropriate HA flags.

How do I upgrade K3s installed via k3sup?+

k3sup does not currently manage upgrades. To upgrade K3s, SSH into the server and run the K3s install script with the desired version, or use the K3s system-upgrade-controller for automated upgrades.

Can k3sup install K3s on Raspberry Pi?+

Yes. Raspberry Pi is a primary target for k3sup. It works with ARM-based Pis running a compatible Linux OS. Ensure SSH is enabled and the Pi has a static IP or hostname.

Citations (3)

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets