Ein minimaler Ausgangspunkt zum Ausführen von OpenClaw auf Kubernetes — keine produktionsreife Bereitstellung. Er deckt die Kernressourcen ab und ist dafür gedacht, an Ihre Umgebung angepasst zu werden.Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Warum nicht Helm?
OpenClaw ist ein einzelner Container mit einigen Konfigurationsdateien. Die interessante Anpassung liegt in Agent-Inhalten (Markdown-Dateien, Skills, Konfigurationsüberschreibungen), nicht im Infrastruktur-Templating. Kustomize verarbeitet Overlays ohne den Overhead eines Helm-Charts. Wenn Ihre Bereitstellung komplexer wird, kann ein Helm-Chart auf diese Manifeste aufgesetzt werden.Was Sie benötigen
- Einen laufenden Kubernetes-Cluster (AKS, EKS, GKE, k3s, kind, OpenShift usw.)
kubectl, verbunden mit Ihrem Cluster- Einen API-Schlüssel für mindestens einen Modell-Provider
Schnellstart
./scripts/k8s/deploy.sh --show-token das Token nach der Bereitstellung aus.
Lokales Testen mit Kind
Wenn Sie keinen Cluster haben, erstellen Sie lokal einen mit Kind:./scripts/k8s/deploy.sh bereit.
Schritt für Schritt
1) Bereitstellen
Option A — API-Schlüssel in der Umgebung (ein Schritt):--show-token mit einem der beiden Befehle, wenn Sie das Token für lokale Tests auf stdout ausgeben möchten.
2) Auf das Gateway zugreifen
Was bereitgestellt wird
Anpassung
Agent-Anweisungen
Bearbeiten Sie dieAGENTS.md in scripts/k8s/manifests/configmap.yaml und stellen Sie erneut bereit:
Gateway-Konfiguration
Bearbeiten Sieopenclaw.json in scripts/k8s/manifests/configmap.yaml. Die vollständige Referenz finden Sie unter Gateway-Konfiguration.
Provider hinzufügen
Führen Sie das Skript erneut mit zusätzlich exportierten Schlüsseln aus:Eigener Namespace
Eigenes Image
Bearbeiten Sie das Feldimage in scripts/k8s/manifests/deployment.yaml:
Über Port-Forwarding hinaus freigeben
Die Standardmanifeste binden das Gateway innerhalb des Pods an loopback. Das funktioniert mitkubectl port-forward, aber nicht mit einem Kubernetes-Service oder einem Ingress-Pfad, der die Pod-IP erreichen muss.
Wenn Sie das Gateway über einen Ingress oder Load Balancer freigeben möchten:
- Ändern Sie die Gateway-Bindung in
scripts/k8s/manifests/configmap.yamlvonloopbackin eine Nicht-loopback-Bindung, die zu Ihrem Bereitstellungsmodell passt - Lassen Sie Gateway-Authentifizierung aktiviert und verwenden Sie einen geeigneten TLS-terminierten Einstiegspunkt
- Konfigurieren Sie die Control UI für Remotezugriff mit dem unterstützten Web-Sicherheitsmodell (zum Beispiel HTTPS/Tailscale Serve und bei Bedarf explizit erlaubte Origins)
Erneut bereitstellen
Entfernen
Architekturhinweise
- Das Gateway bindet standardmäßig innerhalb des Pods an loopback, daher ist die enthaltene Einrichtung für
kubectl port-forwardvorgesehen - Keine clusterweiten Ressourcen — alles befindet sich in einem einzelnen Namespace
- Sicherheit:
readOnlyRootFilesystem,drop: ALL-Capabilities, Nicht-Root-Benutzer (UID 1000) - Die Standardkonfiguration hält die Control UI auf dem sichereren Pfad für lokalen Zugriff: loopback-Bindung plus
kubectl port-forwardzuhttp://127.0.0.1:18789 - Wenn Sie über localhost-Zugriff hinausgehen, verwenden Sie das unterstützte Remote-Modell: HTTPS/Tailscale plus die passende Gateway-Bindung und Origin-Einstellungen der Control UI
- Secrets werden in einem temporären Verzeichnis generiert und direkt auf den Cluster angewendet — es wird kein Secret-Material in den Repo-Checkout geschrieben