// dokumentacja openclaw

Instalacja OpenClaw na Kubernetes — wdrożenie krok po kroku

OpenClaw na Kubernetes

Ten poradnik opisuje minimalne wdrożenie OpenClaw na klaster Kubernetes. Zamiast Helm stosowany jest Kustomize — OpenClaw to pojedynczy kontener z plikami konfiguracyjnymi, więc Helm byłby nadmiarowy. Personalizacja dotyczy głównie treści agentów, a nie infrastruktury.

Wymagania wstępne

  • Działający klaster Kubernetes — obsługiwane są AKS, EKS, GKE, k3s, Kind i OpenShift.
  • Dostęp przez kubectl z odpowiednimi uprawnieniami.
  • Klucz API obsługiwanego dostawcy modeli AI.

Szybkie wdrożenie

Najszybszy sposób uruchomienia OpenClaw na klasterze:

# Ustaw klucz API providera
export OPENAI_API_KEY="sk-..."

# Uruchom skrypt wdrazajacy
./scripts/k8s/deploy.sh

# Przekieruj port na localhost
kubectl port-forward -n openclaw svc/openclaw 18789:18789

Po przekierowaniu portu panel sterowania jest dostępny pod adresem http://localhost:18789.

Architektura wdrożenia

Skrypt tworzy przestrzeń nazw (namespace) zawierającą:

  • Deployment — pojedynczy pod z kontenerem OpenClaw.
  • ClusterIP Service — wewnętrzna usługa sieciowa.
  • PersistentVolumeClaim — 10 Gi trwałego miejsca na dane konfiguracyjne i stan agentów.
  • ConfigMap — ustawienia konfiguracyjne Gateway.
  • Secret — klucze API i tokeny uwierzytelniające.

Gateway domyślnie nasłuchuje na adresie loopback — działa z kubectl port-forward, ale wymaga rekonfiguracji przy użyciu Ingress lub LoadBalancer.

Lokalne testowanie z Kind

Do testów bez istniejącego klastra możesz użyć Kind (Kubernetes in Docker):

# Skrypt automatycznie wykryje Docker lub Podman
./scripts/k8s/kind-setup.sh

# Wdraz OpenClaw na lokalny klaster
./scripts/k8s/deploy.sh

Kind jest idealny do weryfikacji konfiguracji przed wdrożeniem na klaster produkcyjny.

Konfiguracja

Możesz dostosować wdrożenie, modyfikując pliki w katalogu scripts/k8s/:

  • Instrukcje agentów i prompt systemowy.
  • Ustawienia Gateway (port, bind, limity).
  • Wielu dostawców modeli AI jednocześnie.
  • Własna przestrzeń nazw Kubernetes.
  • Wybór obrazu kontenera (np. konkretna wersja zamiast latest).
  • Konfiguracja sieciowa (bind address dla Ingress).

Bezpieczeństwo

Domyślna konfiguracja stosuje najlepsze praktyki bezpieczeństwa Kubernetes:

  • System plików root zamontowany jako tylko do odczytu (readOnlyRootFilesystem: true).
  • Wszystkie możliwości Linuksa odrzucone (drop: ALL).
  • Kontener działa jako użytkownik bez uprawnień root (UID 1000).

Struktura plików

Skrypty wdrożeniowe i manifesty Kubernetes znajdują się w katalogu scripts/k8s/. Zawiera on oddzielne pliki dla konfiguracji bazowej, specyfikacji podów, trwałego magazynu danych i zasobów sieciowych.