Hysen Labs
Open-source project
kubesphere/kubekey avatar
kubesphere

kubekey

Install Kubernetes, and related cloud-native add-ons, it supports all-in-one, multi-node, and HA 🔥 ⎈ 🐳

2,858 stars829 forksGoApache-2.0
DEEP OPEN-SOURCE ANALYSIS

A lightweight tool to install Kubernetes

KubeKey installs Kubernetes and related cloud-native add-ons through a flexible task execution engine, supporting single-node, multi-node, and high-availability setups.

What KubeKey is

KubeKey is an open source, lightweight task flow execution tool that provides a flexible and fast way to install Kubernetes. The project describes itself as having passed the CNCF Kubernetes Conformance Certification, which means a cluster it creates behaves the way the Kubernetes project expects. The README positions KubeKey as more than a one shot installer: in the 3.x line it expanded from a Kubernetes lifecycle management tool into a general task execution tool, with a flow design that references Ansible for inspiration. This broader scope shows up in how it manages task templates from multiple sources such as git and local paths, and how it connects to nodes through several methods including local, ssh, kubernetes, and prometheus. It also supports cloud native automated batch task management. One advanced feature, a UI page, is listed as not yet open in the README, so the documented path today is the command line and the web flow introduced in version 4. The repository metrics at the time of writing show 2,858 stars, 829 forks, and 270 open issues, which reflects how widely the tool is used in the KubeSphere community and beyond. The license is Apache 2.0, a permissive choice common for infrastructure software. KubeKey's appeal is that a single binary handles discovery, installation, and teardown of a cluster without requiring you to orchestrate a pile of shell scripts by hand.

New features in 3.x

The 3.x series changed what KubeKey is, and the README documents that shift explicitly. The first change is the expansion from a Kubernetes lifecycle tool into a task execution tool, where the flow design borrows ideas from Ansible, so users who know Ansible will recognize the shape of playbooks and roles. The second is support for managing task templates from multiple sources, including git and local storage, which lets teams keep their automation in version control. The third is support for multiple node connection methods: local execution, ssh, kubernetes, and prometheus, so the same engine can drive a remote host, talk to a cluster, or pull from a metrics source. The fourth is cloud native automated batch task management, which fits KubeKey into larger operational pipelines. The fifth is an advanced UI page, but the README is honest that it is not yet open, so readers should not expect a shipped web console in this line. These points are presented as a comparison of new features rather than as marketing, and they tell a contributor exactly where the project moved. For someone evaluating the tool, the practical takeaway is that KubeKey can now express general automation, not just Kubernetes install and uninstall, which widens the cases where the single binary is worth keeping around.

Getting and running it

Obtaining KubeKey is simple. You can download the corresponding binary from the releases page, or run a curl command that fetches and installs the kk binary in one step. The release archive contains the KubeKey binary, web installer resources, task template files for host checks and Kubernetes and KubeSphere, schema configuration files, a README, and an offline package build script. The quick start offers two methods. The first is the command line, where running ./kk create cluster brings up a cluster. The second is a web UI, which the README notes is only supported after version 4.0.0, started with ./kk web and pointed at a schema path and a UI path. The documentation navigation is extensive and tells you where to look for each concern: installing Kubernetes with component versions, online and offline installation, adding and deleting nodes, a configuration reference, a set of playbooks for creating and deleting clusters and nodes, renewing certificates, exporting offline artifacts, pre installation checks, and initializing the OS. There are also docs for image registry installation, dependency packages, and the task execution framework itself, with pages explaining the project, playbook, role, task, template syntax, and variables. This breadth of docs is what makes the tool usable beyond its core install command, since operators can read exactly how each phase is defined before running it.

Editorial conclusion

KubeKey is written in Go and distributed under the Apache 2.0 license, and it had reached 2,858 stars on GitHub by its last update on 2026-08-24.

DEEP OPEN-SOURCE ANALYSIS

Official sources

Community notes

Community notes