RANCHER : Traefik dans une ferme RANCHER 1.6.25

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

Il se peut dans certains cas que la création du volume se passe mal.
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 :

cp -R /opt/traefik /opt/traefik2

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 »]

Taggé , , , , , , , , , , , , , , , .Mettre en favori le Permaliens.

Les commentaires sont fermés.