Kubespray is an Ansible-based deployment tool for provisioning production-ready Kubernetes clusters across multiple infrastructure platforms and operating systems. The project is maintained under the Kubernetes SIGs organization and serves as a comprehensive solution for automating cluster deployment and configuration management at scale.
The repository supports deployment on a wide range of cloud providers and infrastructure types including AWS, Google Compute Engine, Azure, OpenStack, vSphere, Equinix Metal bare metal, and Oracle Cloud Infrastructure. It enables highly available cluster configurations with composable architecture, allowing users to select from multiple network plugins and container runtimes based on their specific requirements. The primary language used is Jinja, with Ansible serving as the orchestration framework for deployment automation.
Kubespray supports an extensive list of Linux distributions spanning Debian variants like Bookworm and Bullseye, Ubuntu 22.04 and 24.04, CentOS Stream and RHEL versions 9 and 10, Fedora releases 39 through 42, Fedora CoreOS, openSUSE Leap and Tumbleweed, Oracle Linux, Alma Linux, Rocky Linux, and several experimental distributions including Kylin Linux, Amazon Linux 2, UOS Linux, and openEuler. The tool maintains compatibility with Kubernetes 1.30 and later versions, supporting multiple container runtimes including Docker, containerd, and CRI-O.
The project offers significant flexibility in networking through ten available CNI plugins including Calico as the default option, Cilium, Flannel, Kube-OVN, Kube-Router, Macvlan, and Multus for multi-interface support. It includes support for various storage solutions via CSI plugins for AWS EBS, Azure Disk, GCP Persistent Disk, and Cinder, alongside local storage provisioners. Additional components supported include Cert-Manager, CoreDNS, ArgoCD, Helm, MetalLB, and a Docker registry.
The repository is classified across multiple domains including cluster deployment, container orchestration, infrastructure management, configuration management, and provisioning. It provides comprehensive documentation covering deployment scenarios from basic setup to advanced operations including high-availability configurations, air-gap installations, cluster upgrades, node management, and hardening procedures. The tool is designed to handle large-scale deployments with documented support for production environments requiring robust, scalable Kubernetes infrastructure.