Zum Hauptinhalt springen
Version: Weekly Build

Headless Services

Mit Headless Services können HTTP- und HTTPS-Routing-Regeln zum Workspace Router hinzugefügt werden, ohne dass dafür ein separates Reactive erstellt werden muss. Sie sind nützlich, wenn Traffic an Dienste außerhalb der aktuellen Landscape weitergeleitet werden soll, etwa an Endpunkte in einem Virtual Kubernetes Cluster, Managed Services, Landscape Managed Services oder einen externen HTTP-Dienst.

Ein Headless Service besteht ausschließlich aus Konfiguration. Beim Synchronisieren der Landscape aktualisiert Codesphere den Router, sodass passende Request-Pfade an die konfigurierte Ziel-URL weitergeleitet werden.

Wie das Routing funktioniert

Jeder Headless Service definiert ein oder mehrere Path Forwards:

  • Path: Der öffentliche Request-Pfad, der vom Landscape Router verarbeitet wird.
  • Endpoint: Der bestehende HTTP- oder HTTPS-Endpunkt, der den Request empfängt. Templating wird unterstützt, zum Beispiel ${{ workspace.id }} und ${{ team.id }}.
  • Strip Path: Legt fest, ob das öffentliche Pfadpräfix vor der Weiterleitung entfernt werden soll.

Wie man einen Headless Service hinzufügt

Headless Services lassen sich über den Landscape Config Editor im Bereich CI & Deploy konfigurieren.

  1. Wähle Headless Router Forward im Dialog Add New Service aus.

    Dialog zum Hinzufügen eines neuen Headless Service im Landscape Config Editor

  2. Bearbeite die Konfiguration des Headless Service. Füge den öffentlichen Routen-Pfad, den bestehenden HTTP-Ziel-Endpunkt hinzu und lege fest, ob das Routenpräfix vor der Weiterleitung des Requests entfernt werden soll.

    Konfigurationsformular für Headless Service mit Routing-Feldern für Path, Endpoint und Strip Path

    info

    Headlamp wird hier nur als Beispielanwendung verwendet, die innerhalb des vClusters läuft. Codesphere deployt Headlamp standardmäßig nicht in den virtuellen Cluster.

  3. Speichere die Landscape und synchronisiere sie. Nach dem Deployment wird die Router-Konfiguration des Headless Service angewendet und erscheint zusammen mit den anderen deployten Services.

    Execution-Ansicht mit deployter Router-Konfiguration des Headless Service

Beispiele

info

Erreiche den Headlamp-Dienst in einem Virtual Kubernetes Cluster, indem du folgende Konfiguration zur ci.yml hinzufügst oder sie über die UI einträgst:

run:
headlamp:
network:
paths:
- path: /
stripPath: false
target: http://my-headlamp-x-kube-system-x-k8s.rg-${{ team.id }}.svc.cluster.local

Namespace: kube-system

Servicename: my-headlamp