Supervisor Pool
1. Introduction
In the infrastructure, we have 3 masters that ensure the clustering of Kubernetes as well as the application masters of other programs. This coexistence is called Sidecar.
2. Roles
The Supervisor plays a significant role in managing and ensuring the proper functioning of the cluster.
- Administration of the Kubernetes cluster by interacting with the Control plane
- Backup storage via the network (GlusterFS)
- Handles versioning and CI with Gitlab Server
- Infrastructure management using the Protobox software (Ansible)
- Acts as a bastion for SSH access
- Externalizes Git on a private network intended for developers
- Bastion for VSCode
3. Networking
3.1 Interfaces
- box-network
4. Volumes

5. Applications
- Gitlab Server
- Gitlab Containers Registry
- Docker
- Kubectl
- Kustomize
- GlusterFS
- Ansible
6. Installation
- name: Setup supervisor host
hosts: supervisor-2
become: true
user: supervisor
gather_facts: false
roles:
- role: set-hostname
- {role: network-setup}
- {role: gateway, iptables: true, nginx_enabled: false, haproxy_enabled: false, iptables: false}
- role: etc-hosts
- role: monitoring/node-exporter
- role: docker
- role: docker-compose
- role: dnsmasq
vars:
install: true
vars:
installation: false
- {role: ldap, install: false}
- role: factory/init
- {role: factory/gitlab, runtime: "systemd", install: true}
- role: kubernetes/kubectl-setup
vars:
distant_host: true