Symplegma¶
Symplegma (from greek σύμπλεγμα) is a simple set of Ansible playbooks to deploy Kubernetes with Kubeadm. It is heavily inspired by Kubespray and OpenStack Ansible.
Symplegma is Kubernetes certified since v1.12
. Check out CNCF Landscape.
The main goal is to be minimalist with sensible defaults.
starting in v2, ansible role support for CNI plugin has been removed, as most commonly used plugin use straight foward deployment process. To migrate to tigera operator please see this guide. Support to install more CNI with native installation might be added in the futur.
Deploys a Kubernetes cluster¶
- Deploys vanilla Kubernetes with Kubeadm.
- Supports Flatcar Linux / Ubuntu 20.04
- Does not rely on Docker
- Uses CRI compatible runtime:
- containerd (default)
- cri-o
- Does not depend on cloud provider
- Does not depend on primary master
- Dynamic config
- Always up to date: No deprecated options
Documentation¶
Documentation is generated using mkdocs and the sources are located in the ./docs/
directory.
It is available online at particuleio.github.io/symplegma.
Roles¶
- symplegma-os_bootstrap: Configure the hosts OS to support Vanilla Kubernetes
- symplegma-kubernetes_hosts: Bootstrap Kubernetes on Linux hosts
- symplegma-win_kubernetes_hosts: Bootstrap Kubernetes on Windows hosts
- symplegma-kubeadm: Bootstrap the Kubernetes Cluster using
kubeadm
- symplegma-containerd: Install the containerd CRI
- symplegma-crio: Install the cri-o CRI
- symplegma-win_docker: Install the [docker][cri-docker] CRI on Windows hosts
- symplegma-cni: Boostrap the hosts to install the CNI
- symplegma-flannel: Bootstrap and install the Flannel CNI
- symplegma-win_cni: Bootstrap Windows hosts to install the CNI
Roadmap¶
- Support cilium as network plugin
- Support Kata container on QEMU and Firecracker
- Support bootstrapping GitOps
Contributing¶
Each role is hosted in a separate repository in particuleio. Exhaustive list of roles can be found in requirements.yml