So liest der Edge den Consul-Katalog

Zielgruppe: Betreuer · Stand: 06.11.2026

Diese Seite erklärt, wie der Edge-Traefik den Consul-Katalog liest: welche Services er übernimmt, mit welchem Token und wie er Dienste im Service Mesh erreicht. Du brauchst sie, wenn Du einen Edge aufbaust oder suchst, warum ein Router fehlt.

Voraussetzungen

service_prefix "" { policy = "read" }
node_prefix ""    { policy = "read" }
service "edge-traefik-<stage>" { policy = "write" }

Tokens und Policies entstehen per Terraform im Stack cloud-core-infrastructure/bremen1/consul-servers.

Vorgehen

  1. Rolle traefik mit Consul-Provider ausrollen. Der Provider wird nur gerendert, wenn die Rolle mit dem Ansible-Tag consul läuft. Die Rolle erzeugt dann in config.toml:
[providers.consulCatalog]
  exposedByDefault = false
  watch = true
  constraints = "Tag(`<stage>`)"
  connectAware = true
  serviceName = "edge-traefik-<kv_stage>"
  [providers.consulCatalog.endpoint]
    address = "127.0.0.1:8500"
    scheme = "http"
  1. Variablen setzen (Rolle traefik):
Variable Bedeutung
traefik_consul_token Token der Policy traefik-catalog. Kommt aus der Secret-Variable, nie im Repo.
traefik_consul_kv_stage Stage für KV-Präfixe und den Connect-Namen edge-traefik-<kv_stage>. Default: stage.
traefik_consul_connect_aware true schaltet Connect ein (Weg zu Diensten im Mesh).
traefik_consul_address / traefik_consul_scheme Consul-Endpoint, Default 127.0.0.1:8500 / http.
  1. Selbstregistrierung prüfen. Die Rolle registriert den Edge selbst in Consul als edge-traefik-<kv_stage> (Tag loadbalancer, Port 443, Check gegen den lokalen Ping). Mit Connect ist es ein Connect-Native-Service. Registriert wird mit dem Traefik-Token, weil das Agent-Token bei Default-Deny keinen Service schreiben darf.

  2. Intentions anlegen. Für jeden Dienst im Mesh, den der Edge erreichen soll, braucht es eine Intention edge-traefik-<kv_stage> → <dienst>. Sie wird nur per Terraform im Stack bremen1/consul-servers (config_entries) ergänzt.

Lab-PoC: Im Lab ist die technische Stage dev (Lab = Stage pre-development im sogenannten DEV-Netz), die KV-Stage aber lab. Der Constraint filtert also auf den Tag dev, der Connect-Name ist edge-traefik-lab.

Prüfen

consul catalog services -tags
consul catalog nodes -service=edge-traefik-<kv_stage>

Der Edge-Service ist registriert und sein Check ist grün. Im Traefik-Dashboard stehen die Router der Services mit Provider consulcatalog.

Stolperfallen

Weiterführend


Revision #1
Created 2026-11-06 20:24:03 UTC by Alexander Golembek
Updated 2026-11-06 20:24:03 UTC by Alexander Golembek