SĆzu, 1ers pas, 2Ăšme partie
Dans un prĂ©cĂ©dent article jâexpliquais comment dĂ©buter avec SĆzu. (câest par ici http://k33g.github.io/2017/07/29/SOZU-1-FR.html) avec plein de manipulations, de code, , de compilation, etc⊠à taper. Donc aujourdâhui je reviens avec une version dĂ©mo un peu plus packagĂ©e pour que vous nâayez presque rien Ă faire. MĂȘme la compilation de SĆzu se fera toute seule.
Pré-requis
- Installer VirtualBox
- Installer Vagrant
- ClĂŽner ce projet : https://github.com/k33g/sozu-vagrant-demo (faites ceci
git clone git@github.com:k33g/sozu-vagrant-demo.git)
Lancement
cd sozu-vagrant-demo
vagrant up
Allez vous prĂ©parer un âïž (la đș marche aussi).
1ers contacts
Donc quelques minutes
Normalement,vous avez 7 machines de lancées (faites un vagrant status pour voir)
webapp1 192.168.1.21:8080
webapp2 192.168.1.22:8080
webapp3 192.168.1.23:8080
webapp_new1 192.168.1.31:8080
webapp_new2 192.168.1.32:8080
webapp_new3 192.168.1.33:8080
sozuapp 192.168.1.99:8080
Remarques:
- les 6 1Úres VMs contiennent une application web Express démarrée
- les VMS 1, 2, 3 contiennent la version 1 de lâapplication web
- les VMS 4, 5, 6 contiennent la version 2 de lâapplication web
- la derniĂšre VM
sozuappcontient rust, cargo et SĆzu compilĂ©- vous pouvez diminuer le nombre de VM en modifiant le
Vagrantfile
â ïž Jâai aussi modifiĂ© mon fichier hosts en ajoutant ceci:
192.168.1.99 sozu.local
Donc pour se connecter au reverse proxy (SĆzu), vous utiliserez cette adresse: http://sozu.local:8080/
si vous regardez le fichier de configuration de SĆzu (demo.toml), il y a la rubrique [applications.webapp]:
hostname = "sozu.local"
frontends = [ "HTTP" ]
backends = [ "192.168.1.21:8080", "192.168.1.22:8080", "192.168.1.23:8080"]
ce qui signifie que vous pouvez vous connecter via SĆzu Ă une des 3 webapps webapp1, webapp2 ou webapp3 (câest SĆzu qui choisi), vous pouvez faire le test en ouvrant plusieurs navigateurs (le code source des webapps est le mĂȘme mais il affiche un nom diffĂ©rent pour chacune)

Enlever des machines
Nous allons nosus connecter en ssh Ă la machine sozuapp, pour cela tapez la commande suivante:
vagrant ssh sozuapp
puis:
cd sozu-project/
sudo ./sozu/target/debug/sozuctl --config ./demo.toml backend remove --id webapp --ip 192.168.1.21 --port 8080
sudo ./sozu/target/debug/sozuctl --config ./demo.toml backend remove --id webapp --ip 192.168.1.22 --port 8080
sudo ./sozu/target/debug/sozuctl --config ./demo.toml backend remove --id webapp --ip 192.168.1.23 --port 8080
Remarque:
webappcorrespond au titre de la rubrique[applications.webapp]du fichierdemo.tomlde configuration de SĆzu

Ajouter des machines
Si vous vous souvenez bien, en plus de la machine SĆzu il reste 3 machines supplĂ©mentaires qui âtournentâ:
webapp_new1 192.168.1.31:8080
webapp_new2 192.168.1.32:8080
webapp_new3 192.168.1.33:8080
Nous allons les enregistrer (ajouter) dans SĆzu (sans re-dĂ©marrage):
vagrant ssh sozuapp # su vous n'ĂȘtes plus connectĂ©
Puis:
cd sozu-project/
sudo ./sozu/target/debug/sozuctl --config ./demo.toml backend add --id webapp --ip 192.168.1.31 --port 8080
sudo ./sozu/target/debug/sozuctl --config ./demo.toml backend add --id webapp --ip 192.168.1.32 --port 8080
sudo ./sozu/target/debug/sozuctl --config ./demo.toml backend add --id webapp --ip 192.168.1.33 --port 8080
Et cette fois ci SĆzu va vous rediriger vers les nouvelles applications:

Câest aussi simple que ça.
Pour arrĂȘter et supprimer vos VMs:
vagrant halt; vagrant destroy -f
# pour recommencer: vagrant up
Prochaine dĂ©mo dâici une semaine ou deux (jâai 2,3 trucs Ă apprendre avant)
đ
Tweet