Router per Consul-Tags definieren
Zielgruppe: Anwender und Betreuer · Stand: 06.11.2026
Der Edge-Traefik baut seine Router aus den Tags der Services im Consul-Katalog. Diese Seite zeigt, welche Tags Du an Deinen Service schreibst, damit er unter einem Hostnamen am Edge erreichbar ist. Wie Du den Service überhaupt registrierst, steht in Dienst im Consul-Katalog registrieren.
Voraussetzungen
- Der Dienst ist im Consul-Katalog registriert und sein Health-Check ist grün.
- Er ist eine Oberfläche für Menschen und gehört damit an den Edge (siehe Edge-Grundsatz).
- Der Hostname liegt unter der Wildcard der Umgebung. Lab-PoC:
*.lab.bre1.dexpro.services.
Vorgehen
- Freischalten: Der Edge übernimmt keinen Service von selbst. Setz
traefik.enable=trueund den Stage-Tag des Edge. Lab-PoC: Das Lab ist die Stagepre-developmentund läuft im sogenannten DEV-Netz, der Stage-Tag heißt deshalbdev. - Router anlegen: Ein Router braucht einen eindeutigen Namen, eine Regel, einen Entrypoint und TLS:
tags = [
"<stage-tag>",
"traefik.enable=true",
"traefik.http.routers.<router>.rule=Host(`<hostname>`)",
"traefik.http.routers.<router>.entrypoints=https",
"traefik.http.routers.<router>.tls=true",
]
<router>: plattformweit eindeutiger Name, z. B. Dienstname plus Stage (grafana-pilot).<hostname>: voller Hostname unter der Wildcard, z. B.grafana-pilot.lab.bre1.dexpro.services.httpsist der interne Entrypoint des Edge. Öffentlich aus dem Internet erreichbar ist ein Router nur mitentrypoints=public. Das ist die Ausnahme und wird mit den Betreuern abgestimmt.
- Dienst im Service Mesh: Hängt Dein Dienst per Connect im Mesh (z. B. Nomad-Job mit
sidecar_service), ergänze:
"traefik.consulcatalog.connect=true",
Der Edge spricht den Dienst dann per mTLS über Connect an. Dafür braucht es eine Intention edge-traefik-<stage> → <dienst>, die die Betreuer per Terraform anlegen.
- Optional, Zugriff beschränken: Admin-Oberflächen hängst Du hinter die IP-Allowlist des Edge:
"traefik.http.routers.<router>.middlewares=admin-allowlist@file",
- Optional, Backend mit HTTPS: Spricht Dein Dienst selbst HTTPS, prüft der Edge dessen Zertifikat über ein Backend-TLS-Profil, das die Betreuer am Edge hinterlegen:
"traefik.http.services.<router>.loadbalancer.server.scheme=https",
"traefik.http.services.<router>.loadbalancer.serverstransport=<profil>@file",
<profil> ist der Name des Backend-TLS-Profils. Frag die Betreuer, welches zu Deinem Dienst passt.
- Optional, anderer Port: Ohne Angabe nutzt der Edge den Port aus der Service-Registrierung. Einen anderen Port setzt Du mit
traefik.http.services.<router>.loadbalancer.server.port=<port>.
Beispiel
Grafana als Nomad-Job im Mesh, erreichbar im Lab (Lab-PoC):
tags = [
"dev",
"traefik.enable=true",
"traefik.consulcatalog.connect=true",
"traefik.http.routers.grafana-pilot.rule=Host(`grafana-pilot.lab.bre1.dexpro.services`)",
"traefik.http.routers.grafana-pilot.entrypoints=https",
"traefik.http.routers.grafana-pilot.tls=true",
]
Prüfen
- Im Traefik-Dashboard des Edge taucht der Router mit Status „Success“ auf.
- Prüf den Hostnamen im Browser oder per
curl:
curl -sI https://<hostname>
Du bekommst die Antwort Deines Dienstes mit gültigem Zertifikat, kein 404 von Traefik.
Stolperfallen
Falscher Stage-Tag oder fehlendes traefik.enable=true: Der Dienst steht im Katalog, der Edge ignoriert ihn aber. Es gibt keine Fehlermeldung, der Hostname liefert 404.
- Doppelter Router-Name: Zwei Services mit gleichem Router-Namen, aber anderer Konfiguration verwirft Traefik. Wähl eindeutige Namen.
- Fehlende Intention: Bei
traefik.consulcatalog.connect=trueohne Intention erreicht der Edge den Dienst nicht, weil Default-Deny die Verbindung blockt. - Backticks: Die Regel braucht Backticks um den Hostnamen (
Host(`…`)), keine Anführungszeichen. - Keine Anmeldung: Der Edge ersetzt keine Authentifizierung. Die Oberfläche braucht eine eigene Anmeldung oder mindestens
admin-allowlist@file.
Weiterführend
- So liest der Edge den Consul-Katalog
- TCP-Routen für Datenbanken
- Beispiele in GitLab:
container-platform-core-services/nomad-jobs/pilot-grafana,container-platform-core-services/nomad-jobs/traefik-ingress - Traefik-Doku: Consul Catalog Provider
No comments to display
No comments to display