About this project

Kubespray is a Kubernetes SIGs project that provides Ansible playbooks and roles for deploying a production-ready Kubernetes cluster. It targets both bare metal and cloud environments, including AWS, GCE, Azure, OpenStack, vSphere, Equinix Metal, and Oracle Cloud Infrastructure (experimental). Key characteristics described in the README: - Highly available cluster deployments - Composable setup, including a choice of network plugin - Support for many popular Linux distributions, such as Flatcar Container Linux, Debian, Ubuntu, CentOS Stream/RHEL, Fedora, Fedora CoreOS, openSUSE, Oracle Linux, Alma Linux, Rocky Linux, and several experimental distributions - Continuous integration tests Usage paths include running the project via a Docker image, directly with Ansible, or through Vagrant. The Docker quick start mounts an inventory directory and an SSH key, then runs the cluster playbook inside the container. Ansible usage is documented in a getting-started guide, and the repository can also be consumed as an Ansible collection. Requirements noted include Ansible v2.14+, Jinja 2.11+, python-netaddr on the control machine, internet access on target servers for pulling images (or offline configuration), IPv4 forwarding, and privilege escalation when not running as root. Firewalls are not managed by the project. Minimum hardware guidance is 2 GB memory for control plane nodes and 1 GB for worker nodes. The README lists supported components with pinned versions, covering Kubernetes, etcd, container runtimes (Docker, containerd, CRI-O), CNI plugins, network plugins (Calico, Cilium, Flannel, Kube-OVN, Kube-Router, Multus, kube-vip, and others), applications such as cert-manager, CoreDNS, Argo CD, Helm, MetalLB, and a registry, plus storage plugins including AWS EBS CSI, Azure CSI, Cinder CSI, GCP PD CSI, local path and local volume provisioners, and node feature discovery. Documentation links cover comparisons, getting started, inventory and tags, integration with existing Ansible repositories, deployment variables, DNS stack, HA mode, network plugins, Vagrant, Flatcar and Fedora CoreOS bootstrap, openSUSE setup, downloaded artifacts, cloud providers, large deployments, adding or replacing nodes, upgrades, air-gap installation, NTP, hardening, mirroring, and the roadmap. Community resources and projects built on top of Kubespray are also referenced.