Repolode
alexellis

alexellis/k3sup

A command-line tool that installs K3s Kubernetes over SSH on a remote or local VM and fetches a kubeconfig for kubectl access.

Stars
7,439
Forks
432
Open issues
34
Last commit
2 months ago

What is it?

k3sup is a small Go command-line utility that takes a Linux machine from nothing to a working K3s Kubernetes cluster. You run it from your own computer, point it at a host reachable over SSH, and it installs K3s on that host, then copies the kubeconfig back to your machine so kubectl works immediately. It can also join additional Linux hosts as K3s agents, and supports a local install mode that skips SSH.

The tool targets Linux hosts such as cloud VMs, bare-metal servers and Raspberry Pi devices, and the binary is cross-compiled for Linux, Windows and macOS. Options cover K3s version or channel selection, SSH port and key, disabling bundled extras like traefik, multi-server HA setups with embedded etcd or an external SQL datastore, and merging the generated kubeconfig into an existing file under a named context.

The repository also describes a commercial edition, k3sup Pro, which adds plan and apply commands for parallel, GitOps-style installs across many nodes, plus exec, uninstall and get-config commands. The core CE tool is MIT licensed.

Key features

  • 01Installs K3s on a remote Linux host over SSH with one command.
  • 02Fetches the kubeconfig to your machine and can merge it into an existing file under a named context.
  • 03Joins additional Linux hosts to a cluster as K3s agents.
  • 04Supports HA server setups with embedded etcd or an external SQL datastore.
  • 05Runs in local mode without SSH when installing on the current machine.
  • 06Ships as a static binary for Linux, Windows and macOS.

Use cases

  • Spinning up a single-node or multi-node K3s cluster on cloud VMs.
  • Building a home lab Kubernetes cluster on Raspberry Pi devices.
  • Bootstrapping K3s from CI jobs or cloud-init scripts.
  • Setting up a highly available K3s control plane with multiple servers.

Quick start

  1. 1

    Install the k3sup binary with the official install script from the README

  2. 2

    Move the binary into your PATH

    sudo install k3sup /usr/local/bin/
  3. 3

    Install K3s on the local machine without SSH

    k3sup install --local

Things to know

  • Target hosts need passwordless sudo unless cloud images already allow it.
  • K3sup Pro requires a GitHub Sponsorship or a commercial license and is governed by an EULA.
  • The metadata reports no clear license (NOASSERTION), so check the LICENSE file before commercial use.

Topics

FAQ

What is k3sup?
A command-line tool that installs K3s Kubernetes over SSH on a remote or local VM and fetches a kubeconfig for kubectl access. k3sup is a small Go command-line utility that takes a Linux machine from nothing to a working K3s Kubernetes cluster. You run it from your own computer, point it at a host reachable over SSH, and it installs K3s on that host, then copies the kubeconfig back to your machine so kubectl works immediately. It can also join additional Linux hosts as K3s agents, and supports a local install mode that skips SSH.
Is k3sup free to use? What license does it have?
k3sup is open source under the Other license. Check the license terms before using it in commercial products.
Is k3sup still maintained?
Updated within 6 months. The last commit to k3sup was on Sep 3, 2026.
What can I use k3sup for?
Spinning up a single-node or multi-node K3s cluster on cloud VMs. Building a home lab Kubernetes cluster on Raspberry Pi devices. Bootstrapping K3s from CI jobs or cloud-init scripts. Setting up a highly available K3s control plane with multiple servers.
How do I install k3sup?
Install the k3sup binary with the official install script from the README Move the binary into your PATH: sudo install k3sup /usr/local/bin/ Install K3s on the local machine without SSH: k3sup install --local
Where can I get k3sup?
The source code and installation instructions are on GitHub: https://github.com/alexellis/k3sup

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects