feat: add ollama-mcp README documentation
This commit is contained in:
210
apps/ollama-mcp/README.md
Normal file
210
apps/ollama-mcp/README.md
Normal file
@@ -0,0 +1,210 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user