awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
alexellis avatar

alexellis/k3sup

0
View on GitHub↗
7,393 stars·432 forks·Go·14 viewsgithub.com/sponsors/alexellis↗

K3sup

k3sup is a command-line tool that installs and manages lightweight Kubernetes clusters entirely over SSH, without requiring any pre-installed software on the target machines. It bootstraps clusters on remote hosts using a single statically-linked binary, then provides immediate kubectl access by fetching and merging the cluster's admin credentials into the local configuration. The tool supports plan-driven cluster topology, allowing users to define node roles and configuration in a YAML file for automated multi-node deployment.

The tool distinguishes itself by enabling parallel execution of installation and management commands across all specified hosts, minimizing setup time for multi-node clusters. It supports building highly available clusters with multi-master control planes using embedded etcd or external SQL datastores, and can add worker nodes to an existing cluster over SSH. k3sup also handles cluster teardown in the correct order, and can run arbitrary shell commands simultaneously on every node in a cluster.

Beyond cluster lifecycle management, the tool includes capabilities for verifying cluster readiness by checking that all nodes report a Ready status. The project provides cross-platform binary compilation for Linux, macOS, and Windows across multiple architectures, along with automated code quality checks including formatting verification and unit test coverage reporting.

Features

  • Lightweight Cluster Provisioning - Command-line tool that installs and manages lightweight Kubernetes clusters over SSH with a single command.
  • SSH-Based Cluster Orchestrators - Installs Kubernetes by executing commands over SSH on remote hosts without requiring any pre-installed software.
  • Idempotent Installers - Ensures repeated runs produce the same cluster state without duplicating resources.
  • Parallel Command Execution - Runs installation and management commands concurrently across all specified hosts.
  • Cluster Bootstrapping - Bootstraps lightweight Kubernetes clusters on remote VMs over SSH with immediate kubectl access.
  • Cluster Lifecycle Management - Command-line utility that installs, joins workers, retrieves kubeconfig, and uninstalls K3s clusters over SSH.
  • YAML Plan-Driven Topologies - Defines a cluster topology in a YAML plan file and applies it in parallel across multiple hosts.
  • Parallel Multi-Node Operations - Adds workers, builds HA control planes, and uninstalls clusters across many hosts in parallel.
  • SSH-Based Kubeconfig Retrievals - Fetches the cluster's admin credentials over SSH and merges them into the local kubectl configuration.
  • Kubernetes Cluster Deployments - Reads a JSON host definition and a YAML plan to install or update a Kubernetes cluster in parallel.
  • SSH-Based Kubeconfig Retrievals - Fetches the kubeconfig file from a running K3s installation and merges it into the local configuration.
  • Lightweight Kubernetes Distributions - CLI that deploys, scales, and removes K3s clusters with embedded etcd or external SQL datastores.
  • Installation Script Invocations - Directly invokes the K3s installation script and configuration tools over SSH.
  • SSH-Based Node Provisioning - Bootstraps, joins, and manages Kubernetes nodes entirely through SSH without a local Kubernetes client.
  • Kubernetes SSH Installers - Bootstraps K3s nodes and joins workers entirely over SSH without manual configuration.
  • Cluster Credential Exports - Fetches the kubeconfig from a running Kubernetes installation and merges it into the local configuration file.
  • Cluster Node Joins - Joins additional machines as agents to an existing Kubernetes server over SSH, expanding compute capacity.
  • Single-Binary Distributions - Delivers the entire tool as a single statically-linked Go binary with no runtime dependencies.
  • Orderly Cluster Removals - Removes K3s from every node in a cluster in the correct order, using a plan file or direct parameters.
  • High Availability Clustering - Sets up multi-master Kubernetes clusters with embedded etcd or external SQL datastores for resilience.
  • Embedded Datastore High Availability - Creates a multi-master K3s cluster using embedded etcd or an external SQL datastore for resilience.
  • Automatic Kubeconfig Injections - Automatically fetches and merges the kubeconfig from a running K3s installation for immediate kubectl access.
  • SSH-Based Cluster Teardowns - Removes K3s from all nodes in the correct order using SSH credentials or plan files.
  • Plan-Driven Provisioners - Reads a YAML plan to install or update K3s across many servers in parallel over SSH.
  • Remote Command Execution - Executes a specified command on every server or agent in the cluster simultaneously over SSH.
  • Cluster-Wide Command Executions - Executes a shell command on every server or agent in a cluster simultaneously over SSH.
  • Automated Node Joining - Adds worker nodes to an existing K3s cluster by connecting over SSH to each new host.

Star history

Star history chart for alexellis/k3supStar history chart for alexellis/k3sup

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does alexellis/k3sup do?

k3sup is a command-line tool that installs and manages lightweight Kubernetes clusters entirely over SSH, without requiring any pre-installed software on the target machines. It bootstraps clusters on remote hosts using a single statically-linked binary, then provides immediate kubectl access by fetching and merging the cluster's admin credentials into the local configuration. The tool supports plan-driven cluster topology, allowing users to define node roles and…

What are the main features of alexellis/k3sup?

The main features of alexellis/k3sup are: Lightweight Cluster Provisioning, SSH-Based Cluster Orchestrators, Idempotent Installers, Parallel Command Execution, Cluster Bootstrapping, Cluster Lifecycle Management, YAML Plan-Driven Topologies, Parallel Multi-Node Operations.

Which projects share features with alexellis/k3sup?

Projects with overlapping indexed features include: k0sproject/k0s — k0s is a Kubernetes distribution that packages all control plane and worker components into a single binary, enabling… kubeoperator/kubeoperator — KubeOperator is a comprehensive Kubernetes cluster management platform, infrastructure orchestrator, and multi-cluster… k3s-io/k3s-ansible — k3s-ansible is a set of playbooks and tools for automating the deployment, orchestration, and lifecycle management of… opsnull/follow-me-install-kubernetes-cluster — This project provides a comprehensive guide and set of scripts for deploying and configuring a production-ready… lxc/lxd — LXD is a unified platform for managing both system containers and virtual machines through a single REST API and… kubernetes/kops — kops is a Kubernetes cluster provisioner and lifecycle manager designed to automate the creation, maintenance, and…

Projects sharing features with K3sup

These projects share indexed features with K3sup. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • k0sproject/k0sk0sproject avatar

    k0sproject/k0s

    6,290View on GitHub↗

    k0s is a Kubernetes distribution that packages all control plane and worker components into a single binary, enabling cluster deployment with no host dependencies beyond the Linux kernel. It supports a container-native runtime where controllers and workers run inside Docker containers using a single OCI image, and offers declarative YAML configuration for defining cluster topology, host roles, and SSH connection details. The distribution provides pre-built binaries for x86-64, ARM64, ARMv7, and RISC-V architectures, and uses cryptographically signed tokens for secure node enrollment. The proj

    Gokubernetes
    View on GitHub↗6,290
  • kubeoperator/kubeoperatorKubeOperator avatar

    KubeOperator/KubeOperator

    4,982View on GitHub↗

    KubeOperator is a comprehensive Kubernetes cluster management platform, infrastructure orchestrator, and multi-cluster manager. It functions as an enterprise Kubernetes distribution designed to automate the deployment, scaling, and lifecycle management of production clusters across diverse cloud platforms and physical machines. The platform distinguishes itself with specialized capabilities for air-gapped environments, including an offline installation engine that generates software archives and manages private registries for secure, non-internet deployments. It also provides a centralized da

    Goansiblecontainersdocker
    View on GitHub↗4,982
  • k3s-io/k3s-ansiblek3s-io avatar

    k3s-io/k3s-ansible

    2,705View on GitHub↗

    k3s-ansible is a set of playbooks and tools for automating the deployment, orchestration, and lifecycle management of lightweight Kubernetes clusters. It functions as a provisioning tool that installs and configures these environments across multiple Linux nodes using a declarative approach. The project provides specialized support for high-availability configurations using either embedded etcd or external datastores. It also includes mechanisms for air-gapped installations, allowing the distribution of binaries and container images from a local directory to nodes without internet access. Th

    YAML
    View on GitHub↗2,705
  • opsnull/follow-me-install-kubernetes-clusteropsnull avatar

    opsnull/follow-me-install-kubernetes-cluster

    7,546View on GitHub↗

    This project provides a comprehensive guide and set of scripts for deploying and configuring a production-ready Kubernetes cluster from scratch. It centers on establishing a functional environment by installing core management components, storage, and networking across multiple nodes. The implementation emphasizes high availability for the control plane, utilizing layer-4 load balancing and leader election for the API server, scheduler, and controller manager. It further ensures reliability through the deployment of a distributed key-value store for persistent runtime data. The project cover

    Shellcontainerdcorednsdocker
    View on GitHub↗7,546
  • Compare all 30 related projects→