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
sozuapp
contient 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:
webapp
correspond au titre de la rubrique[applications.webapp]
du fichierdemo.toml
de 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