Juju

De Justine's wiki
Aller à la navigation Aller à la recherche

Commandes

https://asciinema.org/a/267811 https://jaas.ai/docs/client-usage-tutorial Sur 18.04. J'ai installé Juju à l'install de la bécane. La machine ne doit pas avoir un réseau en /8

<source lang="bash"> snap install juju snap install lxd lxd init --auto set lxdbr0 ipv6.address none # disable ipv6

  1. On vérifie que Juju a detecté lxd

justine@juju:~$ juju clouds Only clouds with registered credentials are shown. There are more clouds, use --all to see them. You can bootstrap a new controller using one of these clouds...

Clouds available on the client: Cloud Regions Default Type Credentials Source Description localhost 1 localhost lxd 0 built-in LXD Container Hypervisor

  1. Notre controleur s'appellera Overlord

justine@juju:~$ juju bootstrap localhost overlord

  1. Il fait pas mal de choses
  1. On déploie notre première app

justine@juju:~$ juju deploy hello-juju Located charm "cs:hello-juju-4". Deploying charm "cs:hello-juju-4".

  1. On la regarde se déployer
  2. Voir la partie "Message" pour attendre que ça ait fini

justine@juju:~$ juju status --color Model Controller Cloud/Region Version SLA Timestamp default overlord localhost/localhost 2.7.4 unsupported 14:52:04Z

App Version Status Scale Charm Store Rev OS Notes hello-juju maintenance 1 hello-juju jujucharms 4 ubuntu

Unit Workload Agent Machine Public address Ports Message hello-juju/1* maintenance executing 1 10.4.29.231 (install) installing charm software

Machine State DNS Inst id Series AZ Message 1 started 10.4.29.231 juju-78eb20-1 bionic Running

  1. Une fois que l'application sert du http, on peut tester

justine@juju:~$ curl 10.4.29.231 Hello Juju!

  1. Ajout d'une bdd, on voit que les applications sont facile à relier entre elles

justine@juju:~$ juju deploy postgresql Located charm "cs:postgresql-203". Deploying charm "cs:postgresql-203". justine@juju:~$ juju relate postgresql:db hello-juju justine@juju:~$ curl 10.4.29.231 Hello Juju! justine@juju:~$ curl 10.4.29.231/greetings {"greetings":3} </source>

Accès à la gui

Chaque controleur donne accès à une GUI. On peut voir comme y accéder avec: <source lang="bash"> justine@juju:~$ juju gui GUI 2.15.0 for model "admin/default" is enabled at:

 https://10.191.8.19:17070/gui/u/admin/default

Your login credential is:

 username: admin
 password: 2826277d7a7c1a5345388d4fed554822

</source>

S'il donne une ipv6, j'ai juste à relancer la commande pour avoir une ipv4. Cela dit, il donne une ip pas accessible de l'extérieur ! On va faire un tunnel:

<source> ssh -L 8080:10.191.8.19:17070 192.168.1.16

  1. Le port 8080 de mon desktop rediriger vers le port 17070 de 10.191.8.19 (juju-gui) en passe par 192.168.1.16 (juju). Pfiou

</source>