Service-Katalog

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

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