Files
k3s-gitops/apps/ollama-mcp/README.md
2026-01-11 13:14:36 +00:00

211 lines
5.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Ollama MCP Integration
Интеграция Ollama с Kubernetes и Gitea через MCP серверы.
## Архитектура
```
GPU Server (Ollama + UI)
MCP Servers (Docker Compose)
├── Kubernetes MCP Server --> K3s Cluster
└── Gitea MCP Server --> Gitea API
```
## Возможности
- **Kubernetes MCP**: Управление кластером через Ollama
- Получение информации о подах, деплойментах, сервисах
- Просмотр логов
- Apply/Delete ресурсов
- Управление namespace
- Exec в контейнеры
- **Gitea MCP**: Работа с репозиториями через Ollama
- Просмотр файлов и директорий
- Создание/редактирование файлов
- Коммиты и push
- Управление ветками и PR
## Быстрый старт
```bash
# Скачать и запустить установку
curl -sSL https://git.thedevops.dev/admin/k3s-gitops/raw/branch/main/apps/ollama-mcp/install.sh | bash
```
## Ручная установка
### Предварительные требования
- Docker и Docker Compose
- Kubeconfig с доступом к кластеру
- Gitea API токен
### Установка
1. Клонировать репозиторий:
```bash
git clone https://git.thedevops.dev/admin/k3s-gitops.git
cd k3s-gitops/apps/ollama-mcp
```
2. Настроить переменные окружения:
```bash
cp .env.example .env
nano .env
```
3. Скопировать kubeconfig:
```bash
mkdir -p config
cp ~/.kube/config config/kubeconfig
```
4. Запустить:
```bash
docker-compose up -d
```
## Конфигурация
### Переменные окружения (.env)
```env
# Gitea
GITEA_URL=https://git.thedevops.dev
GITEA_TOKEN=your-gitea-token
GITEA_OWNER=admin
# Kubernetes
K8S_CONTEXT=default
K8S_NAMESPACE=default
# MCP Servers
MCP_K8S_PORT=3001
MCP_GITEA_PORT=3002
```
### Получение Gitea токена
1. Зайти в Gitea: https://git.thedevops.dev
2. Settings → Applications → Generate New Token
3. Выбрать права: `repo`, `admin:org`, `write:repository`
## Использование с Ollama
### Примеры промптов для Kubernetes:
```
"Покажи все поды в namespace monitoring"
"Получи логи пода grafana за последние 100 строк"
"Создай deployment nginx с 3 репликами"
"Какие сервисы запущены в argocd namespace?"
```
### Примеры промптов для Gitea:
```
"Покажи файлы в репозитории k3s-gitops"
"Создай новый файл deployment.yaml в apps/nginx"
"Покажи содержимое файла apps/loki/statefulset.yaml"
"Создай новую ветку feature/add-monitoring"
```
## Проверка статуса
```bash
# Проверить статус контейнеров
docker-compose ps
# Просмотреть логи
docker-compose logs -f
# Перезапустить
docker-compose restart
# Остановить
docker-compose down
```
## Troubleshooting
### MCP серверы не отвечают
```bash
# Проверить логи
docker-compose logs mcp-kubernetes
docker-compose logs mcp-gitea
# Перезапустить
docker-compose restart
```
### Ошибка доступа к Kubernetes
```bash
# Проверить kubeconfig
kubectl --kubeconfig=config/kubeconfig get nodes
# Проверить права доступа
ls -la config/kubeconfig
```
### Ошибка доступа к Gitea
```bash
# Проверить токен
curl -H "Authorization: token YOUR_TOKEN" https://git.thedevops.dev/api/v1/user
# Проверить переменные окружения
docker-compose config
```
## Безопасность
- **Kubeconfig**: Хранится локально, не экспонируется
- **Gitea Token**: Передается через переменные окружения
- **Network**: Изолированная Docker сеть
- **Ports**: Доступны только на localhost (можно изменить)
## Обновление
```bash
# Обновить образы
docker-compose pull
# Перезапустить с новыми образами
docker-compose up -d
```
## Архитектура файлов
```
apps/ollama-mcp/
├── README.md # Эта документация
├── docker-compose.yml # Docker Compose конфигурация
├── install.sh # Скрипт автоматической установки
├── .env.example # Пример переменных окружения
├── config/
│ └── kubeconfig # Kubernetes конфигурация
├── mcp-kubernetes/
│ ├── package.json
│ ├── index.js
│ └── Dockerfile
└── mcp-gitea/
├── package.json
├── index.js
└── Dockerfile
```
## Дополнительные ресурсы
- [MCP Documentation](https://modelcontextprotocol.io)
- [Kubernetes API](https://kubernetes.io/docs/reference/)
- [Gitea API](https://docs.gitea.com/api/1.20/)
- [Ollama Documentation](https://ollama.ai/docs)
## Поддержка
Вопросы и предложения: https://git.thedevops.dev/admin/k3s-gitops/issues