Menu
1. INSTALLATION DE TRAEFIK
2. CONFIGURATION DE TRAEFIK
3. EXEMPLE INSTALLATION WEAVE SCOPE
3. EXEMPLE INSTALLATION GUACAMOLE
4. MODIFICATION DNS
5. ET EN SUITE
Après avoir créer notre première ferme Rancher en version 1.6.25 (Lien article), nous allons pouvoir commencer à y mettre des composants (services) en place.
Afin de mieux gérer et rendre ceux-ci disponible nous allons installer et configurer Traefik pour gérer de manière presque automatique tous les services que nous allons mettre en place.
Voici comment mettre un tel composant en place dans l’architecture et comment interagir avec d’autre composant tel que Weave Scope ou Guacamole.
Pour ce qui est des noms d’hôtes et des adresses IP, je continue avec le schéma de mon article précédent.
Lien des 3 composants :
– Traefik (Lien https://traefik.io/)
– Weave Scope (Lien https://www.weave.works/)
– Guacamole Apache (Lien https://guacamole.apache.org/)
1. INSTALLATION DE TRAEFIK
Avant de commencer, nous devons ajouter un Label sur chacun des hôtes de notre ferme Rancher.
Pour Rancher02, nous allons créer le Label avec traefik_lb, et nous allons le positionner à true
Pour les autres, nous allons créer le Label avec traefik_lb, et nous allons le positionner à false
Nous allons pouvoir procéder à l’installation, pour cela nous allons dans CATALOG et sélectionnons le composant Traefik.
Nous allons procéder à l’installation avec la version 1.7.7
Nous rajoutons dans la partie Description, la description Environnement LoadBalancer
Dans la partie suivante, nous allons modifier :
Rancher healthcheck filter : True
Http port : 80
Https port : 443
Dans la partie suivante, nous allons modifier :
ACME enable : True
ACME email : administrateur@tips-of-mine.fr
ACME Volume Driver : rancher-nfs
Dans la partie suivante, nous ne modifions rien pour le moment.
Dans la dernière partie, nous ne modifions pour le moment rien, nous pouvons donc cliquer sur Launch
2. CONFIGURATION DE TRAEFIK
Nous devons donc modifier des variables d’environnement de Traefik, pour cela nous cliquons sur le bouton Upgrade
Dans la partie des variables d’environnement, nous modifions :
– TRAEFIK_FILE_ENABLE à true
Dans la partie suivante nous modifions :
– TRAEFIK_USAGE_ENABLE à true
Dans la partie des volumes, nous rajoutons le volume
– Traefik:/opt/traefik
– Volume Driver avec rancher-nfs
![]() Pour cela nous commencons par faire un mappage du Volume avec Traefik:/opt/traefik2Nous nous connectons en shell sur le composant et faisons la commande suivante :
Puis nous pouvons remettre le mappage du Volume avec Traefik:/opt/traefik |
Pour finir nous cliquons sur Upgrade
Nous pouvons controler que tout se passe bien, pour cela nous allons sur le lien http://10.59.1.151:8000/
3. EXEMPLE INSTALLATION WEAVE SCOPE
Nous allons pouvoir procéder à l’installation, pour cela nous allons dans CATALOG et sélectionnons le composant Weave Scope
Nous allons procéder à l’installation avec la version 1.6.7
Nous rajoutons dans la partie Description, la description Environnement de Supervision Flux
Une fois l’application installée, nous avons pouvoir la modifier, pour cela nous cliquons sur le bouton Upgrade pour APP
Nous nous rendons dans la partie Labels et nous rajoutons les 6 Labels suivant :
– traefik.enable=true
– traefik.domain=exemple.local
– traefik.port=4040
– traefik.frontend.rule=Host:weavescope.exemple.local
– traefik.backend=weavescope
– traefik.entryPoint=http,https
Une fois, le composant mis à jour, nous pouvons retourner dans l’interface Traefik, nous pouvons voir le composant Weave Scope qui est apparue.
3. EXEMPLE INSTALLATION GUACAMOLE
Nous allons pouvoir procéder à l’installation, pour cela nous allons dans CATALOG et sélectionnons le composant Guacamole
Nous allons procéder à l’installation avec la version 0.1.0
Nous rajoutons dans la partie Description, la description Environnement de Contrôle à distance
Nous laissons les autres options par defaut
Une fois installée, nous cliquons sur le bouton Upgrade pour le composant guacd
Dans la partie des volumes, nous rajoutons le volume
– guacamole-guacd:/home
– Volume Driver avec rancher-nfs
Puis nous validons avec Upgrade
Nous cliquons sur le bouton Upgrade pour le composant database
Dans la partie des volumes, nous rajoutons le volume
– guacamole-database:/var/lib/mysql/
– Volume Driver avec rancher-nfs
Puis nous validons avec Upgrade
Nous cliquons sur le bouton Upgrade pour le composant guacamole
Dans la partie des volumes, nous rajoutons le volume
– guacamole-guaguacamole:/usr/local/tomcat
– Volume Driver avec rancher-nfs
Nous nous rendons dans la partie Labels et nous rajoutons les 6 Labels suivant :
– traefik.enable=true
– traefik.domain=exemple.local
– traefik.port=8080
– traefik.frontend.rule=Host:guacamole.exemple.local
– traefik.backend=guacamole
– traefik.entryPoint=http,https
Puis nous validons avec Upgrade
Une fois, le composant mis à jour, nous pouvons retourner dans l’interface Traefik, nous pouvons voir le composant Guacamole qui est apparue.
4. MODIFICATION DNS
Pour que l’ensemble fonctionne, nous devons créer un ALIAS DNS :
– avec comme nom weavescope et comme destination Rancher02
– avec comme nom guacamole et comme destination Rancher02
Ainsi lorsque nous entrons le lien http://weavescope.exemple.local nous arrivons bien sur la page de notre composant Weave Scope.
Et lorsque nous entrons le lien http://guacamole.exemple.local nous arrivons bien sur la page de notre composant Guacamole.
Nous pouvons aussi aller dans la partie HEALTH, pour constater que tout se passe bien.
5. ET EN SUITE
A. MULTI-CONTENAIRE
Lorsque nous utilisons plusieurs contenaires non liés, nous pouvons les lier à travers Traefik
* Dans le cas ou il y aurait plusieurs contenaires en front, il faut bien mettre un Labels pour chacun d’entre eux
traefik.frontend.rule=Host:weavescope.exemple.local
* Dans le cas ou il y aurait plusieurs contenaires en front mais avec des préfixes, il faut bien mettre un Labels pour chacun d’entre eux
traefik.frontend.rule=Host:weavescope.exemple.local;PathPrefixStrip:/exemple1
traefik.frontend.rule=Host:weavescope.exemple.local;PathPrefixStrip:/exemple2
* Dans le cas ou il y aurait plusieurs contenaires en back, il faut bien mettre un Labels pour chacun d’entre eux
traefik.backend=weavescope
B. LE FICHIER RULES.TOML
Dans le cas ou nous désirions rajouter des éléments extérieurs à Rancher, nous pouvons rajouter dans le fichier rules.toml que nous avons externalisé d’autre environnement à configurer.
[backends]
[backends.backend1]
[backends.backend1.servers.server1]
url = « http://10.59.1.151:80 »
weight = 10
[backends.backend2]
[backends.backend2.servers.server1]
url = « http://10.59.1.151:80 »
weight = 10[frontends]
[frontends.frontend1]
backend = « backend1 »
[frontends.frontend1.routes.test_1]
rule = « Host:test.localhost »
priority = 10
entrypoints = [« http »]
[frontends.frontend2]
backend = « backend2 »
[frontends.frontend2.routes.test_2]
rule = « Host:{subdomain:[a-z]+}.localhost »
priority = 10
entrypoints = [« https »]