Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/particuleio/symplegma
Streamlined Ansible Kubernetes deployment tool
https://github.com/particuleio/symplegma
ansible-playbook containerd cri kubeadm kubeadm-ha kubernetes kubernetes-cluster kubernetes-deployment kubernetes-setup symplegma
Last synced: 3 months ago
JSON representation
Streamlined Ansible Kubernetes deployment tool
- Host: GitHub
- URL: https://github.com/particuleio/symplegma
- Owner: particuleio
- License: apache-2.0
- Created: 2018-07-30T20:46:56.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2024-07-20T19:45:53.000Z (6 months ago)
- Last Synced: 2024-10-15T21:40:57.530Z (3 months ago)
- Topics: ansible-playbook, containerd, cri, kubeadm, kubeadm-ha, kubernetes, kubernetes-cluster, kubernetes-deployment, kubernetes-setup, symplegma
- Language: HCL
- Homepage: https://particuleio.github.io/symplegma/
- Size: 809 KB
- Stars: 38
- Watchers: 8
- Forks: 8
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
- awesome-starred - particuleio/symplegma - Streamlined Ansible Kubernetes deployment tool (kubernetes)
README
# Symplegma
![symplegma:mkdocs](https://github.com/clusterfrak-dynamics/symplegma/workflows/symplegma:mkdocs/badge.svg)
[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)
[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fclusterfrak-dynamics%2Fsymplegma.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fclusterfrak-dynamics%2Fsymplegma?ref=badge_shield)Symplegma (from greek *σύμπλεγμα*) is a simple set of [Ansible](https://www.ansible.com/) playbooks to deploy [Kubernetes](https://kubernetes.io/) with [Kubeadm](https://kubernetes.io/docs/setup/independent/high-availability/). It is heavily inspired by [Kubespray](https://github.com/kubernetes-incubator/kubespray) and [OpenStack Ansible](https://docs.openstack.org/openstack-ansible/latest/).
Symplegma is [Kubernetes certified](https://github.com/cncf/k8s-conformance/tree/master/v1.20/symplegma) since `v1.12`. Check out [CNCF Landscape](https://landscape.cncf.io/).
The main goal is to be minimalist with sensible defaults.
:warning: 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](https://projectcalico.docs.tigera.io/maintenance/operator-migration).
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](https://www.flatcar-linux.org/) / Ubuntu 20.04
- Does not rely on Docker
- Uses CRI compatible runtime:
- [containerd][cri-containerd] (default)
- [cri-o][cri-crio]
- Does not depend on cloud provider
- Does not depend on primary master
- Dynamic config
- Always up to date: No deprecated options[cri-crio]: https://cri-o.io/
[cri-containerd]: https://github.com/containerd/containerd## Documentation
Documentation is generated using [mkdocs][mkdocs] and the sources are located in the [`./docs/`](./docs/) directory.
It is available online at [particuleio.github.io/symplegma](https://particuleio.github.io/symplegma/).
[mkdocs]: https://www.mkdocs.org/
## Roles
- [symplegma-os_bootstrap][role-os_bootstrap]: Configure the hosts OS to support Vanilla Kubernetes
- [symplegma-kubernetes_hosts][role-kubernetes_hosts]: Bootstrap Kubernetes on Linux hosts
- [symplegma-win_kubernetes_hosts][role-symplegma-win_kubernetes_hosts]: Bootstrap Kubernetes on Windows hosts
- [symplegma-kubeadm][role-symplegma-kubeadm]: Bootstrap the Kubernetes Cluster using `kubeadm`
- [symplegma-containerd][role-symplegma-containerd]: Install the [containerd][cri-containerd] CRI
- [symplegma-crio][role-symplegma-crio]: Install the [cri-o][cri-crio] CRI
- [symplegma-win_docker][role-symplegma-win_docker]: Install the [docker][cri-docker] CRI on Windows hosts
- [symplegma-cni][role-symplegma-cni]: Boostrap the hosts to install the CNI
- [symplegma-flannel][role-symplegma-flannel]: Bootstrap and install the Flannel CNI
- [symplegma-win_cni][role-symplegma-win_cni]: Bootstrap Windows hosts to install the CNI[role-os_bootstrap]: https://github.com/particuleio/symplegma-os_bootstrap.git
[role-kubernetes_hosts]: https://github.com/particuleio/symplegma-kubernetes_hosts
[role-symplegma-kubeadm]: https://github.com/particuleio/symplegma-kubeadm
[role-symplegma-containerd]: https://github.com/particuleio/symplegma-containerd
[role-symplegma-crio]: https://github.com/particuleio/symplegma-crio
[role-symplegma-cni]: https://github.com/particuleio/symplegma-cni
[role-symplegma-flannel]: https://github.com/particuleio/symplegma-flannel
[role-symplegma-win_cni]: https://github.com/particuleio/symplegma-win_cni
[role-symplegma-win_kubernetes_hosts]: https://github.com/particuleio/symplegma-win_kubernetes_hosts
[role-symplegma-win_docker]: https://github.com/particuleio/symplegma-win_docker## Roadmap
- [ ] Support [cilium](https://github.com/cilium/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](https://github.com/particuleio). Exhaustive list of roles can be found in `requirements.yml`
## License
[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fclusterfrak-dynamics%2Fsymplegma.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fclusterfrak-dynamics%2Fsymplegma?ref=badge_large)