Warum nicht Helm?
OpenClaw ist ein einzelner Container mit einigen Konfigurationsdateien. Die relevante Anpassung liegt in Agent-Inhalten (Markdown-Dateien, Skills, Konfigurationsüberschreibungen), nicht im Infrastruktur-Templating. Kustomize verwaltet 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 die Bereitstellung mit zusätzlichen exportierten Schlüsseln erneut aus:Benutzerdefinierter Namespace
Benutzerdefiniertes Image
Bearbeiten Sie das Feldimage in scripts/k8s/manifests/deployment.yaml:
Über Port-Forwarding hinaus freigeben
Die Standardmanifeste binden das Gateway im Pod 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 Ingress oder einen Load Balancer freigeben möchten:
- Ändern Sie die Gateway-Bindung in
scripts/k8s/manifests/configmap.yamlvonloopbackzu einer Nicht-Loopback-Bindung, die zu Ihrem Bereitstellungsmodell passt - Lassen Sie die Gateway-Authentifizierung aktiviert und verwenden Sie einen ordnungsgemäß TLS-terminierten Einstiegspunkt
- Konfigurieren Sie die Steuerungsoberfläche für Remotezugriff mit dem unterstützten Web-Sicherheitsmodell (zum Beispiel HTTPS/Tailscale Serve und bei Bedarf explizit erlaubte Ursprünge)
Erneut bereitstellen
Entfernen
Architekturhinweise
- Das Gateway bindet standardmäßig im Pod an Loopback, daher ist das enthaltene Setup 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 Steuerungsoberfläche 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 Ursprungseinstellungen der Steuerungsoberfläche
- Secrets werden in einem temporären Verzeichnis generiert und direkt auf den Cluster angewendet — es wird kein Secret-Material in den Repo-Checkout geschrieben