Дослідники безпеки знайшли понад 135 000 екземплярів OpenClaw, які стоять повністю незахищеними в інтернеті. Багато з них були вразливі до віддаленого виконання коду. Криза безпеки OpenClaw реальна: критичні CVE, шкідливі навички та фундаментальна проблема з тим, як більшість розгортань обробляють автентифікацію. Запуск OpenClaw на VPS з docker run простий. Безпечний запуск — це зовсім інша задача.

Kubernetes вирішує цю проблему. Ви отримуєте мережеву ізоляцію, обмеження ресурсів, автоматизовані перезапуски та налаштування безпеки за замовчуванням, на ручне налаштування яких пішли б години. З OpenClaw Kubernetes Operator ви отримуєте все це з одного файлу YAML.

Цей посібник проведе вас від нуля до готового до виробництва агента OpenClaw на Kubernetes. Кожен блок YAML готовий до копіювання та вставки.

Чому оператор

Запуск OpenClaw на Kubernetes — це більше, ніж Deployment та Service. Вам потрібні мережева ізоляція, керування секретами, постійне сховище, моніторинг стану, розгортання конфігурації та за бажанням автоматизація браузера. Правильне з’єднання всього цього вручну — нудне та схильне до помилок.

Kubernetes оператор кодує ці вимоги в один власний ресурс. Ви декларуєте, що хочете, а оператор безперервно узгоджує це в правильний набір об’єктів Kubernetes. Це дає вам:

  • Безпеку за замовчуванням. Кожен агент працює як UID 1000, всі можливості Linux видалені, seccomp увімкнений, файлова система кореня тільки для читання та NetworkPolicy за замовчуванням з відмовою, що дозволяє лише DNS та HTTPS вихідний трафік.
  • Автоматичні оновлення з відкатом. Оператор перевіряє реєстр OCI на нові версії, створює резервну копію робочого простору, розгортає оновлення та автоматично відкочує, якщо новий pod не пройде перевірки стану.
  • Розгортання конфігурації. Змініть spec.config.raw і оператор виявить, що хеш вмісту змінився, та запустить поетапне оновлення.
  • Резервне копіювання та відновлення. Автоматичне резервне копіювання робочого простору на S3-сумісне сховище при видаленні екземпляра.
  • Автентифікація шлюзу. Автоматично генерує токен шлюзу для кожного екземпляра.
  • Виявлення відхилень. Кожні 5 хвилин оператор перевіряє, що кожен керований ресурс відповідає бажаному стану.

Передумови

  • Кластер Kubernetes (1.28+). EKS, GKE, AKS, k3s або локальний Kind кластер для тестування.
  • kubectl, налаштований для спілкування з вашим кластером.
  • helm v3 встановлений.
  • API-ключ для вашого AI-постачальника (Anthropic, OpenAI або будь-яка OpenAI-сумісна кінцева точка).

Крок 1: Встановіть оператор

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

Крок 2: Створіть секрет API-ключа

kubectl create namespace openclaw

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

Крок 3: Розгорніть першого агента

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
kubectl apply -f my-agent.yaml

Цей один ресурс створює StatefulSet, Service, ServiceAccount, Role, RoleBinding, ConfigMap, PVC, PDB, NetworkPolicy та Secret токена шлюзу. Оператор узгоджує все.

Крок 4: Перевірте, що він працює

kubectl get openclawinstances -n openclaw -w
kubectl logs -n openclaw statefulset/my-agent -f
kubectl port-forward -n openclaw svc/my-agent 18789:18789

Крок 5: Підключіть канал

kubectl create secret generic openclaw-channel-keys \
  --namespace openclaw \
  --from-literal=TELEGRAM_BOT_TOKEN=your-bot-token-here
spec:
  envFrom:
    - secretRef:
        name: openclaw-api-keys
    - secretRef:
        name: openclaw-channel-keys

OpenClaw автоматично виявляє токен та увімкне канал. Додаткова конфігурація не потрібна.


Це покриває основи. Ваш агент працює, захищений та доступний. Решта цього посібника охоплює додаткові функції, які ви можете увімкнути, коли будете готові.

Автоматизація браузера

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

Навички та залежності часу виконання

spec:
  skills:
    - "@anthropic/mcp-server-fetch"
    - "@anthropic/mcp-server-filesystem"
  runtimeDeps:
    pnpm: true
    python: true

Автоматичні оновлення

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

Посилення виробництва

Моніторинг з Prometheus

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

Планування на виділених вузлах

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

Додаткові правила вихідного трафіку

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

GitOps

CRD OpenClawInstance — це звичайний файл YAML. Зберігайте маніфести агентів у репозиторії git та дозвольте ArgoCD або Flux синхронізувати їх з вашим кластером.

Резервне копіювання та відновлення

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

Локальний висновок з Ollama

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

Інтеграція Tailscale

spec:
  tailscale:
    enabled: true
    mode: serve
    authKeySecretRef:
      name: tailscale-authkey
    hostname: my-agent

Повний приклад

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
  availability:
    nodeSelector:
      openclaw.rocks/nodepool: openclaw
    tolerations:
      - key: openclaw.rocks/dedicated
        value: openclaw
        effect: NoSchedule

Що ви отримуєте одразу

Без зміни жодного налаштування безпеки, кожен агент, розгорнутий оператором, постачається з: виконання не від root (UID 1000), файлова система кореня тільки для читання, всі можливості Linux видалені, профіль Seccomp RuntimeDefault, NetworkPolicy за замовчуванням з відмовою, ServiceAccount на кожен екземпляр без автоматичного монтування токена, PodDisruptionBudget, зонди живучості/готовності/запуску, автоматично згенерований токен автентифікації шлюзу та 5-хвилинне узгодження відхилень.

Наступні кроки

Якщо ви не хочете керувати Kubernetes самостійно, OpenClaw.rocks вирішить все це за вас. Виберіть план, підключіть канал, і ваш агент активний за секунди.