Перейти к содержимому

Статья

KubePilot: CoPilot, Pilot и AutoPilot для ускорения инцидентов в Kubernetes

Техническое описание: трехрежимный цикл инцидентов, установка (исходный код/Helm/Docker/iOS), направляющие безопасности AutoPilot, MCP, Runbook и производственный контрольный список.

  • 5 мин чтения
  • Kubernetes
  • DevOps
  • AIOps
  • Open Source

КубеПилот — это панель устранения неполадок Kubernetes с открытым исходным кодом, созданная TenthMatrix инженерная команда. Он сочетает в себе диагностику с помощью искусственного интеллекта (Второй пилот), просмотр кластера в стиле SRE (Пилот) и меры по исправлению ситуации (Автопилот), поэтому команды платформы, SRE и DevOps переходят от зашумленных сигналов к безопасному исправлению — без манипулирования вкладками kubectl в середине инцидента. Сайт продукта: kubepilot.org. Источник: github.com/bwalia/kubepilot.

Обложка KubePilot — CoPilot Pilot AutoPilot

Навигация. Сопутствующий блог: бизнес-резюме. Связанный: GitOps с Argo CD и Flux, Kubeflow + Арго CD, LLM в Kubernetes, MCP OAuth и хранилище.
Агентский дайджест.
  • Что: Кабина K8s с открытым исходным кодом — CoPilot (AI RCA) + Pilot (браузер SRE) + AutoPilot (закрытый фиксатор).
  • ВОЗ: Команды SRE, DevOps, платформы/AIOps, которым требуется более быстрое время безотказной работы с проверяемой автоматизацией.
  • Бегать: двоичный serve на: 8383, Helm-диаграмма, Docker (ghcr.io/kubepilot/kubepilot), iOS-компаньон.
  • ИИ: локальные LLM через Ollama; Копировать запрос; Сервер MCP на: 9090.
  • Безопасность: пилотные значения по умолчанию только для чтения; Автопилот выключен/сухой ход/активен; минимальные уровни доверия; черные списки; аварийный выключатель; журнал решений.

1. Посмотрите прохождение

youtu.be/CsiJWpfncqA — Балиндер Валия, TenthMatrix.

2. Проблемы, которые решает KubePilot

Современные кластеры излучают больше сигналов, чем люди могут сортировать на одной странице: CrashLoops, ImagePullBackOff, OOMKills, давление узла, нестабильные зонды и дрейф YAML. Типичный ответ распространяется на:

  • kubectl история и сценарии оболочки,
  • пользовательский интерфейс браузера (Lens/Rancher/панель управления),
  • входит в третий инструмент,
  • чат LLM с вставленным YAML (без аутентификации кластера).

Эта фрагментация сжигает минуты, когда минуты — это соглашение об уровне обслуживания. KubePilot объединяет цикл в одну кабину: обнаружить → спросить → проверить → исправить.

Трехрежимный контур инцидентов

3. Режим A — CoPilot (устранение неполадок с помощью искусственного интеллекта)

CoPilot — это автоматизированная платформа RCA, работающая на естественном языке:

  • Задавайте оперативные вопросы на простом английском языке («почему касса CrashLooping в проде?»).
  • В один клик ИИ-анализ о проблемных модулях и событиях.
  • Анализ первопричин с цепочками доказательств, достоверностью, риском, предлагаемыми командами, исправлениями YAML и следующими шагами.
  • Обнаружение аномалий для CrashLoop, OOM, ImagePull и шаблонов давления узлов.
  • Копировать подсказку чтобы повторно использовать точную информацию о диагностике с предпочитаемой вами моделью.
  • Предназначен для Ollama/локальные модели поэтому контекст кластера может оставаться в вашей сети.

Кластерные события и устранение неполадок ИИ

4. Режим B — Pilot (браузер устранения неполадок SRE)

Pilot — это доступная только для чтения рабочая среда в стиле Lens/Rancher для проверки перед мутацией:

  • Просмотрите развертывания, StatefulSets, DaemonSets, задания, службы, входы, ConfigMaps, секреты, PVC.
  • Рабочая среда Pod: обзор, контейнеры, события, журналы, очищенный YAML, количество перезапусков, время безотказной работы.
  • Индикаторы ресурсов живого кластера (CPU, память, диск) — с поддержкой Longhorn, где это применимо.
  • Холст топологии сервиса: Ingress → Service → Workload → Pod с цветами состояния и портами.
  • Классификация IP-адресов узлов LAN, WAN и туннелей (например, WireGuard/flannel) — не только оверлейный адрес.
  • Туннели с переадресацией портов из пользовательского интерфейса; мультикластерная загрузка kubeconfig и переключение контекста без перезапуска.

Обзор информационной панели пилота с датчиками и IP-адресами узлов

5. Режим C — AutoPilot (фиксатор AI с поручнями безопасности)

AutoPilot замыкает цикл с помощью проверяемого самовосстановления — по умолчанию никогда не применяется «YOLO Apply»:

Контроль Цель
Режимы: выключен/холостой/активныйПредварительный просмотр перед применением; держите автоматику припаркованной, когда это необходимо
Этажи уверенностиПропускайте RCA с низкой степенью достоверности вместо того, чтобы гадать
Черные списки пространств имен и списки разрешенных действийЗащищать пространства имен kube-system/prod; ограничить типы мутаций
Перезарядки и почасовые ограниченияПредотвратить восстановительные штормы
Аварийный выключательПауза в один клик для операторов
Журнал решенийВыполнено, пропущено, эскалировано, не выполнено — контрольный журнал
Эскалация CR-кодаЧеловеческое одобрение рискованных действий

Аномалия AutoPilot для проверяемого рабочего процесса исправления

6. Полная карта функций (с сайта kubepilot.org).

  • Предварительно созданные модули Runbook: семь самоуверенных диагностических рабочих процессов; настраиваемые модули Runbook YAML с горячей перезагрузкой fsnotify (идентификаторы пользователей переопределяют встроенные функции).
  • Прочная история RCA: дополнительный встроенный SQLite (WAL, без CGO) с сохранением отчетов и аномалий при перезапусках.
  • Оповещения и график: предупреждения, события, аномалии, RCA в качестве временной шкалы операций с возможностью поиска; дополнительные карточки инцидентов Slack.
  • Чип здоровья AI: узнайте, что Ollama готов, прежде чем от этого зависит инцидент.
  • Настройки по умолчанию, ориентированные на безопасность: необязательная аутентификация, просмотр только для чтения, шлюзы мутаций, политики CORS.
  • Протокол агента MCP: встроенный сервер MCP для многокластерной оркестровки агентов и программного доступа.
  • Родной компаньон iOS: Приложение SwiftUI — карты здоровья, модули, журналы, RCA, Face ID, виджеты, Siri / App Intents.

7. Варианты установки

Предварительные условия для сборок исходного кода: Go 1.22+, Node.js 18+, доступный кластер + kubeconfig; Ollama рекомендуется для локального ИИ.

7.1 Сборка из исходного кода

git clone https://github.com/bwalia/kubepilot.git
cd kubepilot
make dashboard-install
make dashboard
make build
KUBEPILOT_KUBECONFIG="$HOME/.kube/config" ./dist/kubepilot serve --dashboard-port=8383
# Dashboard/API: http://localhost:8383
# MCP server: :9090

7.2 Helm (кластерная установка)

helm repo add kubepilot https://bwalia.github.io/kubepilot
helm repo update
helm upgrade --install kubepilot kubepilot/kubepilot \
  -n kubepilot --create-namespace
kubectl port-forward svc/kubepilot -n kubepilot 8080:8080
# Open http://localhost:8080

Также поддерживаются: NodePort, Ingress (+ сертификат-менеджер TLS), LoadBalancer и переопределения значений — см. диаграмму README на GitHub.

7.3 Докер

docker run --rm -p 8383:8383 -p 9090:9090 \
  -v "$HOME/.kube:/root/.kube:ro" \
  ghcr.io/kubepilot/kubepilot:latest \
  serve --dashboard-port=8383

7.4 iOS-компаньон

cd ios
brew install xcodegen
./generate.sh
open KubePilot.xcodeproj
# Point the app at http://<server-ip>:8383

8. Рекомендуемая операционная модель

  1. День 0: запустить Pilot только для чтения на непроизводственном кластере; провод Ollama; Подтвердите чип здоровья AI.
  2. День 1: используйте CoPilot AI Analyse на заведомо неисправных модулях; сравните RCA со своими Runbook; настройте запрос копирования на LLM вашей команды.
  3. День 2: включить автопилот в сухой ход только; просмотреть журнал решений за неделю.
  4. День 3+: Сделайте выбранные пространства имен активными с помощью жестких списков разрешений, минимальных уровней доверия и предупреждений Slack; держите kube-system заблокированной.
  5. Всегда: отрепетирован переключатель уничтожения; Путь CR-кода для опасных мутаций; Инструменты MCP для аутентификации (см. нашу краткая информация об агентской безопасности).

9. Контрольный список производства

  • ☐ Аутентификация включена для любой информационной панели, доступной по сети.
  • ☐ Автопилот запускается в режиме пробного хода; активен только после проверки реестра.
  • ☐ Черный список пространств имен включает системные/общие пространства имен.
  • ☐ Почасовые ограничения и время восстановления установлены ниже пороговых значений шторма.
  • ☐ Ollama (или утвержденный путь LLM) контролируется с помощью AI Health.
  • ☐ Интеграция Slack или пейджера для устранения серьезных аномалий.
  • ☐ GitOps по-прежнему сохраняет желаемое состояние — AutoPilot — это тактический фиксатор, а не замена Argo CD/Flux.
  • ☐ Звездные и трековые релизы: github.com/bwalia/kubepilot.

10. Почему TenthMatrix поставляется с открытым исходным кодом

TenthMatrix создает платформы автоматизации для реальных оперативных команд. KubePilot — наша ставка на то, что AIOps работает только тогда, когда диагностика и устранение последствий имеют один и тот же след доказательств. — и когда автоматизация закрыта, как человек, SRE контролирует изменения. Мы публикуем его с открытым исходным кодом, чтобы команды платформы могли запускать его в своих собственных сетях, расширять модули Runbook и подключать агенты MCP без привязки к поставщику.

Начать с kubepilot.org, клон репо, и посмотрите прохождение на Ютуб. Краткое описание компаньона: сообщение в блоге.