Kuidas juurutada OpenClaw Kubernetes'es
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.rawja 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.helmv3 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:
- Loob tooruumi PVC varukoopia S3-ga uhilduvasse salvestusruumi
- Vaersakendab pildi sildiga StatefulSet’is
- Ootab kuni
healthCheckTimeout, et pod laeaebiks valmisolekukontrollidest - 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:
- Lisab Ollama kuelvagunikonteineri podile
- Kaivitab initsialiseerimiskonteineri, mis laadib ette loetletud mudelid enne agendi kaivitumist
- Suestib pohikonteinerisse
OLLAMA_HOST=http://localhost:11434 - Erastab nouutud NVIDIA GPU
nvidia.com/gpuressursipiirangute 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_AUTHKEYjaTS_HOSTNAME - Yhendab
gateway.tailscale.modejagateway.tailscale.resetOnExitOpenClaw 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
- Sirvige taeielikku API viidet iga CRD vaeaelja jaoks
- Lugege juurutusjuhendeid EKS, GKE, AKS ja Kind jaoks
- Seadistage mudeli varuahelad mitme AI pakkuja vahel
- Konfigureerige External Secrets Vault’i, AWS-i, GCP voi Azure’i jaoks
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.