Перейти к содержимому
Экосистема AI Vibe

Разборы

ApowerB в Kubernetes: одна команда Helm и скрытые 90% деплоя агентной платформы

Редакция 6 октября 2026 г.

ApowerB в Kubernetes: одна команда Helm и скрытые 90% деплоя агентной платформы

Compose на ноутбуке, Helm когда storage уже живой, ingress и TLS для прода: три входа в open-source платформу агентов ApowerB. Ключи моделей уже в агентах, а вынос runtime в свой кластер без облачной обёртки упирается не в слоган «one command», а в secrets, storage class и повторную подачу values на каждом upgrade. Chart 0.4.23 в гайде раскладывает те же три уровня без мифа, что кластер «где-то уже есть».

Что тянет chart ApowerB кроме UI

Один контейнер с формой тут не спасёт. OCI-chart apowerb-chart (подпись cosign) поднимает runtime агентов целиком: backend и Next.js-фронт, PostgreSQL с агентами в строках БД (при load они становятся executable modules), пайплайн th2etl с seed job, локальные логи и trace в th2pulse, otel-collector, опциональный th2forecast (по умолчанию выключен), PVC под uploads, RAG-артефакты и пулы агентов.

Orchestration, log store и телеметрия нужны, когда агенты смотрят на людей, а не на демо-страницу. Для соло-команды, которая уже подключала model keys к агентам и хочет self-hosted вместо SaaS, это важнее красивого «one command» в заголовке.

Быстрый путь: secrets, install и ловушка upgrade

Chart не стартует без secrets. Отдельный values-secrets.yaml: encryptKey, ключи API для th2etl/th2pulse, пароль Postgres. Генерируйте с umask 077, права chmod 600.

Установка сводится к одной команде:

helm upgrade --install apowerb \
  oci://registry-1.docker.io/apowerb/apowerb-chart --version 0.4.23 \
  --namespace apowerb --create-namespace \
  --values values-secrets.yaml --timeout 10m

UI: kubectl port-forward svc/apowerb-frontend 13000:3000 → http://localhost:13000, в интерфейсе задаёте model key, платформа считается рабочей на кластере.

Операционная ловушка: на каждом helm upgrade снова передавайте --values values-secrets.yaml. Без файла credentials могут «ротироваться» под уже живой БД. Храните файл в secret store, не в Git.

Прод: storage, ingress, TLS и DNS

Пустой storage class обнуляет «одну команду». Минимум для кластера: Kubernetes 1.28+, ориентир 3 nodes × 4 vCPU / 8 GB, проверки kubectl get nodes, storageclass, ingressclass.

Что обычно выпадает из коротких постов:

  • Storage: если storageclass пуст, пример с local-path-provisioner; ловушка WaitForFirstConsumer (PVC в Pending, пока нет pod).
  • Ingress: класс Traefik или ingress-nginx и EXTERNAL-IP под DNS.
  • TLS: cert-manager, сначала Let's Encrypt staging (лимит 5 failures/hour); критично поле ingressClassName, не устаревшая annotation class, иначе ACME challenge зависает в Ready: False.
  • Helm с ingress/TLS: chart 0.4.23, --set ingress.enabled=true, host, ingress.tlsEnabled, issuer cert-manager; опционально superadmin.email / superadmin.password.
  • DNS: A-запись на EXTERNAL-IP, проверка certificate, затем production ACME issuer.

Storage, ingress и TLS съедают ту «90%», о которой молчат короткие посты. Для agent platform перед живыми пользователями этот блок не слабее выбора LLM в values.

LLM, интеграции и масштаб пулов агентов

Values задают не только железо. Default LLM (defaultLlm.model, defaultLlm.apiKey) прописывает модель агентам без своего ключа; под капотом LiteLLM (OpenAI, Anthropic, Mistral, Gemini, local). Префиксы GOOGLE_INTEGRATION_*, MICROSOFT_INTEGRATION_*, SMTP_* тянут интеграции.

Object storage: storage.mode и S3_* выносят bi_store, uploads, artifacts_store, agents_pool с PVC.

otel-collector можно сразу направить на внешний Tempo, Prometheus или Mimir; th2pulse остаётся локальным default. Agent pools на PVC ReadWriteOnce упираются в access mode, если backend больше одной реплики или артефакты общие. На одной реплике для пилота PVC терпим; на S3 имеет смысл переключаться раньше, чем кажется, не только из‑за объёма диска.

Compose «в несколько команд» остаётся для экспериментов. Helm имеет смысл, когда агенты уже перед реальными пользователями.

Источники

  • Первоисточник (Dev.to, Anis Meziani): Dev.to (дата доступа: 2026-10-06 UTC)
  • Сайт проекта: https://thaink2.com/opensource
  • GitHub: https://github.com/apowerb
  • Artifact Hub (chart): https://artifacthub.io/packages/helm/apowerb/apowerb-chart
  • Документация K8s: https://docs.apowerb.com/deployment/kubernetes
  • Docker Hub: https://hub.docker.com/r/apowerb/apowerb