Turvauurijad on leidnud ule 135 000 OpenClaw eksemplari, mis on internetis taielikult kaitsmata. Paljud neist olid haavatavad kaugkoodikaivituse suhtes. OpenClaw turvakriis on reaalne: kriitilised CVE-d, pahatahtlikud oskused ja pohi probleem sellega, kuidas enamik juurutusi autentimist kasitleb. OpenClaw kaivitamine VPS-il kaesurea docker run abil on lihtne. Turvaline kaivitamine on hoopis teine probleem.

Kubernetes lahendab selle probleemi. Saate vorguisolatsiooni, ressursipiirangud, automatiseeritud taaskaivitused ja turvavaikevaeaertused, mille kaesitsi konfigureerimine votaks tunde. OpenClaw Kubernetes Operator annab teile selle koik uhest YAML-failist.

See juhend viib teid nullist toodanguvoeimelise OpenClaw agendini Kubernetes’es. Iga YAML-plokk on kopeerimiseks ja kleepimiseks valmis.

Miks operaator

OpenClaw kaivitamine Kubernetes’es on rohkem kui Deployment ja Service. Vajate vorguisolatsiooni, saladuste haldamist, puuvat salvestusruumi, tervise jaeaelgimist, konfiguratsiooni levitamist ja soovi korral brauseri automatiseerimist. Koige selle oige yhendamine kaesitsi on tuutu ja vigadele altis.

Kubernetes operaator kodeerib need noudmised uheks kohandatud ressursiks. Deklareerite, mida soovite, ja operaator yhildab selle pidevalt oigeks Kubernetes objektide komplektiks. Sellega saate:

  • Vaikimisi turvalisuse. Iga agent tootab UID 1000-na, koik Linuxi voimed on eemaldatud, seccomp on lubatud, juurkatalog on kirjutuskaitstud ja vaikimisi keelav NetworkPolicy, mis lubab ainult DNS-i ja HTTPS-i vaeaeljuvat liiklust. Kaesitsi tugevdamine pole vajalik.
  • Automaatsed vaersakendused tagasipooramisega. Operaator kontrollib OCI registrit uute versioonide suhtes, teeb tooruumist varukoopia, levitab vaersakenduse ja poorab automaatselt tagasi, kui uus pod ei laaebi tervisekontrollidest.
  • Konfiguratsiooni levitamine. Muutke oma spec.config.raw ja operaator tuvastab, et sisu raaeaesi muutus, ning kaivitab jooksva vaersakenduse. Sama saladuste roteerimise korral.
  • Varundamine ja taastamine. Automaatne tooruumi varukoopia S3-ga uhilduvasse salvestusruumi eksemplari kustutamisel. Taastamine uude eksemplari mis tahes hetktoeoeoisest.
  • Luysi autentimine. Genereerib automaatselt luysi tokeni iga eksemplari jaoks. Pole kaesitsi sidumist, pole mDNS-i (mis Kubernetes’es nagunii ei toota).
  • Kallete tuvastamine. Iga 5 minuti jaeerel kontrollib operaator, et iga hallatav ressurss vastab soovitud olekule. Kui keegi muudab kaesitsi NetworkPolicy-d voi kustutab PDB, yhildatakse see tagasi.

Eeldused

Vajate:

  • Kubernetes’e klastrit (1.28+). Iga uhilduv distributsioon sobib: EKS, GKE, AKS, k3s voi kohalik Kind klaster testimiseks.
  • kubectl, mis on konfigureeritud teie klastriga suhtlemiseks.
  • helm v3 paigaldatud.
  • API votit teie AI pakkujale (Anthropic, OpenAI voi mis tahes OpenAI-ga uhilduv loppunkt).

Samm 1: Paigaldage operaator

Operaator tarnitakse OCI Helm chart’ina. Uks kaeaesk paigaldab selle:

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

Veenduge, et see tootab:

kubectl get pods -n openclaw-operator-system

Peaksite naeaegema operaatori podi olekus Running. Operaator paigaldab ka valideeriva webhook’i, mis takistab ebaturvalisi konfiguratsioone (naeaeiteks juurkasutajana kaivitamist).

Samm 2: Looge oma API votme saladus

Salvestage oma AI pakkuja API voti Kubernetes Secret’is. Operaator suestib selle agendi konteinerisse:

kubectl create namespace openclaw

kubectl create secret generic openclaw-api-keys \
  --namespace openclaw \
  --from-literal=ANTHROPIC_API_KEY=sk-ant-your-key-here

OpenAI voi teiste pakkujate jaoks kasutage vastavat keskkonnamuutuja nime (OPENAI_API_KEY, OPENROUTER_API_KEY jne). Samasse saladusse voite lisada mitu pakkujat.

Noeouanne: Toodangu jaoks kaaluge External Secrets Operator kasutamist votmete sunkroonimiseks AWS Secrets Manager’ist, HashiCorp Vault’ist, GCP Secret Manager’ist voi Azure Key Vault’ist. Operaatori dokumentatsioonis on uksikasjalikud naeaeited.

Samm 3: Juurutage oma esimene agent

Looge fail nimega my-agent.yaml:

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

Rakendage see:

kubectl apply -f my-agent.yaml

See uks ressurss loob StatefulSet’i, Service’i, ServiceAccount’i, Role’i, RoleBinding’u, ConfigMap’i, PVC, PDB, NetworkPolicy ja luysi tokeni Secret’i. Operaator yhildab selle koik.

Samm 4: Veenduge, et see tootab

Jaeaelgige eksemplari kaivitumist:

kubectl get openclawinstances -n openclaw -w
NAME       PHASE        READY   AGE
my-agent   Provisioning False   10s
my-agent   Running      True    45s

Kui faas naeaeiteab Running ja Ready on True, on teie agent aktiivne. Kontrollige logisid:

kubectl logs -n openclaw statefulset/my-agent -f

Agendiga suhtlemiseks suunake luysi port edasi:

kubectl port-forward -n openclaw svc/my-agent 18789:18789

Seejaerel avage brauseris http://localhost:18789.

Samm 5: Yhendage kanal

OpenClaw toetab Telegram’i, Discord’i, WhatsApp’i, Signal’i ja teisi sonumikanaleid. Iga kanal konfigureeritakse keskkonnamuutujate kaudu. Lisage vastav token oma saladusse:

kubectl create secret generic openclaw-channel-keys \
  --namespace openclaw \
  --from-literal=TELEGRAM_BOT_TOKEN=your-bot-token-here

Seejaerel viidake sellele oma eksemplaris:

spec:
  envFrom:
    - secretRef:
        name: openclaw-api-keys
    - secretRef:
        name: openclaw-channel-keys

OpenClaw tuvastab tokeni automaatselt ja lubab kanali. Taeeiendavat konfiguratsiooni pole vaja.


Sellega on pohialused kaetud. Teie agent tootab, on turvatud ja kaeutteesaadav. Ulejaeanud juhend katab valikulisi funktsioone, mida saate lubada, kui olete valmis.

Brauseri automatiseerimine

OpenClaw saab veebis sirvida, ekraanipilte teha ja lehtedega suhelda. Operaator teeb selle uherealise lisandusena. See kaivitab tugevdatud Chromium kuelvaguni samas podis, uhendatud localhost’i kaudu:

spec:
  chromium:
    enabled: true
    resources:
      requests:
        cpu: 500m
        memory: 1Gi
      limits:
        cpu: 1000m
        memory: 2Gi

Operaator suestib automaatselt keskkonnamuutuja CHROMIUM_URL pohikonteinerisse. Kuelvagunikonteiner tootab UID 1001-na kirjutuskaitstud juurkataloogi ja oma turvakontekstiga.

Oskused ja toeoeaeja soeltuvused

OpenClaw oskusi ClawHub’ist saab paigaldada deklaratiivselt. Operaator kaivitab initsialiseerimiskonteineri, mis toeombab iga oskuse enne agendi kaivitumist:

spec:
  skills:
    - "@anthropic/mcp-server-fetch"
    - "@anthropic/mcp-server-filesystem"

Kui teie oskused voi MCP serverid vajavad pnpm-i voi Python’it, lubage sisseehitatud toeoeaeja soeltuvuste initsialiseerimiskonteinerid:

spec:
  runtimeDeps:
    pnpm: true    # Installs pnpm via corepack
    python: true  # Installs Python 3.12 + uv

Initsialiseerimiskonteinerid paigaldavad need tooeriistad andmete PVC-le, nii et need saeilivad taaskaivituste vahel ilma konteineri pilti paisutamata.

Automaatsed vaersakendused

OpenClaw avaldab sageli uusi versioone. Operaator saab neid automaatselt jaeaelgida, enne vaersakendamist varundada ja poorata tagasi, kui midagi laaekheb valesti:

spec:
  autoUpdate:
    enabled: true
    checkInterval: "12h"
    backupBeforeUpdate: true
    rollbackOnFailure: true
    healthCheckTimeout: "10m"

Kui registris ilmub uus versioon, operaator:

  1. Loob tooruumi PVC varukoopia S3-ga uhilduvasse salvestusruumi
  2. Vaersakendab pildi sildiga StatefulSet’is
  3. Ootab kuni healthCheckTimeout, et pod laeaebiks valmisolekukontrollidest
  4. Kui pod ei suuda valmis olekusse jouda, taastab eelmise pildi sildi ja varukoopia

Paerast 3 jaerjaestikust ebaonnestunud tagasipooramist peatab operaator automaatse vaersakendamise ja seab tingimuse, et saaksite uurida.

Maerkus: Automaatne vaersakendamine ei tee midagi raaeaesiga kinnitatud piltide puhul (spec.image.digest). Kui kinnitate raaeaesiga, juhite vaersakendusi kaesitsi.

Toodangu tugevdamine

Operaator on vaikimisi turvaline. Siin on taeeiendavad seaded toodangujuurutuste jaoks.

Seire Prometheus’ega

Lubage ServiceMonitor operaatori ja eksemplari meetrikate kogumiseks:

spec:
  observability:
    metrics:
      enabled: true
      serviceMonitor:
        enabled: true
        interval: "30s"

Operaator paljastab openclaw_reconcile_total, openclaw_reconcile_duration_seconds, openclaw_instance_phase ja automaatse vaersakenduse loendurid.

Ajastamine puhendatud soeolmedele

Kui kasutate segaklastrit, kasutage nodeSelector ja tolerations agentide kinnitamiseks puhendatud soeolmedele:

spec:
  availability:
    nodeSelector:
      openclaw.rocks/nodepool: openclaw
    tolerations:
      - key: openclaw.rocks/dedicated
        value: openclaw
        effect: NoSchedule

Kohandatud vaeaeljuva liikluse reeglite lisamine

Vaike-NetworkPolicy lubab ainult DNS-i (port 53) ja HTTPS-i (port 443). Kui teie agent peab jooudma teiste teenusteni (andmebaas, sonumijaeaerjakord, sisemine API), lisage vaeaeljuva liikluse reeglid:

spec:
  security:
    networkPolicy:
      additionalEgress:
        - to:
            - ipBlock:
                cidr: 10.0.0.0/8
          ports:
            - port: 5432
              protocol: TCP

Pilveteenuse pakkuja identiteet

AWS IRSA voi GCP Workload Identity jaoks lisage hallatavale ServiceAccount’ile annotatsioonid:

spec:
  security:
    rbac:
      serviceAccountAnnotations:
        eks.amazonaws.com/role-arn: "arn:aws:iam::123456789:role/openclaw"

Ettevotte proksid ja privaatsed CA-d

Kui teie klaster kasutab TLS-i pealtkuulavat proksit, suestige CA pakett:

spec:
  security:
    caBundle:
      configMapName: corporate-ca-bundle
      key: ca-bundle.crt

Operaator yhendab CA paketi koikidesse konteineritesse ja seab automaatselt NODE_EXTRA_CA_CERTS.

GitOps

OpenClawInstance CRD on tavaline YAML-fail. See tahendab, et see sobib otse GitOps tooeovoogu. Salvestage oma agendi manifestid git’i hoidlasse ja laske ArgoCD voi Flux sunkroonida need teie klastrisse.

Tuupiline hoidla struktuur:

gitops/
└── agents/
    ├── kustomization.yaml
    ├── namespace.yaml
    ├── agent-a.yaml
    └── agent-b.yaml

Iga muudatus laaeeb laaebi toeombesoovi. Teie meeskond vaatab erisuse laaebi. Yhendage main’iga ja ArgoCD rakendab selle. Pole kubectl apply sulerarvutitest, pole konfiguratsiooni kalletumist, taeielik auditijaeaelg.

Operaatori konfiguratsiooni raaeaesifunktsioon teeb selle eriti sujuvaks. Kui ArgoCD sunkroonib muudetud spec.config.raw, tuvastab operaator, et sisu raaeaesi muutus, ja kaivitab automaatselt jooksva vaersakenduse. Sama saladuste roteerimise korral: operaator jaeaelgib viidatud saladusi ja taaskaivitab pode, kui need muutuvad.

Varundamine ja taastamine

Operaator toetab S3-ga uhilduvaid varukoopiaid. Kui kustutate eksemplari, loob operaator automaatselt tooruumi PVC varukoopia enne eemaldamist.

Agendi taastamiseks varukoopiast uude eksemplari:

apiVersion: openclaw.rocks/v1alpha1
kind: OpenClawInstance
metadata:
  name: my-agent-restored
  namespace: openclaw
spec:
  restoreFrom: "s3://bucket/path/to/backup.tar.gz"
  envFrom:
    - secretRef:
        name: openclaw-api-keys
  storage:
    persistence:
      enabled: true
      size: 10Gi

Operaator laadib hetktoeoeoise alla, pakib selle PVC-le ja kaivitab agendi koigi eelmiste tooruumi andmete, oskuste ja vestlusajalooga.

Kohalik jaereldumine Ollama’ga

Kui soovite, et agendid kasutaksid kohalikke mudeleid (privaatsuse, latentsuse voi kulude tottu), on operaatoril esmaklassiline Ollama tugi. Pole vaja kaesitsi kuelvagunikonteinerit seadistada. spec.ollama kasitleb konteinerit, mudelite eellaadimist, salvestusruumi ja GPU erastamist:

spec:
  ollama:
    enabled: true
    models:
      - "llama3.2"
      - "nomic-embed-text"
    gpu: 1
    resources:
      requests:
        cpu: "2"
        memory: 4Gi
      limits:
        cpu: "4"
        memory: 8Gi
    storage:
      sizeLimit: 30Gi

Kui see on lubatud, operaator:

  1. Lisab Ollama kuelvagunikonteineri podile
  2. Kaivitab initsialiseerimiskonteineri, mis laadib ette loetletud mudelid enne agendi kaivitumist
  3. Suestib pohikonteinerisse OLLAMA_HOST=http://localhost:11434
  4. Erastab nouutud NVIDIA GPU nvidia.com/gpu ressursipiirangute kaudu

Vaikimisi salvestatakse mudelid emptyDir koetasse konfigureeritava suuruse piiiranguga. Puuvaks mudeli salvestuseks taaskaivituste vahel (et mudeleid ei laaeditaks igal korral uuesti) kasutage olemasolevat PVC-d:

spec:
  ollama:
    enabled: true
    models: ["llama3.2"]
    storage:
      existingClaim: ollama-models-pvc

Tailscale integratsioon

Paljastage oma agent oma tailnet’ile ilma Ingress’i, koormuse tasakaalustajaid voi avalikke IP-aadresse. Operaatori spec.tailscale vaeaeli kasitleb autentimisvotme suestimist, konfiguratsiooni rikastamist ja NetworkPolicy reegleid:

spec:
  tailscale:
    enabled: true
    mode: serve       # or "funnel" for public internet access
    authKeySecretRef:
      name: tailscale-authkey
    hostname: my-agent

Looge autentimisvotme saladus efemeerse, korduvkasutatava votmega Tailscale administreerimiskonsoolist:

kubectl create secret generic tailscale-authkey \
  --namespace openclaw \
  --from-literal=authkey=tskey-auth-...

Rezhiimis serve (vaikimisi) saavad agendile ligi ainult teie tailnet’i liikmed. Rezhiimis funnel paljastab Tailscale selle avalikule internetile automaatse HTTPS-iga.

Operaator automaatselt:

  • Suestib keskkonnamuutujad TS_AUTHKEY ja TS_HOSTNAME
  • Yhendab gateway.tailscale.mode ja gateway.tailscale.resetOnExit OpenClaw konfiguratsiooni
  • Lisab STUN-i ja WireGuard’i vaeaeljuva liikluse reeglid NetworkPolicy’sse

Paroolivaba SSO sisselogimiseks tailnet’i liikmetele lubage authSSO:

spec:
  tailscale:
    enabled: true
    mode: serve
    authKeySecretRef:
      name: tailscale-authkey
    authSSO: true

See seab gateway.auth.allowTailscale=true OpenClaw konfiguratsioonis, nii et tailnet’i liikmed saavad agendile ligi ilma eraldi luysi tokenita.

Kohandatud kuelvaguni- ja initsialiseerimiskonteinerid

Kasutusjuhtudel, mis uletavad sisseehitatud Ollama ja Tailscale tuge, aktsepteerib operaator suvalist kuelvaguni- ja initsialiseerimiskonteinereid. Kaivitage Cloud SQL Proxy andmebaasile juurdepaeaesuks, logide edastaja voi mis tahes muu abistaja oma agendi koetrval:

spec:
  sidecars:
    - name: cloudsql-proxy
      image: gcr.io/cloud-sql-connectors/cloud-sql-proxy:2
      args: ["--structured-logs", "project:region:instance"]
      resources:
        requests:
          cpu: 100m
          memory: 128Mi

Kohandatud initsialiseerimiskonteinerid kaivituvad paeaerarast operaatori enda initsialiseerimistorujuhet (konfiguratsiooni seadistamine, pnpm, Python, oskused):

spec:
  initContainers:
    - name: fetch-data
      image: curlimages/curl:8.5.0
      command: ["sh", "-c", "curl -o /data/dataset.json https://..."]
      volumeMounts:
        - name: data
          mountPath: /data

Konfiguratsiooni yhendamisrezhiim

Vaikimisi kirjutab operaator konfiguratsioonifaili igal podi taaskaivitusel ule. Kui teie agent muudab oma konfiguratsiooni toeoeaejal (oskuste voi enesemuutmise kaudu), seadke mergeMode: merge operaatori konfiguratsiooni sugavaks yhendamiseks olemasoleva PVC konfiguratsiooniga:

spec:
  config:
    mergeMode: merge
    raw:
      agents:
        defaults:
          model:
            primary: "anthropic/claude-sonnet-4-20250514"

Yhendamisrezhiimis votavad operaatori maeaeratud votmed voidu, kuid votmed, mille agent ise lisas, jaaeaeavad taaskaivituste ule.

Taeielik naeaeide

Siin on toodanguvoeimaeline manifest, mis uhendab koik sellest juhendist:

apiVersion: openclaw.rocks/v1alpha1
kind: OpenClawInstance
metadata:
  name: production-agent
  namespace: openclaw
spec:
  envFrom:
    - secretRef:
        name: openclaw-api-keys

  config:
    mergeMode: merge
    raw:
      agents:
        defaults:
          model:
            primary: "anthropic/claude-sonnet-4-20250514"

  skills:
    - "@anthropic/mcp-server-fetch"

  runtimeDeps:
    pnpm: true

  chromium:
    enabled: true
    resources:
      requests:
        cpu: 500m
        memory: 1Gi
      limits:
        cpu: 1000m
        memory: 2Gi

  ollama:
    enabled: true
    models: ["llama3.2"]
    gpu: 1
    resources:
      requests:
        cpu: "2"
        memory: 4Gi

  tailscale:
    enabled: true
    mode: serve
    authKeySecretRef:
      name: tailscale-authkey
    authSSO: true

  resources:
    requests:
      cpu: 500m
      memory: 1Gi
    limits:
      cpu: 2000m
      memory: 4Gi

  storage:
    persistence:
      enabled: true
      size: 10Gi

  autoUpdate:
    enabled: true
    checkInterval: "24h"
    backupBeforeUpdate: true
    rollbackOnFailure: true

  observability:
    metrics:
      enabled: true
      serviceMonitor:
        enabled: true

  # Remove or adjust these if you don't use dedicated nodes
  availability:
    nodeSelector:
      openclaw.rocks/nodepool: openclaw
    tolerations:
      - key: openclaw.rocks/dedicated
        value: openclaw
        effect: NoSchedule

Rakendage see ja teil on tugevdatud, automaatselt vaersakendatav, brauserivoeimaeline AI agent kohaliku jaereldusmisega, tailnet’i juurdepaeaeusuga, seirega, varukoopiatega ja vorguisolatsiooniga. Uks kubectl apply.

Mida saate kohe karbist

Ilma uhegi turvaseade puudutamiseta tarnitakse iga operaatori juurutatud agent koos:

  • Mittejuurkasutaja kaivitamisega (UID 1000)
  • Kirjutuskaitstud juurkataloogiga
  • Koik Linuxi voimed eemaldatud
  • Seccomp RuntimeDefault profiiliga
  • Vaikimisi keelava NetworkPolicy-ga (ainult DNS + HTTPS vaeaeljuv liiklus)
  • Eksemplarikoehase ServiceAccount’iga ilma automaatse tokeni yhendamiseta
  • PodDisruptionBudget
  • Elusolek, valmisolek ja kaivitussondid
  • Automaatselt genereeritud luysi autentimistoken
  • 5-minutiline kallete yhildamine

Valideeriv webhook blokeerib katseid kaivitada juurkasutajana ja hoiatab keelatud NetworkPolicy-de, puuduva TLS-i Ingress’il ja tuvastamata AI pakkuja votmete eest.

Jaergmised sammud

Kui tekib probleeme voi on tagasisidet, avage probleem GitHub’is. Toeombesoovid on samuti teretulnud.

Kui te ei soovi ise Kubernetes’e hallata, OpenClaw.rocks kasitleb seda koike teie eest. Valige plaan, uhendage kanal ja teie agent on aktiivne sekunditega.