Open source system for deploying, scaling and managing containerized applications across multiple hosts.
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
Install the k3sup binary with the official install script from the README
- 2
Move the binary into your PATH
sudo install k3sup /usr/local/bin/ - 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
Helm is the package manager for Kubernetes, installing and managing apps packaged as reusable Charts.
Open source cloud native container registry that stores, signs, and scans images and Helm charts, with RBAC and replication.
A collection of real DevOps, SRE and cloud engineering interview questions, organized by company and role.
A declarative GitOps continuous delivery tool that syncs Kubernetes applications to the state defined in Git repositories.
Git-native feature flag platform that stores flags in your own Git repositories and deploys them alongside code.