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

5.4 KiB
Raw Blame History

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

Быстрый старт

# Скачать и запустить установку
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. Клонировать репозиторий:
git clone https://git.thedevops.dev/admin/k3s-gitops.git
cd k3s-gitops/apps/ollama-mcp
  1. Настроить переменные окружения:
cp .env.example .env
nano .env
  1. Скопировать kubeconfig:
mkdir -p config
cp ~/.kube/config config/kubeconfig
  1. Запустить:
docker-compose up -d

Конфигурация

Переменные окружения (.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"

Проверка статуса

# Проверить статус контейнеров
docker-compose ps

# Просмотреть логи
docker-compose logs -f

# Перезапустить
docker-compose restart

# Остановить
docker-compose down

Troubleshooting

MCP серверы не отвечают

# Проверить логи
docker-compose logs mcp-kubernetes
docker-compose logs mcp-gitea

# Перезапустить
docker-compose restart

Ошибка доступа к Kubernetes

# Проверить kubeconfig
kubectl --kubeconfig=config/kubeconfig get nodes

# Проверить права доступа
ls -la config/kubeconfig

Ошибка доступа к Gitea

# Проверить токен
curl -H "Authorization: token YOUR_TOKEN" https://git.thedevops.dev/api/v1/user

# Проверить переменные окружения
docker-compose config

Безопасность

  • Kubeconfig: Хранится локально, не экспонируется
  • Gitea Token: Передается через переменные окружения
  • Network: Изолированная Docker сеть
  • Ports: Доступны только на localhost (можно изменить)

Обновление

# Обновить образы
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

Дополнительные ресурсы

Поддержка

Вопросы и предложения: https://git.thedevops.dev/admin/k3s-gitops/issues