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