explaingit

easzlab/kubeasz

11,362JinjaAudience · ops devopsComplexity · 4/5LicenseSetup · hard

TLDR

Ansible-based tool for automating Kubernetes cluster installation on your own Linux servers, supporting many distributions and both x86 and ARM hardware, documentation primarily in Chinese.

Mindmap

mindmap
  root((repo))
    What it does
      Kubernetes setup
      Cluster automation
      Node management
    Supported OS
      Ubuntu CentOS RHEL
      Rocky Debian
      Chinese distros
    Networking
      Calico Cilium
      Flannel
      kube-ovn
    Features
      Offline install
      HA control plane
      Version upgrades
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Set up a production-ready Kubernetes cluster on bare-metal servers without manually configuring each component.

USE CASE 2

Install Kubernetes in an air-gapped offline environment where servers cannot reach the internet during setup.

USE CASE 3

Add or remove worker nodes and upgrade the Kubernetes version using the provided cluster management scripts.

USE CASE 4

Learn how each Kubernetes component works by following the step-by-step guide and installing components individually.

Tech stack

AnsibleJinjaShellPython

Getting it running

Difficulty · hard Time to first run · 1day+

Requires multiple Linux servers with Ansible installed, documentation is primarily in Chinese which may slow English-speaking users.

Use freely for any purpose including commercial, and you can distribute modified versions as long as you include the Apache 2.0 license.

In plain English

kubeasz is a Chinese-developed open-source tool for setting up Kubernetes clusters on your own servers. Kubernetes is a system for running and managing containerized applications across multiple machines, and kubeasz automates the process of installing and configuring all the pieces that make it work. The README is written primarily in Chinese. The tool uses Ansible, an automation framework that runs a sequence of configuration steps across multiple machines at once. Instead of manually installing each Kubernetes component on each server, you run kubeasz's scripts and it handles the setup end to end. You can either use a one-command install or follow a step-by-step guide to set up components individually, which makes it useful for learning what each part does. kubeasz supports Kubernetes versions from v1.24 through v1.35 and runs on a wide range of Linux distributions including Ubuntu, CentOS, RHEL, Debian, Rocky Linux, and several Chinese-origin distributions such as Alibaba Linux, openEuler, Kylin Linux, and Anolis OS. Both x86 (amd64) and ARM (arm64) architectures are supported. For networking, the tool supports several plugins: Calico, Cilium, Flannel, kube-ovn, and kube-router, each of which controls how containers communicate across machines. High-availability setups for the control plane are supported, as is offline installation for environments where the servers cannot reach the internet during setup. The project has passed the CNCF conformance tests, meaning it meets the official Kubernetes compatibility standard. The documentation includes guides for managing clusters after initial setup: adding or removing nodes, upgrading the cluster version, and backing up and restoring state. Common add-ons such as DNS, a monitoring dashboard, Prometheus, and Helm are also documented. The project is released under the Apache 2.0 license.

Copy-paste prompts

Prompt 1
Using kubeasz, walk me through setting up a 3-node high-availability Kubernetes cluster on Ubuntu 22.04 servers from scratch.
Prompt 2
How do I use kubeasz for an offline Kubernetes installation where my target servers have no internet access?
Prompt 3
Show me how to add a new worker node to an existing kubeasz-managed Kubernetes cluster using the Ansible scripts.
Prompt 4
Which network plugin should I choose in kubeasz for a production cluster, Calico or Cilium, and how do I configure it?
Open on GitHub → Explain another repo

← easzlab on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.