4.2 KiB
gsb2024
2024-12-21 ps
Environnement et playbooks ansible pour le projet GSB 2024
Quickstart
Prérequis :
- une machine LInux Debian Bookworm ou Windows
- VirtualBox
- git
- fichier machines virtuelles ova :
- debian-bookworm-gsb-2023c.ova
- debian-buster-gsb-2023a.ova
Les machines
- s-adm : routeur adm, DHCP + NAT, deploiement, proxy squid
- s-infra : DNS maitre, autoconfiguration navigateurs avec wpad
- r-int : routage, DHCP
- r-ext : routage, NAT
- s-proxy : squid
- s-itil : serveur GLPI
- s-backup : DNS esclave + sauvegarde s-win (SMB)
- s-mon : supervision avec Nagios4, notifications et syslog
- s-fog : deploiement postes de travail avec FOG
- s-win : Windows Server 2019, AD, DNS, DHCP, partage fichiers
- s-nxc : NextCloud avec docker
- s-elk : pile ELK dockerisée
- s-lb : Load Balancer HaProxy pour application Wordpress (DMZ)
- r-vp1 : Routeur VPN Wireguard coté siège
- r-vp2 : Routeur VPN Wireguard coté agence, DHCP
- s-agence : Serveur agence
- s-lb : Load Balancer HaProxy pour application Wordpress
- s-lb-web1 : Serveur Wordpress 1 Load Balancer
- s-lb-web2 : Serveur Wordpress 2 Load Balancer
- s-lb-db : Serveur Mariadb pour Wordpress
- s-nas : Serveur NFS pour application Wordpress avec LB
Les playbooks
Il existe un playbook ansible pour chaque machine à installer, nommé comme la machine avec l'extension .yml
Installation
On utilisera les images de machines virtuelle suivantes :
- debian-bookworm-gsb-2023c.ova (2023-12-18)
- Debian Bookworm 12.4 - 2 cartes - 1 Go - Stockage 20 Go
et pour s-fog :
- debian-buster-2023a.ova (2023-01-06)
- Debian Buster 10 - 2 cartes - 1 Go - stockage 20 Go
Les images .ova doivent etre stockées dans le répertoire habituel de téléchargement de l'utilisateur courant.
Création d'une VM
Sur la machine physique, récupérer le dépot gsb2024.git avec :
git clone https://gitea.lyc-lecastel.fr/gsb/gsb2024.git
On utilisera le script (bash) mkvm ou (PowerShell) mkvm.ps1 pour créer une VM Virtualbox.
cd gsb2024/scripts
mkvm -r s-adm
Machine s-adm
- créer la machine virtuelle s-adm avec mkvm comme décrit plus haut.
- démarrer la VM puis ouvir une session
- utiliser le script de renommage comme suit :
bash chname <nouveau_nom_de_machine>` , puis redémarrer
- utiliser le script s-adm-start :
bash s-adm-start
, puis redémarrer - ou sinon :
mkdir -p tools/ansible ; cd tools/ansible
git clone https://gitea.lyc-lecastel.fr/gsb/gsb2024.git
cd gsb2024/pre
bash inst-depl
cd /var/www/html/gsbstore
bash getall
cd /root/tools/ansible/gsb024/pre
bash gsbboot
cd .. ; bash pull-config
- redémarrer
Pour chaque machine
#### Etape 1
- créer la machine avec mkvm -r, les cartes réseau sont paramétrées par mkvm selon les spécifications
- ouvrir une session sur la machine considérée
- renomme la machine soit
- en utilisant le script de renommage comme suit :
/root/tools/ansible/gsb2024/scripts/chname <nouveau_nom_de_machine>
- soit avec :
- en utilisant le script de renommage comme suit :
NHOST=mavm
sed -i "s/bookworm/${NHOST}/g" /etc/host{s,name}
sudo reboot # on redemarre
#### Etape 2
- utiliser le script gsb-start :
bash gsb-start
- ou sinon:
mkdir -p tools/ansible ; cd tools/ansible
git clone https://gitea.lyc-lecastel.fr/gsb/gsb2024.git
cd gsb2024/pre
DEPL=192.168.99.99 bash gsbboot
cd ../..
bash pull-config
#### Etape 3
- redémarrer
- Remarque : une machine doit avoir été redémarrée pour prendre en charge la nouvelle configuration
Les tests
Il peuvent êtres mis en oeuvre avec goss de la façon suivante : chaque machine installée dispose d'un fichier de test ad-hoc portant le nom de la machine elle-même (machine.yml).
cd tools/ansible/gsb2024
bash agoss # lance le test portant le nom de la machine
bash agoss -f tap
permet de lancer le test avec le détail d'exécution