# Требования к серверу и архитектуре Self-hosted Ollama для DevOps - Kubernetes - Knowledge Base ### 1. Цели и назначение системы Система предназначена для: - Анализа **Kubernetes-кластеров** (YAML, manifests, events, states) - Анализа **логов** (application / infra / CI) - Работы с **технической документацией** (Markdown, PDF, AsciiDoc) - Написания и ревью **кода** (Bash, Go, Python, Terraform, Helm) - Создания **внутренней базы знаний** (RAG) - Одновременной работы **до 10 пользователей** - Интеграции с **MCP-сервисами** для получения данных из: - Gitea - Docker Swarm - Kubernetes API - CI/CD и лог-хранилищ --- ## 2. Архитектура (High Level) ``` Users (Web UI / IDE) | v API Gateway / Reverse Proxy | v Ollama Server (LLM inference) | +--> MCP: Gitea | +--> MCP: Docker Swarm | +--> MCP: Kubernetes | +--> MCP: Logs / Docs | v Vector DB (Knowledge Base / RAG) ``` --- ![[ollama_architecture.png]] ## 3. Серверные требования (Hardware) ### 3.1 Минимальная конфигурация (рекомендуемая) |Компонент|Требование| |---|---| |CPU|16–32 vCPU (x86_64)| |RAM|**128 GB** (минимум 64 GB)| |GPU|**1× NVIDIA 24–48 GB VRAM** (A5000 / A6000 / L40 / RTX 4090)| |Disk (NVMe)|2–4 TB| |Disk IOPS|≥ 100k| |Network|10 Gbps (желательно)| |OS|Ubuntu Server 22.04 LTS| > ❗ Для моделей 70B в Q4/Q5 — **GPU обязателен**. > Без GPU возможна работа только с 14–32B (ограниченно). --- ### 3.2 Рекомендуемые модели Ollama |Задача|Модель| |---|---| |Анализ кода|`qwen2.5-coder:32b`| |Логи / reasoning|`deepseek-r1:32b`| |Документация|`llama3.1:70b-q4`| |Универсальная|`qwen2.5:72b-q4`| --- ## 4. Программные компоненты ### 4.1 Базовые сервисы |Компонент|Назначение| |---|---| |Ollama|LLM inference| |Reverse Proxy (Traefik / Nginx)|Auth + TLS| |Vector DB (Qdrant / Milvus)|Knowledge Base| |Object Storage (S3-compatible)|Документы| |MCP Services|Data ingestion| |Auth (OIDC / Basic)|Контроль доступа| --- ### 4.2 MCP (Model Context Protocol) сервисы #### MCP-Gitea - Чтение репозиториев - Анализ: - Kubernetes manifests - Helm charts - Terraform - Jenkinsfile / GitHub Actions - Поддержка: - branch / tag / commit - diff / blame #### MCP-Docker-Swarm - Сервисы и стеки - docker-compose.yml - Service logs - Versions / rollout state #### MCP-Kubernetes - API Server (read-only) - Resources: - Pods / Deployments / StatefulSets - Events - ConfigMaps / Secrets (masked) - kubectl-like queries #### MCP-Docs / Logs - Markdown / PDF / TXT - Centralized logs (Loki / files) - Chunking + embedding --- ## 5. Knowledge Base (RAG) ### Источники данных - Git-репозитории - Kubernetes manifests - CI/CD pipelines - Runbooks - ADR / RFC - Logs (выборочно) ### Требования - Chunk size: 500–1000 tokens - Embeddings: bge / nomic / instructor - Versioning источников - Re-index по webhook --- ## 6. Безопасность ### Обязательно - TLS (internal + external) - Read-only доступ к Kubernetes - Secrets masking - Role-based access (RBAC) - Network isolation (VLAN / namespaces) ### Желательно - Audit logs - Prompt filtering - Rate limiting - Per-user context limits --- ## 7. Производительность и лимиты |Параметр|Значение| |---|---| |Users|до 10| |Concurrent requests|5–8| |Context length|32k–128k| |Avg response|2–10 сек| |Max model load|1–2 модели одновременно| --- ## 8. Развертывание ### Варианты - Standalone bare-metal - VM + GPU passthrough - Kubernetes (с GPU node pool) ### Рекомендуется - Docker Compose / systemd для Ollama - Отдельный namespace для MCP - GitOps (Argo CD) --- ## 9. Эксплуатация - Model cache warming - Scheduled re-index - GPU monitoring (nvidia-smi) - Backup: - Vector DB - Docs storage - Upgrade policy: - Models - MCP schemas --- ## 10. Ограничения и риски - VRAM — основной bottleneck - Большие контексты = latency - Нужен контроль prompt-leak - Не замена SRE/DevOps решений --- ## 11. Итоговая рекомендация (baseline) **Оптимальная конфигурация:** - 1× GPU 48 GB - 128 GB RAM - NVMe 2 TB - Ollama + Qwen / DeepSeek - MCP-Gitea + MCP-K8s - Qdrant как Vector DB