# Install k3sup with Homebrew, apk, MacPorts, Nix, zypper, scoop

Utility to create k3s clusters on any local or remote VM. Version 0.13.12 via Homebrew; verified 2026-07-27. Also installable with nix: nix profile install nixpkgs#k3sup.

## Install

```sh
sudo av install brew:k3sup
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install k3sup
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install k3sup
```

  Evidence: MacPorts ports tree: sysutils/k3sup/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add k3sup
```

  Evidence: Alpine Linux edge package indexes: k3sup from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz

- Nix (92%):

```sh
nix profile install nixpkgs#k3sup
```

  Evidence: nixpkgs package indexes: pkgs/by-name/k3/k3sup/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- zypper (92%):

```sh
sudo zypper install k3sup
```

  Evidence: openSUSE Tumbleweed package metadata: k3sup from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst

### Windows

- Scoop (92%):

```sh
scoop install main/k3sup
```

  Evidence: Scoop official bucket manifest trees: bucket/k3sup.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:k3sup
- **Package manager:** Homebrew
- **Version:** 0.13.12
- **Source summary:** Utility to create k3s clusters on any local or remote VM
- **Homepage:** <https://k3sup.dev>
- **Repository:** <https://github.com/alexellis/k3sup>
- **Last updated:** 2026-07-27T21:58:34+02:00
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- k3sup (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 0.13.12
## Project history and usage

k3sup is Alex Ellis's lightweight SSH-based installer for getting from a machine or VM to a usable k3s kubeconfig quickly.

### Project history

k3sup appeared in August 2019 during the early wave of enthusiasm around Rancher's k3s. The initial release established a small Go binary that could install k3s over SSH and return kubectl access without requiring users to memorize the full server, token, and kubeconfig dance.

Early releases quickly added cluster-joining support, Windows binaries, version pinning, and ergonomics for multi-node k3s clusters. The project kept the deliberately small surface: install a server, join agents, fetch kubeconfig, and smooth out the SSH workflow.

### Adoption history

k3sup became popular in homelab, edge, Raspberry Pi, and small-cloud Kubernetes examples because it matched k3s's promise: make a usable cluster with ordinary Linux hosts and SSH access.

The creator's tutorials and community posts helped make k3sup part of the k3s tooling vocabulary even though it remains an independent project rather than a k3s subcommand.

### How it is used

A typical workflow runs `k3sup install` against the first host, then `k3sup join` for additional agents or servers. The tool handles SSH, remote installation, token handling, and kubeconfig retrieval so users can move directly to kubectl.

### Why package nerds care

k3sup is the kind of tiny infrastructure binary package managers are good at distributing: no service, no local state database, just a CLI that turns a fiddly bootstrap procedure into a repeatable command.

### Timeline

- 2019: k3sup 0.1.0 was released in August as an initial working release.
- 2019: 0.2.0 added the `join` command for forming a complete cluster.
- 2019: 0.2.2 added Windows binary support.
- 2019: 0.3.0 added k3s version pinning.
- 2020: The project was widely documented for bare-metal and highly available k3s workflows.

### Related projects

- k3sup is built around k3s and SSH. It overlaps conceptually with k0sctl, kubeadm automation scripts, and other small cluster-bootstrap CLIs.

### Sources

- <https://blog.alexellis.io/create-a-3-node-k3s-cluster-with-k3sup-digitalocean/>
- <https://github.com/alexellis/k3sup>
- <https://github.com/alexellis/k3sup/releases/tag/0.1.0>
- <https://github.com/alexellis/k3sup/releases/tag/0.2.0>
- <https://github.com/alexellis/k3sup/releases/tag/0.3.0>
- <https://k3sup.dev>


## Security Notes

infrastructure mutation or orchestration signal.

- **Geiger risk:** orange / medium
- infrastructure mutation or orchestration signal

## Other Package-Manager Records

- Nix - k3sup: normalized package name match | nixpkgs package indexes: pkgs/by-name/k3/k3sup/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - k3sup - 0.13.6-r16: normalized package name match | Alpine Linux edge package indexes: k3sup from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | A light-weight utility to get from zero to KUBECONFIG with k3s | https://k3sup.dev/
- apk - k3sup-bash-completion - 0.13.6-r16: normalized package name match | Alpine Linux edge package indexes: k3sup-bash-completion from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Bash completions for k3sup | https://k3sup.dev/
- apk - k3sup-fish-completion - 0.13.6-r16: normalized package name match | Alpine Linux edge package indexes: k3sup-fish-completion from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Fish completions for k3sup | https://k3sup.dev/
- apk - k3sup-zsh-completion - 0.13.6-r16: normalized package name match | Alpine Linux edge package indexes: k3sup-zsh-completion from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Zsh completions for k3sup | https://k3sup.dev/
- zypper - k3sup - 0.13.12-1.6: normalized package name match | openSUSE Tumbleweed package metadata: k3sup from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | Bootstrap Kubernetes with k3s over SSH < 1 min | https://github.com/alexellis/k3sup
- MacPorts - k3sup: normalized package name match | MacPorts ports tree: sysutils/k3sup/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Scoop - main/k3sup: normalized package name match | Scoop official bucket manifest trees: bucket/k3sup.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1


## Combined YAML source

View the package source record on GitHub. [combined/k3sup.yml](https://github.com/mxcl/pkgdb/blob/main/combined/k3sup.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
