Pred dvema tednoma je imel OpenClaw 9.000 zvezdic na GitHub. Danes jih ima 183.000. Vmes je nastala cela industrija. ClawSimple, Kilo Claw, StartClaw, ShipClaw, GetClaw.ai, LobsterLair. Ena primerjalna stran šteje 33 ponudnikov in seznam še raste. OpenClaw ovojnice preplavijo TrustMRR. DigitalOcean je izdal namestitev z enim klikom. Cloudflare ga je prilagodil v Workers izvajalno okolje. Ljudje so kupovali Mac Minije, da bi doma poganjali osebne AI agente.

Če želite sami gostovati v oblaku, je najpogostejša konfiguracija Hetzner VPS za 5 dolarjev z 2 vCPU in 4 GB RAM, Docker Compose in API ključ. Zaženite čarovnik za nastavitev, ga povežite z Anthropic ali OpenRouter, priključite Telegram. Končano v tridesetih minutah. Ali kupite Mac Mini, ga postavite pod mizo in ga poimenujte vaš osebni JARVIS. M4 porabi sedem vatov v mirovanju in služi kot lokalni stroj za sklepanje, če izberete Pro model s 64 GB.

Obe možnosti delujeta za enega agenta. Toda ko sem začel graditi OpenClaw.rocks, je bil cilj ponuditi najzanesljivejši in najvarnejši način gostovanja OpenClaw v velikem obsegu, hkrati pa za uporabnika ohraniti preprostost. To je zahtevalo drugačne temelje.

Zakaj sem izbral Kubernetes

Prej sem upravljal blockchain infrastrukturo pri Binance, vključno z varovanjem Bitcoin vozlišč. Ko je vaše delo vzdrževati visokovredna delovna bremena izolirana, opazovana in obnovljiva v velikem obsegu, razvijete trdna mnenja o tem, kako naj bi infrastruktura delovala. Kubernetes je tisto, čemur zaupam za to.

OpenClaw je aplikacija za enega uporabnika. Je osebni pomočnik, ne večuporabniška platforma. Če želite poganjati agente za deset ljudi, potrebujete deset instanc. Za sto ljudi, sto instanc. Vsaka s svojo konfiguracijo, svojimi skrivnostmi, svojo shrambo, svojimi mrežnimi mejami. Že zahteve po izolaciji same izključujejo karkoli manjšega od ustrezne orkestracije vsebnikov.

Ne bom trdil, da je Kubernetes preprost. Ni. Za enega agenta je absurdno pretirano. Toda za poganjanje številnih agentov za številne ljudi rešuje probleme, ki jih nič drugega ne rešuje enako dobro. In menim, da bo vsako podjetje, ki bo sčasoma poganjalo OpenClaw agente v velikem obsegu, prišlo do enakega zaključka.

Izolacija, ki je dejansko uveljavljena. Vsak agent teče v lastnem namespace z NetworkPolicy, ki privzeto zavrača vse. Agent A ne more komunicirati z Agentom B. Agent B ne more dostopati do skrivnosti Agenta A. To ni konvencija ali dobra praksa. Uveljavlja jo izvajalno okolje vsebnikov in CNI. Na deljenem VPS z Docker Compose mrežna izolacija med vsebniki zahteva ročna pravila iptables, ki jih nihče ne vzdržuje.

Omejitve virov, ki preprečujejo kaskadne odpovedi. OpenClaw agent z avtomatizacijo brskalnika lahko porabi 3 CPU jedra in 6 GB pomnilnika, če mu to dovolite. Na VPS s štirimi agenti en ubežan Chromium proces ubije preostale tri. Kubernetes uveljavlja omejitve CPU in pomnilnika na vsebnik. Agent, ki doseže svojo zgornjo mejo, ne vpliva na sosede.

Samozdravitev brez SSH. Ko se proces na VPS sesuje, ga mora nekaj zaznati in znova zagnati. systemd to počne, vendar le za gostitelja. Docker Compose ima politike ponovnega zagona, a ne pokrivajo desetih drugih stvari, ki gredo lahko narobe: OOM ubijanja, odpovedi vozlišč, težave s shrambo. Kubernetes znova zažene neuspele vsebnike, prerazporedi pode, ko vozlišča odpovedo, in izvaja health probe, ki zaznajo težave na ravni aplikacije, ne le prenehanja procesov.

Skaliranje brez ugibanja. Agentova delovna bremena poganjamo na namenskem naboru vozlišč. Ko povpraševanje naraste, cluster autoscaler doda vozlišča. Ko pade, se vozlišča izpraznijo in odstranijo. Ne vzdržujemo flote vnaprej pripravljenih VPS instanc v upanju, da smo pravilno ocenili velikost. Infrastruktura se prilagaja dejanski obremenitvi.

Deklarativno stanje brez odstopanj. Celotna konfiguracija agenta živi v enem custom resource: model, kanali, omejitve virov, mrežna pravila, shramba, varnostni kontekst. Ni SSH zgodovine za rekonstrukcijo, ni ročnih urejanj za sledenje, ni konfiguracijskega odstopanja med tem, kar mislite, da teče, in tem, kar dejansko teče.

Nič od tega ni pomembno za enega agenta na enem stroju. Vse je pomembno, ko ste odgovorni za zanesljivo delovanje agentov drugih ljudi.

Operator

Kubernetes zagotavlja gradnike. Operator je tisto, kar jih naredi uporabne.

Brez Operatorja namestitev OpenClaw instance na Kubernetes pomeni ročno pisanje enajstih virov: Deployment, Service, ConfigMap, PVC, ServiceAccount, Role, RoleBinding, NetworkPolicy, PodDisruptionBudget, Ingress, ServiceMonitor. Z Operatorjem je potreben samo eden:

apiVersion: openclaw.rocks/v1alpha1
kind: OpenClawInstance
metadata:
  name: my-agent
spec:
  envFrom:
    - secretRef:
        name: my-api-keys
  storage:
    persistence:
      enabled: true
      size: 10Gi

Operator nadzoruje ta custom resource in ustvari vse ostalo. To je kontrolna zanka: ob vsaki spremembi kateregakoli upravljanega vira in vsaj enkrat na pet minut kot varnostna mreža primerja želeno stanje z dejanskim in uskladi razliko. Če nekdo izbriše NetworkPolicy, se vrne. Če Deployment odstopi, se popravi. Izbrišite custom resource in owner reference kaskadno izvedejo čiščenje. Brez osirotelih Services, brez preostalih PVCs.

Danes ga objavljamo kot odprto kodo: github.com/OpenClaw-rocks/k8s-operator.

Varnost privzeto, ne s kontrolnega seznama

SecurityScorecard je prejšnji teden našel 135.000 OpenClaw instanc izpostavljenih javnemu internetu. CVE-2026-25253 je demonstriral oddaljeno izvajanje kode z enim klikom prek eksfiltracije gateway žetonov. Gartner je priporočil organizacijam, da ga v celoti blokirajo. V registru ClawHub je bilo najdenih 341 zlonamernih veščin.

To je realnost poganjanja AI agentov leta 2026. Privzeta konfiguracija OpenClaw posluša na 0.0.0.0 brez avtentikacije. Na VPS brez pravilno nastavljenega požarnega zidu ste eno skeniranje vrat stran od tega, da neznancu podarite shell dostop do vašega strežnika. Obravnavali smo celoten obseg varnostne krize in zakaj niti gateway žeton ni dovolj.

Operator zavzema nasprotni pristop. Varnost je strukturna, ne neobvezna:

  • Privzeto brez root. UID 1000, vse Linux capabilities odstranjene, seccomp RuntimeDefault. Validacijski webhook zavrne vsako specifikacijo, ki nastavi runAsUser: 0. Webhook bi morali odstraniti, da bi poganjali kot root.
  • Mrežna izolacija privzeto. Privzeta deny-all NetworkPolicy na vsaki instanci. Vhodno: samo isti namespace. Izhodno: samo DNS in HTTPS. Vse ostalo je blokirano, razen če to izrecno odprete.
  • RBAC z najmanjšimi pravicami. Vsaka instanca dobi lasten ServiceAccount z Role, ki podeljuje samo get in watch na lastno ConfigMap. Agent ne more brati skrivnosti, konfiguracije ali stanja drugega agenta.
  • Operator sam teče kot UID 65532 (distroless nonroot), korenski datotečni sistem samo za branje, vse capabilities odstranjene, HTTP/2 onemogočen za blažitev CVE-2023-44487.

Vse to je privzeto aktivno. Dobite brez razmišljanja.

Avtomatizacija brskalnika kot sidecar

OpenClaw agenti lahko brskajo po spletu. Na VPS to pomeni poganjanje Chromium procesa ob agentu in upanje, da se ne bosta borila za vire. Operator to obravnava kot pravi sidecar:

spec:
  chromium:
    enabled: true
    resources:
      requests:
        cpu: "250m"
        memory: "512Mi"
      limits:
        cpu: "1000m"
        memory: "2Gi"

Operator doda Browserless Chromium vsebnik v pod, poveže Chrome DevTools Protocol na vratih 9222, vbrizga CHROMIUM_URL=ws://localhost:9222 v glavni vsebnik in da Chromiu lasten varnostni kontekst (UID 999, capabilities odstranjene), lastne omejitve virov in pomnilniško podprt /dev/shm. Dva vsebnika komunicirata prek localhost znotraj poda. Brez mrežnega skoka, brez dodatnega Service, brez varnostne izpostavljenosti. Na OpenClaw.rocks omogočamo Chromium sidecar privzeto za vsako instanco.

Kaj je v repozitoriju

Napisan v Go 1.24 s controller-runtime (Kubebuilder vzorec). Licenca Apache 2.0.

  • Popoln CRD s 127KB OpenAPI validacijsko shemo
  • Helm Chart (tudi kot OCI artefakt na GHCR)
  • Kustomize prekrivanja za tiste, ki jih raje uporabljajo
  • Grafana nadzorna plošča in Prometheus opozorila v docs/monitoring/
  • E2E testi na Kind v CI
  • Multi-arch gradnje (amd64/arm64)

Operator je tudi naveden na OperatorHub in Artifact Hub, tako da ga lahko odkrijete in namestite prek registrov, ki jih že uporabljate.

Namestitev:

helm install openclaw-operator \
  oci://ghcr.io/openclaw-rocks/charts/openclaw-operator \
  --namespace openclaw-operator-system \
  --create-namespace

Namestitev agenta:

apiVersion: openclaw.rocks/v1alpha1
kind: OpenClawInstance
metadata:
  name: my-agent
spec:
  config:
    raw:
      agents:
        defaults:
          model:
            primary: "anthropic/claude-sonnet-4-20250514"
  envFrom:
    - secretRef:
        name: my-api-keys
  chromium:
    enabled: true
  storage:
    persistence:
      enabled: true

Avtomatizacija brskalnika, trajna shramba, mrežna izolacija, nadzor zdravja, samodejne uvedbe konfiguracij. En vir. kubectl apply.

Zakaj odprta koda

Ta Operator sem zgradil, da bi rešil lasten problem. Vodim gostovalno platformo za OpenClaw agente in potreboval sem Kubernetes orodja produkcijske ravni. Operator je rezultat tega dela.

Toda menim tudi, da bo vsako podjetje, ki poganja OpenClaw agente v velikem obsegu, sčasoma pristalo na Kubernetes in se soočilo z enakimi problemi kot jaz: privzete varnostne nastavitve, konfiguracija NetworkPolicy, Chromium sidecar, uvedbe konfiguracij. Ekosistem je star dva tedna in je že razdrobljen. Vsak rešuje te probleme neodvisno.

Stroški gradnje programske opreme se približujejo ničli. In kot sem trdil v OpenClaw je novi Linux, odprtost preprečuje razdrobljenost. Operator ni moj obrambni jarek. Če je kaj, je to blagovna znamka in zaupanje, ki ga gradim z deljenjem dela, kot je to. In če niti to ne vzdrži, se zabavam pri gradnji, pisanju in deljenju. To je dovolj. Obdržati Operator kot lastniški bi pomenilo, da vsaka infrastrukturna ekipa znova odkrije enake pasti, ki sem jih odkril jaz. To je potrata, ne konkurenčna prednost.

Ta Operator uporabljamo v produkciji. Vsak agent na OpenClaw.rocks gre skozi njega.

Koda je na github.com/OpenClaw-rocks/k8s-operator. Issues in PR-ji so dobrodošli.

Če tega raje ne upravljate sami, točno za to obstaja OpenClaw.rocks.