Prieš dvi savaites OpenClaw turėjo 9 000 GitHub žvaigždžių. Šiandien turi 183 000. Per tą laiką atsirado visa industrija. ClawSimple, Kilo Claw, StartClaw, ShipClaw, GetClaw.ai, LobsterLair. Viena palyginimo svetainė suskaičiuoja 33 tiekėjus ir sąrašas toliau auga. OpenClaw apvalkalai užplūdo TrustMRR. DigitalOcean išleido vieno paspaudimo diegimą. Cloudflare pritaikė tai kaip Workers vykdymo aplinką. Žmonės pirko Mac Mini, kad namuose paleistų asmeninius AI agentus.

Jei norite patys talpinti debesyje, dažniausia konfigūracija yra 5 dolerių Hetzner VPS su 2 vCPU ir 4 GB RAM, Docker Compose ir API raktas. Paleiskite sąrankos vedlį, prijunkite prie Anthropic arba OpenRouter, sujunkite Telegram. Baigta per trisdešimt minučių. Arba nusipirkite Mac Mini, padėkite po stalu ir pavadinkite savo asmeniniu JARVIS. M4 budėjimo režimu naudoja septynis vatus ir veikia kaip vietinė išvadų mašina, jei pasirenkate 64 GB Pro modelį.

Abu variantai tinka vienam agentui. Bet kai pradėjau kurti OpenClaw.rocks, tikslas buvo pasiūlyti patikimiausią ir saugiausią būdą talpinti OpenClaw dideliu mastu, kartu paliekant viską paprastą naudotojui. Tam reikėjo kitokio pagrindo.

Kodėl pasirinkau Kubernetes

Anksčiau valdžiau blokų grandinės infrastruktūrą Binance, įskaitant Bitcoin mazgų apsaugą. Kai jūsų darbas yra palaikyti didelės vertės darbo krūvius izoliuotus, stebimus ir atkuriamus dideliu mastu, susiformuoja tvirti įsitikinimai apie tai, kaip turėtų veikti infrastruktūra. Kubernetes yra tai, kuo pasitikiu šiame kontekste.

OpenClaw yra vieno naudotojo programa. Tai asmeninis asistentas, o ne daugelio nuomininkų platforma. Jei norite paleisti agentus dešimčiai žmonių, jums reikia dešimties egzempliorių. Šimtui žmonių, šimto egzempliorių. Kiekvienas su sava konfigūracija, savo paslaptimis, sava saugykla, savomis tinklo ribomis. Vien izoliacijos reikalavimai atmeta bet ką mažesnio nei tinkama konteinerių orkestracija.

Nesiteigsiu, kad Kubernetes yra paprastas. Nėra. Vienam agentui tai absurdiškas perteklius. Bet daugelio agentų paleidimui daugeliui žmonių jis sprendžia problemas, kurių niekas kitas nesprendžia taip gerai. Ir manau, kad bet kuri įmonė, kuri galiausiai paleis OpenClaw agentus dideliu mastu, prieis tą pačią išvadą.

Izoliacija, kuri tikrai vykdoma. Kiekvienas agentas veikia savo vardų erdvėje su NetworkPolicy, kuri pagal numatytuosius nustatymus atsisako visko. Agentas A negali bendrauti su Agentu B. Agentas B negali pasiekti Agento A paslapčių. Tai nėra konvencija ar geroji praktika. Tai užtikrina konteinerių vykdymo aplinka ir CNI. Bendrame VPS su Docker Compose tinklo izoliacija tarp konteinerių reikalauja rankinių iptables taisyklių, kurių niekas neprižiūri.

Išteklių limitai, kurie užkerta kelią grandininėms gedimams. OpenClaw agentas su naršyklės automatizavimu gali sunaudoti 3 CPU branduolius ir 6 GB atminties, jei leisite. VPS su keturiais agentais vienas nekontroliuojamas Chromium procesas nužudo kitus tris. Kubernetes užtikrina CPU ir atminties limitus kiekvienam konteineriui. Agentas, pasiekęs savo lubas, neveikia kaimynų.

Savigyda be SSH. Kai VPS procesas sugenda, kažkas turi tai pastebėti ir jį paleisti iš naujo. systemd tai daro, bet tik pagrindiniam kompiuteriui. Docker Compose turi paleidimo iš naujo politikas, bet jos neapima dešimties kitų dalykų, kurie gali nutikti: OOM nužudymai, mazgų gedimai, saugyklos problemos. Kubernetes paleidžia iš naujo nesėkmingus konteinerius, perplanuoja pod’us, kai mazgai krenta, ir vykdo sveikatos patikras, kurios aptinka problemas programos lygmeniu, o ne tik proceso pabaigą.

Mastelio keitimas be spėliojimo. Agentų darbo krūvius vykdome tam skirtame mazgų baseine. Kai paklausa didėja, cluster autoscaler prideda mazgų. Kai mažėja, mazgai ištuštinami ir pašalinami. Nepalaikome iš anksto paruoštų VPS egzempliorių flotilės tikėdamiesi, kad teisingai įvertinome dydį. Infrastruktūra atitinka faktinę apkrovą.

Deklaratyvi būsena be nukrypimo. Visa agento konfigūracija gyvena viename custom resource: modelis, kanalai, išteklių limitai, tinklo taisyklės, saugykla, saugumo kontekstas. Nėra SSH istorijos, kurią reikėtų rekonstruoti, nėra rankinių redagavimų, kuriuos reikėtų sekti, nėra konfigūracijos nukrypimo tarp to, ką manote veikiant, ir to, kas iš tikrųjų veikia.

Niekas iš to nesvarbu vienam agentui vienoje mašinoje. Viskas svarbu, kai esate atsakingas už kitų žmonių agentų patikimą veikimą.

Operatorius

Kubernetes suteikia pagrindines priemones. Operatorius yra tai, kas jas padaro naudotinas.

Be Operatoriaus OpenClaw egzemplioriaus diegimas Kubernetes reiškia vienuolikos išteklių rašymą ranka: Deployment, Service, ConfigMap, PVC, ServiceAccount, Role, RoleBinding, NetworkPolicy, PodDisruptionBudget, Ingress, ServiceMonitor. Su Operatoriumi reikia tik vieno:

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

Operatorius stebi šį custom resource ir sukuria viską kitą. Tai yra valdymo ciklas: prie kiekvieno bet kurio valdomo ištekliaus pakeitimo ir bent kartą per penkias minutes kaip apsaugos tinklas lygina norimą būseną su faktine ir suderina skirtumą. Jei kas nors ištrina NetworkPolicy, ji grįžta. Jei Deployment nukrypsta, jis pataisomas. Ištrinkite custom resource, ir owner reference grandiniškai atlieka valymą. Jokių našlaičių Services, jokių likusių PVC.

Šiandien jį skelbiame kaip atvirą kodą: github.com/OpenClaw-rocks/k8s-operator.

Saugumas pagal numatytuosius, o ne pagal kontrolinį sąrašą

SecurityScorecard praėjusią savaitę rado 135 000 OpenClaw egzempliorių, atvirų viešam internetui. CVE-2026-25253 parodė nuotolinį kodo vykdymą vienu paspaudimu per vartų žetonų eksfiltraciją. Gartner rekomendavo organizacijoms jį visiškai blokuoti. ClawHub registre rasta 341 kenkėjiškų įgūdžių įrašas.

Tokia yra AI agentų paleidimo realybė 2026 metais. OpenClaw numatytoji konfigūracija klausosi 0.0.0.0 be autentifikacijos. VPS be tinkamai sukonfigūruotos ugniasienės esate vieno prievadų nuskaitymo atstumu nuo to, kad nepažįstamajam suteiktumėte shell prieigą prie savo serverio. Aprašėme visą saugumo krizės mastą ir kodėl net vartų žetonas nepakanka.

Operatorius taiko priešingą požiūrį. Saugumas yra struktūrinis, o ne pasirenkamas:

  • Pagal numatytuosius ne root. UID 1000, visos Linux capabilities pašalintos, seccomp RuntimeDefault. Validacijos webhook atmeta bet kokią specifikaciją, kuri nustato runAsUser: 0. Reikėtų pašalinti webhook, kad paleistumėte kaip root.
  • Tinklo izoliacija pagal numatytuosius. Numatytoji deny-all NetworkPolicy kiekviename egzemplioriuje. Įeinantis: tik ta pati vardų erdvė. Išeinantis: tik DNS ir HTTPS. Viskas kita blokuojama, nebent aiškiai atidarote.
  • Mažiausių teisių RBAC. Kiekvienas egzempliorius gauna savo ServiceAccount su Role, suteikiančiu tik get ir watch savo ConfigMap. Agentas negali skaityti kito agento paslapčių, konfigūracijos ar būsenos.
  • Pats Operatorius veikia kaip UID 65532 (distroless nonroot), tik skaitoma šakninė failų sistema, visos capabilities pašalintos, HTTP/2 išjungtas CVE-2023-44487 švelninimui.

Visa tai aktyvinta pagal numatytuosius. Gaunate negalvodami.

Naršyklės automatizavimas kaip sidecar

OpenClaw agentai gali naršyti internete. VPS tai reiškia Chromium proceso paleidimą šalia agento ir viltį, kad jie nekovos dėl išteklių. Operatorius tai tvarko kaip tinkamą sidecar:

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

Operatorius prideda Browserless Chromium konteinerį prie pod’o, sujungia Chrome DevTools Protocol per 9222 prievadą, įšviečia CHROMIUM_URL=ws://localhost:9222 į pagrindinį konteinerį ir suteikia Chromium savo saugumo kontekstą (UID 999, capabilities pašalintos), savo išteklių limitus ir atminties palaikomą /dev/shm. Du konteineriai bendrauja per localhost pod’o viduje. Jokio tinklo šuolio, jokio papildomo Service, jokios saugumo ekspozicijos. OpenClaw.rocks mes pagal numatytuosius įjungiame Chromium sidecar kiekvienam egzemplioriui.

Kas yra saugykloje

Parašytas Go 1.24 su controller-runtime (Kubebuilder šablonas). Apache 2.0 licencija.

  • Pilna CRD su 127KB OpenAPI validacijos schema
  • Helm Chart (taip pat kaip OCI artefaktas GHCR)
  • Kustomize perdangos tiems, kurie tai renkasi
  • Grafana informacinė lenta ir Prometheus įspėjimai kataloge docs/monitoring/
  • E2E testai ant Kind CI aplinkoje
  • Kelių architektūrų kompiliacijos (amd64/arm64)

Operatorius taip pat nurodytas OperatorHub ir Artifact Hub, todėl galite jį atrasti ir įdiegti per registrus, kuriuos jau naudojate.

Diegimas:

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

Agento diegimas:

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

Naršyklės automatizavimas, nuolatinė saugykla, tinklo izoliacija, sveikatos stebėjimas, automatiniai konfigūracijų diegimai. Vienas išteklius. kubectl apply.

Kodėl atviras kodas

Sukūriau šį Operatorių, kad išspręsčiau savo problemą. Valdau talpinimo platformą OpenClaw agentams ir man reikėjo gamybos lygio Kubernetes įrankių. Operatorius yra šio darbo rezultatas.

Bet taip pat manau, kad bet kuri įmonė, paleidžianti OpenClaw agentus dideliu mastu, galiausiai atsidurs ant Kubernetes ir susidurs su tomis pačiomis problemomis kaip ir aš: saugumo numatytieji nustatymai, NetworkPolicy konfigūravimas, Chromium sidecar, konfigūracijų diegimai. Ekosistema yra dviejų savaičių amžiaus ir jau suskaidyta. Kiekvienas šias problemas sprendžia savarankiškai.

Programinės įrangos kūrimo kaštai artėja prie nulio. Ir kaip argumentavau straipsnyje OpenClaw yra naujasis Linux, atvirumas užkerta kelią fragmentacijai. Operatorius nėra mano apsauginis griovys. Jei kas nors toks yra, tai prekės ženklas ir pasitikėjimas, kurį kuriu dalindamasis tokiu darbu. O jei net tai neišlaiko, man patinka kurti, rašyti ir dalintis. To pakanka. Operatoriaus laikymas uždaru reikštų, kad kiekviena infrastruktūros komanda iš naujo atranda tas pačias klaidas, kurias atradau aš. Tai švaistymas, o ne konkurencinis pranašumas.

Naudojame šį Operatorių produkcijoje. Kiekvienas agentas OpenClaw.rocks eina per jį.

Kodas yra github.com/OpenClaw-rocks/k8s-operator. Issues ir PR laukiami.

Jei geriau nenorite to valdyti patys, būtent tam yra OpenClaw.rocks.