Consul

Consul bei DEXPRO: Service-Katalog, KV und Service Mesh der Plattform.

Schnelleinstieg

Einstieg: was Consul bei DEXPRO ist und wo Du was findest.

Schnelleinstieg

Schnelleinstieg

Zielgruppe: Anwender und Betreuer · Stand: 06.11.2026

Consul ist der Service-Katalog, KV-Speicher und das Service Mesh (Connect) der DEXPRO-Plattform. Dienste registrieren sich dort, der Edge-Traefik baut aus ihren Tags seine Routen, und im Mesh regeln Intentions, wer mit wem sprechen darf.

Als Anwender möchte ich …

Als Betreuer möchte ich …

Weitere Bücher

Historie und Gültigkeit

Gültiger Stand, offene Punkte und Verlauf der Entscheidungen.

Historie und Gültigkeit

Gültiger Stand und Verlauf

Zielgruppe: Anwender und Betreuer · Stand: 06.11.2026

Hier steht, was für Consul bei DEXPRO gerade gilt und wie es dazu kam. Schau hier nach, bevor Du Dich auf ältere Notizen oder Gespräche verlässt.

Gültiger Stand

Verlauf

Service-Katalog

Dienste im Consul-Katalog registrieren, Tags und Health-Checks.

Service-Katalog

Dienst im Consul-Katalog registrieren

Zielgruppe: Anwender und Betreuer · Stand: 06.11.2026

Consul ist der Service-Katalog, KV-Speicher und das Service Mesh (Connect) der Plattform. Diese Seite zeigt, wie Du einen Dienst im Katalog registrierst, damit andere ihn finden und der Edge-Traefik ihn per Tags routen kann.

Voraussetzungen

service "<dienst>" { policy = "write" }

<dienst> ist der Name Deines Service im Katalog. Tokens und Policies legen die Betreuer per Terraform im Stack cloud-core-infrastructure/bremen1/consul-servers an. Woher Du das Token bekommst, sagen Dir die Betreuer.

Vorgehen

Variante A: Dienst auf einer VM (Service-Definition)

  1. Leg auf dem Host eine Service-Definition unter /etc/consul.d/ an, am besten über eine Ansible-Rolle (Beispiel: Rolle consul.maxscale in cloud-core-infrastructure/ansible/roles).
  2. Trag Name, Adresse, Port, Tags und einen Health-Check ein:
service {
  name    = "<dienst>"
  id      = "<dienst>-<host>"
  address = "<host-fqdn>"
  port    = <port>
  token   = "<token>"

  tags = [
    "<stage-tag>",
    "traefik.enable=true",
  ]

  check {
    id       = "<dienst>-<host>-tcp"
    name     = "<dienst> TCP"
    tcp      = "<host-fqdn>:<port>"
    interval = "10s"
    timeout  = "3s"
  }
}
  1. Lade Consul neu (consul reload) bzw. lass die Rolle das per Handler erledigen.

Variante B: Dienst in Nomad

Im Job registriert der service-Block den Dienst in Consul:

service {
  name     = "<dienst>"
  provider = "consul"
  port     = "<port>"

  tags = [
    "<stage-tag>",
    "traefik.enable=true",
  ]

  connect {
    sidecar_service {}
  }
}

Mit connect { sidecar_service {} } hängt der Dienst im Service Mesh. Dann erreichen ihn andere Dienste nur über eine Intention (siehe Stolperfallen).

Tags

Prüfen

consul catalog services -tags
consul catalog nodes -service=<dienst>

Der Dienst erscheint mit Deinen Tags. In der Consul-UI ist sein Health-Check grün.

Stolperfallen

Falscher Stage-Tag: Ein Lab-Dienst mit dem Tag lab statt dev steht im Katalog, der Edge ignoriert ihn aber. Es gibt keine Fehlermeldung.

Weiterführend