gitmyhub

kubeasz

Jinja ★ 11k updated 2d ago

使用Ansible脚本安装K8S集群,介绍组件交互原理,方便直接,不受国内网络环境影响

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.

AnsibleJinjaShellPythonsetup: hardcomplexity 4/5

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.

Where it fits