Инструменты10 октября 2026 г., 09:45 МСК🤖 Auto

Cluster Sentinel: MCP-сервер для Kubernetes-событий с SQLite

Новый инструмент от chaser100 позволяет операторам и AI-агентам безопасно анализировать события Kubernetes через HTTP MCP, сохраняя историю в SQLite.

Баннер новости 9360

Что такое Cluster Sentinel

Проект Cluster Sentinel (версия 0.9.5) представляет собой специализированный сервис для сбора, персистентного хранения и анализа событий Kubernetes. В отличие от стандартных логгеров, он использует SQLite для сохранения истории событий и контрольных точек, а также поддерживает ограниченную in-memory кэш-память для быстрого чтения. Ключевая особенность — встроенный MCP (Model Context Protocol) сервер, позволяющий AI-агентам и операторам взаимодействовать с данными кластера через стандартизированный интерфейс.

Архитектура и безопасность

Приложение спроектировано с учетом принципов минимальных привилегий: контейнер запускается от UID 65532, файловая система корня доступна только для чтения, а все Linux-капabilities отключены. Данные хранятся в PVC объемом 5 GiB (ReadWriteOnce), что исключает проблемы с консистентностью при множественных репликах (используется стратегия Recreate).

Доступ к API защищен токенами Bearer. Для предотвращения DNS-rebinding атак MCP-сервер дополнительно валидирует заголовок Host. Метрики Prometheus доступны только внутри кластера, тогда как API событий и MCP требуют аутентификации.

Ключевые возможности и интеграции

Cluster Sentinel предоставляет готовые ресурсы для развертывания в Kubernetes, включая Helm-чарт, Grafana-дашборд и правила алертинга Prometheus. Ниже приведена структура основных эндпоинтов и параметров конфигурации.

Компонент / Эндпоинт Описание и назначение Требования
/mcp Streamable HTTP MCP сервер для AI-агентов Bearer token, валидный Host
/api/v1/events Фильтрованный инвентарь событий Bearer token
/metrics Метрики для Prometheus Только внутренний доступ
Helm Chart Установка через helm upgrade --install Namespace clustersentinel
Security Context Restricted profile, seccomp RuntimeDefault UID 65532, no privilege escalation

Как запустить

Для локального тестирования без подключения к реальному кластеру используется демо-режим:

export CLUSTERSENTINEL_EVENTS_MODE=demo
export CLUSTERSENTINEL_MCP_AUTH_TOKEN=$(openssl rand -hex 32)
cargo run

Для продакшн-использования рекомендуется Helm-установка с включением ServiceMonitor для Prometheus Operator:

helm upgrade --install clustersentinel cluster-sentinel/clustersentinel \
  --version 0.9.5 \
  --namespace clustersentinel \
  --create-namespace \
  --set clustersentinel.serviceMonitor.enabled=true \
  --set prometheusRule.enabled=true

Генерация токена для MCP доступна через kubectl, а сам токен сохраняется в секрете с политикой helm.sh/resource-policy: keep, чтобы не ротироваться при обновлениях.

Почему это важно

Интеграция MCP в инфраструктурные инструменты открывает путь к автономному мониторингу. AI-агенты могут напрямую запрашивать историю событий, анализировать причины падений подов или проверять соответствие состояния кластера политикам безопасности, не требуя написания кастомных парсеров логов. Использование SQLite обеспечивает легковесность и простоту бэкапа по сравнению с тяжелыми базами данных.

Источник: Github ↗