Bereitstellungs-Leitfaden 2026-04-23 13 Min

2026 OpenClaw Gateway: eingebaute Gesundheits-Endpunkte (/health, /ready) und Lastenausgleich — physischer Fern-Mac, Docker Compose und Kubernetes im Abgleich; Pfad-Shadowing und reproduzierbares Runbook zu falsch-negativem NotReady (Konfigurationsfragmente + FAQ)

Betriebsteams, die OpenClaw Gateway auf physischen Fern-Mac-Knoten fahren, sehen dieselbe Incident-Klasse: Probes funktionieren lokal, scheitern aber über nginx — oder Kubernetes markiert Pods als NotReady, während Compose grün wirkt. Dieses Runbook gleicht /health und /ready über Bare Metal, Docker Compose und Kubernetes ab, erklärt Pfad-Shadowing und liefert kopierbare Snippets plus eine FAQ zu falscher Readiness. Für den Docker-vs.-Bare-Metal-Kontext siehe OpenClaw auf Fern-Mac: Docker oder Bare Metal? Compose-Gesundheitsproben und FAQ; zur Latenz- und Standortlogik 2026 OpenClaw: ortsnahe Bereitstellung physischer Mac-Knoten.

2026 OpenClaw Gateway Gesundheits-Endpunkte Lastenausgleich Compose Kubernetes physischer Mac

Einleitung: drei Plattformen, ein Vertragsmodell

Bare-Metal-launchd, Compose-healthcheck und Kubernetes-livenessProbe/readinessProbe brauchen dasselbe semantische Modell: /health heißt „starte mich neu, wenn der Prozess hängt“, /ready heißt „Nutzertraffic nur, wenn die von mir deklarierten Abhängigkeiten nutzbar sind“. Werden diese Pfade vom Reverse-Proxy überschrieben oder vom falschen Upstream beantwortet, entstehen nicht reproduzierbare Pages und instabile Rollouts.

Die folgende Tabelle, das Sieben-Schritte-Runbook und die Snippets sind so geschrieben, dass Sie sie in Design-Reviews und Postmortems direkt zitieren können — inklusive typischer Fern-Mac-Kaltstarts (Skills, Modell-Router, Secret-Mounts).

1. Schmerzpunkte: Shadowing, Drift und Lastenausgleich-Lügen

  1. Pfad-Shadowing. Eine statische location /, SPA-Fallback oder aggressives try_files kann für /ready 200 OK mit HTML liefern, ohne OpenClaw zu erreichen. Der Pool wirkt warm; das Gateway hat die Probe nie gesehen.
  2. Semantische Drift zwischen Plattformen. Compose markiert einen Dienst als healthy, wenn die Engine-Prüfung passt; Kubernetes kann trotzdem eine andere Revision per Service-Selektor erreichen oder ein Ingress Canary ansprechen, das Sie nicht testen wollten.
  3. Versteckte Stabilitäts- und Auditkosten. /ready für Liveness zu verwenden koppelt Abhängigkeitsausfälle an Pod-Neustarts. Auf einer Fern-Mac-Flotte zeigt sich das als flackernde Sessions, halb geschriebener Agentenzustand und lauter On-Call — nicht „nur Kubernetes“.

2. Entscheidungsmatrix: wo welche Probe laufen soll

Vor dem Einfügen von YAML in Produktion: „Wer muss was beobachten?“ — das ist die ganze Arbeit.

Signal Bare Mac + Reverse-Proxy Docker Compose Kubernetes
/health (günstig) LB → nginx → Gateway; CDN-Cache umgehen healthcheck gegen published port livenessProbe.httpGet.path=/health
/ready (strikt) Gleiche Kette wie Nutzer: Host + TLS; kein Static-Shadow depends_on: condition service_healthy readinessProbe + startupProbe für Kaltstart
Primärer Fehlmodus Präfix-Location gewinnt vor proxy_pass Published port ≠ Host-LB-Port NetworkPolicy blockiert kubelet-Subnetz

3. Sieben-Schritte-Abnahme-Runbook

  1. Aufrufer inventarisieren. Jede Health-URL aus Cloud-LB, nginx-server_name-Block, Compose, Helm-Werten und Monitoring exportieren. Leere Zeilen sind blinde Flecken.
  2. Shadowing beweisen. Vom Proxy-Host curl -svH 'Host: ihre.api' https://127.0.0.1/ready und den Body gegen direkten curl auf den Gateway-Port auf Loopback diffen.
  3. Locations vor Catch-alls pinnen. Dedizierte location = /health und location = /ready mit proxy_pass zum Gateway-Upstream, proxy_buffering off; und add_header Cache-Control no-store;.
  4. Compose: LB-Timeouts spiegeln. interval, timeout und retries innerhalb von etwa 80 % der externen LB-Werte setzen, damit Compose nicht voroptimistisch grün wird.
  5. Kubernetes: Probes trennen. Liveness auf /health, Readiness auf /ready; startupProbe mit höherem failureThreshold für Modell-Router-Warm-up.
  6. Rollout-Probe. Blue/Green oder Rolling: kubectl get endpoints beobachten und Gateway-Logs tailen; Traffic erst nach Flip von /ready für die neue Revision.
  7. Diffs archivieren. Redigierte nginx -T-, Compose-YAML- und kubectl describe pod-Auszüge mit Zeitstempel — für das nächste False-NotReady.

4. Konfigurationsfragmente

4.1 nginx: explizite Probe-Locations (ohne Shadowing)

location = /health { proxy_pass http://openclaw_gateway; proxy_http_version 1.1;
  proxy_set_header Host $host; proxy_buffering off; add_header Cache-Control "no-store"; }
location = /ready  { proxy_pass http://openclaw_gateway; proxy_http_version 1.1;
  proxy_set_header Host $host; proxy_buffering off; add_header Cache-Control "no-store"; }

4.2 Docker Compose: healthcheck + Abhängigkeits-Gate

services:
  openclaw-gateway:
    image: ihre.registry/openclaw-gateway@sha256:…
    healthcheck:
      test: ["CMD", "curl", "-fsS", "http://127.0.0.1:18789/health"]
      interval: 15s
      timeout: 3s
      retries: 5
      start_period: 120s
  edge-proxy:
    depends_on:
      openclaw-gateway:
        condition: service_healthy

4.3 Kubernetes: startup + readiness + liveness

startupProbe:
  httpGet: { path: /ready, port: http }
  periodSeconds: 5
  failureThreshold: 30
readinessProbe:
  httpGet: { path: /ready, port: http }
  periodSeconds: 10
  timeoutSeconds: 3
livenessProbe:
  httpGet: { path: /health, port: http }
  periodSeconds: 20
  timeoutSeconds: 2

port: http an den Namen von containerPort anpassen. TLS am Ingress zu terminieren heißt: Probes typischerweise auf dem Klartext-Container-Port, sofern kein Sidecar-mTLS dazwischenliegt.

5. Zitierfähige Parameter

  • 18789 — gängige HTTP-Oberfläche des OpenClaw-Gateways auf Mac-Knoten; immer mit Ihrer openclaw.json oder Release-Notes abgleichen, bevor LB-Templates gebacken werden.
  • 120 s start_period — pragmatischer erster Wert für kalten Modell-Cache und Secret-Mount-Latenz auf Fern-Macs; nach zwei Wochen Metriken am P95 kürzen.
  • 3 s Readiness-timeoutSeconds — Kompromiss zwischen langsamen Upstreams und kubelet-Aggressivität; mit failureThreshold statt endloser Timeouts echte Hänger sichtbar halten.

6. FAQ: reproduzierbare False Positives

Was ist Pfad-Shadowing für /health und /ready hinter nginx?

Ein breites Präfix oder SPA-Fallback beantwortet Probe-Pfade, bevor der Traffic OpenClaw erreicht. Sie sehen HTML-200, während direkter Pod-curl JSON liefert — Reihenfolge fixieren, Cache auf Probes aus, proxy_pass-Ziele prüfen.

Sollen Liveness und Readiness beide /ready aufrufen?

Nein. Liveness bleibt günstig auf /health; Readiness auf /ready steuert Traffic nur bei harten Abhängigkeiten, die Sie wirklich blockieren wollen.

Warum ist Compose healthy, während der LB die Task drainiert?

Unterschiedliche Netzwerk-Namespace und andere Host-/TLS-Pfade. Exakt den curl des LB inkl. SNI und Pfad vom LB-Subnetz oder Bastion ausführen — nicht nur im Container.

Was verursacht falsches NotReady direkt nach Deploy auf einem Fern-Mac?

Kalte Caches und Abhängigkeits-Handshakes überschreiten initiale Timeouts. startupProbe oder Compose-start_period, pro-Abhängigkeit Latenz loggen, Schwellen danach mit Evidenz verschärfen.

7. Warum Mac mini diese Komplexität sinnvoll abschließt

Gateway-Health-Semantik zählt nur, wenn der Host stabil läuft: Apple-Silicon-Mac mini-Knoten verbinden niedrige Leerlaufleistung (oft in der Größenordnung weniger Watt), leisen Dauerbetrieb und ein Unix-first-Toolingcurl, launchctl, Docker Desktop oder Colima und SSH — ohne die Treiberreibung typischer Windows-Fleets.

Gatekeeper, SIP und FileVault reduzieren Manipulationsrisiko für langlebige Agenten-Tokens neben dem Gateway. Das spielt eine Rolle, wenn /ready das Signal ist, mit dem Ihr Lastenausgleich Automation ins Internet stellt.

Wenn Sie diese Probe- und LB-Geschichte auf Hardware fahren möchten, die Sie unbeaufsichtigt lassen können, ist der Mac mini M4 eine starke Baseline für 2026 — nutzen Sie die CTA unten, um ZoneMac-Knoten zu vergleichen und mit denselben Abnahme-curls auszurollen, die Sie hier dokumentiert haben.

Zeitlich begrenzt

OpenClaw auf dedizierten Mac-Gateways betreiben?

Mieten Sie einen Fern-Mac mini mit den Netzwerk- und Uptime-Mustern dieses Runbooks — health-geprüft, SSH-bereit, für CI und Agenten gebaut.

Pay-as-you-go Sofortige Aktivierung Mehrregion-Optionen
macOS Cloud Rental Ultra-niedriger Preis — begrenzt
Jetzt erhalten