Configuration for the charizhard infrastructure
Playbook to bootstrap k8s cluster
4 roles :
- spawn-k8s: On every node of the cluster, to install dependencies, set network rules, install cri (containerd)...
- spawn-control-panel: Only the master nodes, use of kubeadm and set cni (calico)
- spawn-worker-node: Only on the worker nodes, to perform the kubeadm join
- spawn-ota: On the control-plane, to deploy the ota, minio object storage and keycloak
It has a clean script if the spawn-control-panel and spawn-worker-node
To launch this playbook, use this command :
ansible-playbook k8s-prep.yml --vault-password-file vault_pass.txt
Playbook to deploy all microservices
1 role :
- spawn-ota: On the control-plane, to deploy the ota, minio object storage and keycloak
To launch this playbook, use this command :
ansible-playbook ota-launch.yml --vault-password-file vault_pass.txt
Playbook to clean the actions performed on every node in case it hasn't cleaned in case of error, or if you need to relaunch the k8s-prep.yml playbook
To launch this playbook, use this command :
ansible-playbook clean.yml --vault-password-file vault_pass.txt
- Install Python
- Install Ansible See tutorial
- Clone the repo
- Create Python environnement
- Ask the super duper admin for the secret vault_pass.txt
- copy you ssh-key on all the vms machine
- Test architecture (1 master / 1 worker)
- Install all dependencies on nodes
- Set up control plane
- Set up worker node
- Set up small app
- Expose app
- Set up Ingress service
- Get OTA microservice deployment
- Set up Keycloak deployment
- Set up database for replicas pods
- Change in HA architecture
- External etcd ?
- Increase master nodes to 3
- Increase worker nodes to 3
- Set up Grafana/Prometheus
- Wireguard server + admin panel
- OTP microservice