Skip to main content

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

supervisor-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

7. Summary