OpenClaw on Kubernetes
OpenClaw’ı Kubernetes üzerinde çalıştırmak için minimal bir başlangıç noktası — üretime hazır bir dağıtım değildir. Temel kaynakları kapsar ve ortamınıza uyarlanması amaçlanmıştır.Neden Helm değil?
OpenClaw, birkaç yapılandırma dosyasına sahip tek bir kapsayıcıdır. Asıl ilginç özelleştirme altyapı şablonlamasında değil, ajan içeriğinde (markdown dosyaları, Skills, yapılandırma geçersiz kılmaları) yer alır. Kustomize, Helm chart’ın ek yükü olmadan overlay’leri yönetir. Dağıtımınız daha karmaşık hale gelirse, bu manifestlerin üstüne bir Helm chart katmanı eklenebilir.Gerekenler
- Çalışan bir Kubernetes kümesi (AKS, EKS, GKE, k3s, kind, OpenShift vb.)
- Kümenize bağlı
kubectl - En az bir model sağlayıcısı için bir API anahtarı
Hızlı başlangıç
./scripts/k8s/deploy.sh --show-token, dağıtımdan sonra token’ı yazdırır.
Kind ile yerel test
Bir kümeniz yoksa, Kind ile yerelde bir tane oluşturun:./scripts/k8s/deploy.sh ile dağıtın.
Adım adım
1) Dağıtın
Seçenek A — ortamda API anahtarı (tek adım):--show-token kullanın.
2) Gateway’e erişin
Neler dağıtılır
Özelleştirme
Ajan talimatları
scripts/k8s/manifests/configmap.yaml içindeki AGENTS.md dosyasını düzenleyin ve yeniden dağıtın:
Gateway yapılandırması
scripts/k8s/manifests/configmap.yaml içindeki openclaw.json dosyasını düzenleyin. Tam başvuru için Gateway configuration bölümüne bakın.
Sağlayıcı ekleme
Ek anahtarları dışa aktararak yeniden çalıştırın:Özel namespace
Özel imaj
scripts/k8s/manifests/deployment.yaml içindeki image alanını düzenleyin:
Port-forward ötesine açığa çıkarma
Varsayılan manifestler gateway’i pod içinde loopback üzerine bağlar. Bu,kubectl port-forward ile çalışır, ancak pod IP’sine ulaşması gereken bir Kubernetes Service veya Ingress yolu ile çalışmaz.
Gateway’i bir Ingress veya yük dengeleyici üzerinden açığa çıkarmak istiyorsanız:
scripts/k8s/manifests/configmap.yamliçindeki gateway bind ayarınıloopbackdeğerinden dağıtım modelinize uygun loopback olmayan bir bağa değiştirin- Gateway kimlik doğrulamasını etkin tutun ve uygun TLS sonlandırmalı bir giriş noktası kullanın
- Desteklenen web güvenlik modelini kullanarak uzak erişim için Kontrol UI’ı yapılandırın (örneğin gerektiğinde HTTPS/Tailscale Serve ve açık allowed origins)
Yeniden dağıtım
Kaldırma
Mimari notlar
- Gateway varsayılan olarak pod içinde loopback üzerine bağlanır, bu nedenle dahil edilen kurulum
kubectl port-forwardiçindir - Küme kapsamlı kaynak yoktur — her şey tek bir namespace içinde yaşar
- Güvenlik:
readOnlyRootFilesystem,drop: ALLyetenekleri, root olmayan kullanıcı (UID 1000) - Varsayılan yapılandırma Kontrol UI’ı daha güvenli yerel erişim yolunda tutar: loopback bind +
http://127.0.0.1:18789içinkubectl port-forward - localhost erişiminin ötesine geçerseniz, desteklenen uzak modeli kullanın: HTTPS/Tailscale ve uygun gateway bind + Kontrol UI origin ayarları
- Secrets geçici bir dizinde oluşturulur ve doğrudan kümeye uygulanır — hiçbir secret materyali depo çalışma kopyasına yazılmaz