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

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 fichier demo.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)

👋

blog comments powered by Disqus

Related posts