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