Ci-dessous, les différences entre deux révisions de la page.
| sysadmin:docker:traefik:010_exemple_loadbalancing_http [2021/02/06 10:43] – créée 77.192.232.26 | sysadmin:docker:traefik:010_exemple_loadbalancing_http [2021/02/06 12:23] (Version actuelle) – 77.192.232.26 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | {{tag> | + | {{tag> |
| - | ====== | + | ====== |
| - | Un cas d' | + | Un cas d' |
| Ligne 26: | Ligne 26: | ||
| # Le port HTTP (point entrant unique des requêtes web) | # Le port HTTP (point entrant unique des requêtes web) | ||
| - " | - " | ||
| - | # L' | + | # L' |
| - " | - " | ||
| volumes: | volumes: | ||
| Ligne 32: | Ligne 32: | ||
| - / | - / | ||
| </ | </ | ||
| + | |||
| + | On peut lancer dès à présent l' | ||
| + | <code bash> | ||
| + | docker-compose up -d reverse-proxy | ||
| + | |||
| + | # Pour vérifier l’état du service | ||
| + | docker-compose ps | ||
| + | </ | ||
| + | |||
| + | Traefik fournit les informations d' | ||
| + | * La Web UI http:// | ||
| + | * L'API http:// | ||
| + | |||
| + | A présent que Traefik est en cours d’exécution, | ||
| + | |||
| + | <file yml> | ||
| + | whoami: | ||
| + | # micro service minimal affichant quelques attributs de configuration | ||
| + | image: traefik/ | ||
| + | labels: | ||
| + | - " | ||
| + | </ | ||
| + | |||
| + | Les quelques lignes ci-dessus déclarent un nouveau service désigné " | ||
| + | |||
| + | Traefik utilise les labels pour le routage du trafic. Ici c'est le nom d'hote '' | ||
| + | |||
| + | |||
| + | Pour que la résolution fonctionne, on modifie le fichier /etc/hosts | ||
| + | < | ||
| + | 127.0.0.1 | ||
| + | 127.0.0.1 | ||
| + | </ | ||
| + | |||
| + | Vérifier la résolution du fqdn fonctionne via la commande **host**: | ||
| + | <code bash> | ||
| + | host whoami.localhost | ||
| + | </ | ||
| + | |||
| + | On démarre le service whoami via la commande suivante: | ||
| + | <code bash> | ||
| + | docker-compose up -d whoami | ||
| + | </ | ||
| + | |||
| + | via le navigateur, il est possible d' | ||
| + | |||
| + | les informations retournées contiennent notamment l' | ||
| + | < | ||
| + | Hostname: 09ffd0552c70 | ||
| + | IP: 127.0.0.1 | ||
| + | IP: 172.18.0.3 | ||
| + | ... | ||
| + | </ | ||
| + | |||
| + | Si on supprime et qu'on recrée le service, le routage du trafic fonctionne sans problème car ni le nom (id) du conteneur ni l'IP ne sont utilisés: | ||
| + | < | ||
| + | docker-compose stop whoami | ||
| + | docker-compose rm whoami | ||
| + | docker-compose up -d whoami | ||
| + | </ | ||
| + | |||
| + | |||
| + | < | ||
| + | Hostname: 80526238d732 | ||
| + | IP: 127.0.0.1 | ||
| + | IP: 172.18.0.3 | ||
| + | ... | ||
| + | </ | ||
| + | |||
| + | Si on décide d' | ||
| + | |||
| + | <code bash> | ||
| + | docker-compose up -d --scale whoami=4 | ||
| + | </ | ||
| + | |||
| + | Le rafraîchissement de la page retourne successivement les valeurs de chaque instance: | ||
| + | |< | ||
| + | Hostname: 419c41f3ac37 | ||
| + | IP: 127.0.0.1 | ||
| + | IP: 172.18.0.5 | ||
| + | </ | ||
| + | Hostname: b13e5f59f4d4 | ||
| + | IP: 127.0.0.1 | ||
| + | IP: 172.18.0.4 | ||
| + | </ | ||
| + | Hostname: f00e7d8f189b | ||
| + | IP: 127.0.0.1 | ||
| + | IP: 172.18.0.6 | ||
| + | </ | ||
| + | Hostname: 80526238d732 | ||
| + | IP: 127.0.0.1 | ||
| + | IP: 172.18.0.3 | ||
| + | </ | ||
| + | |||
| + | On constate que sans configuration supplémentaire, | ||
| + | |||
| ===== Références ===== | ===== Références ===== | ||
| * https:// | * https:// | ||