From e26de1e1016dfe38fd02222b58a79470a9ac31d9 Mon Sep 17 00:00:00 2001 From: admin Date: Mon, 12 Jan 2026 14:17:30 +0000 Subject: [PATCH] Add docs/gitops-cicd/Ollama.md --- docs/gitops-cicd/Ollama.md | 309 +++++++++++++++++++++++++++++++++++++ 1 file changed, 309 insertions(+) create mode 100644 docs/gitops-cicd/Ollama.md diff --git a/docs/gitops-cicd/Ollama.md b/docs/gitops-cicd/Ollama.md new file mode 100644 index 0000000..6b3042f --- /dev/null +++ b/docs/gitops-cicd/Ollama.md @@ -0,0 +1,309 @@ +# Требования к серверу и архитектуре 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 + +