From 754331f6127a78b7825e82c06b1e8a84790f6123 Mon Sep 17 00:00:00 2001 From: Quentin Duchemin Date: Fri, 4 Sep 2020 15:49:11 +0200 Subject: [PATCH] Upgrade all services for Traefik v2 ; clean Compose files ; update doc --- pica-traefik/README.md | 30 +++++++++++------------------- 1 file changed, 11 insertions(+), 19 deletions(-) diff --git a/pica-traefik/README.md b/pica-traefik/README.md index 0544aa4..d3c67df 100644 --- a/pica-traefik/README.md +++ b/pica-traefik/README.md @@ -7,36 +7,28 @@ Ce service doit être lancé sur l'ensemble des machines de l'infrastructure. ### Configuration -La configuration a lieu dans le fichier [traefik.toml](./traefik.toml). +La configuration a lieu dans les fichiers [traefik.toml](./traefik.toml) et [traefik_dynamic.toml](./traefik_dynamic.toml). Notez que toute modification dans ce fichier impactera l'ensemble des machines, puisque le même fichier est utilisé pour l'ensemble des machines. À des fins de tests, il peut être modifié localement sur les machines, mais doit toujours rester synchronisé avec ce dépôt à long terme. Pour la génération des certificats, Traefik utilise Let's Encrypt. Il n'y a aucune configuration à faire de ce côté. Attention, le nombre de certificats générables est limité à 50 par semaine. -Si on lance plein de conteneurs de tests, on utilisera temporairement [l'environnement de qualification](https://letsencrypt.org/fr/docs/staging-environment/) de Let's Encrypt, en ajoutant la directive `caServer = "https://acme-staging-v02.api.letsencrypt.org/directory"` sous la section `[acme]`. +Si on lance plein de conteneurs de tests, on utilisera temporairement [l'environnement de qualification](https://letsencrypt.org/fr/docs/staging-environment/) de Let's Encrypt, en ajoutant la directive `caServer = "https://acme-staging-v02.api.letsencrypt.org/directory"` sous la section `[certificatesResolvers.letsencrypt.acme]`. ### Lancement -Assurez-vous que le dossier `/DATA/docker/traefik/certs` existe. -C'est dans ce dossier que seront conservés tous les certificats générés par Traefik. +Au premier lancement, assurez-vous que : +* Le dossier `/DATA/docker/traefik/certs` existe +* Créez un fichier `acme.json` à l'intérieur +* Changez son propriétaire à `root` +* Changez ses permissions à `600` + +C'est dans ce fichier que seront conservés tous les certificats générés par Traefik. ### Mise à jour Il suffit de mettre à jour le tag de l'image dans Compose. -Attention, Traefik v2 introduit énormément de changements et [nous ne sommes pas certains](https://wiki.picasoft.net/doku.php?id=technique:adminsys:migration-traefik-v2) de la manière d'effectuer la migration. +Lire la documentation [sur les mises à jour mineures](https://docs.traefik.io/v2.2/migration/v2/) pour voir s'il y a des opérations à effectuer ou des options dépréciées. -Aussi, Traefik v1.6 est utilisé pour tenterd d'éviter un bug introduit dans la 1.7, qui rend certains services redémarrés inaccessibles (voir [cette discussion](https://team.picasoft.net/picasoft/pl/66aorsxhtffrjytyhnecn436wa)). - -Avant toute mise à jour, il faudra discuter avec l'équipe technique et modifier ce README le cas échéant. - -### Todo - -*Voir si on peut passer Traefik en "host" au niveau du réseau pour qu'il ait accès à tous les réseaux* : -https://kanban.picasoft.net/b/7fCn765LCNGraBhxA/team-technique-picasoft/kjvc3iw2pFvszCTcR - -Actuellement, Traefik est dans le réseau `docker_default` sur toutes les machines, et les conteneurs souhaitant être accessibles via Traefik doivent être explicitement dans ce réseau. - -Ceci induit une complexité supplémentaire au niveau des fichiers Compose. - -Il serait peut être bon de permettre à Traefik d'accéder à tous les réseaux et de supprimer énormément de directives "inutiles" dans les Compose. +La mise à jour vers Traefik v2 a été effectuée ; quelques détails sont à consulter [sur le wiki](https://wiki.picasoft.net/doku.php?id=technique:adminsys:migration-traefik-v2).