explaingit

kubernetes-sigs/kubespray

📈 Trending18,486JinjaAudience · ops devopsComplexity · 4/5ActiveLicenseSetup · hard

TLDR

Ansible playbooks that deploy production-ready Kubernetes clusters across any cloud or bare-metal infrastructure with high availability and flexible networking.

Mindmap

mindmap
  root((kubespray))
    What it does
      Deploy Kubernetes
      Multi-cloud support
      High availability
    Supported platforms
      AWS, GCP, Azure
      OpenStack, vSphere
      Bare metal servers
    Configuration options
      Network plugins
      Storage backends
      Add-on apps
    Tech stack
      Ansible playbooks
      Python automation
      Linux distributions
    Use cases
      Production clusters
      On-prem deployments
      Multi-cloud setups

Things people build with this

USE CASE 1

Deploy a production Kubernetes cluster on AWS, Google Cloud, Azure, or your own data center.

USE CASE 2

Set up a highly available Kubernetes cluster that keeps running even if individual servers fail.

USE CASE 3

Automate Kubernetes deployment across multiple Linux distributions without manual configuration.

USE CASE 4

Configure networking, storage, and add-ons like cert-manager and ArgoCD during cluster creation.

Tech stack

AnsiblePythonJinjaKubernetesLinux

Getting it running

Difficulty · hard Time to first run · 1day+

Requires existing infrastructure (cloud account or bare-metal servers), network configuration, and multiple Ansible runs across many hosts.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice and license text.

In plain English

Kubespray is a set of Ansible playbooks for deploying a production-ready Kubernetes cluster. Ansible is an automation tool that runs tasks on remote machines via SSH; a playbook is a file describing what those tasks should be. Kubernetes is a system for running and managing containerized applications across a group of servers. The key advantage Kubespray offers is flexibility. It can deploy Kubernetes on AWS, Google Cloud Engine, Azure, OpenStack, vSphere, Equinix Metal bare-metal servers, Oracle Cloud Infrastructure, or plain bare metal, and it supports a long list of Linux distributions including Debian, Ubuntu, CentOS Stream, RHEL, Fedora, Fedora CoreOS, openSUSE, Oracle Linux, Alma Linux, and Rocky Linux. The cluster it creates is highly available, meaning it is set up so that the failure of individual machines does not bring down the whole system. Network plugins are configurable, with support for calico, cilium, flannel, kube-ovn, kube-router, multus, and kube-vip. Several storage plugins and additional applications like cert-manager, CoreDNS, ArgoCD, Helm, and MetalLB are also handled. Requirements include Ansible version 2.14 or newer, Python's netaddr library, and target servers that have internet access to pull container images. The minimum supported Kubernetes version is 1.30. Installation can be done via Docker, Ansible directly, or Vagrant for local testing.

Copy-paste prompts

Prompt 1
How do I use Kubespray to deploy a Kubernetes cluster on bare-metal servers with Calico networking?
Prompt 2
Show me how to customize a Kubespray playbook to add MetalLB and cert-manager to my cluster.
Prompt 3
What are the prerequisites and steps to deploy Kubernetes on vSphere using Kubespray?
Prompt 4
How do I make my Kubespray-deployed cluster highly available across multiple nodes?
Prompt 5
Can you help me adapt Kubespray playbooks to deploy on OpenStack with Cilium as the network plugin?
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.