KubeShark: использование LLM в KubernetesВсем привет!
KubeShark –
skill для работы с Kubernetes. Основная его задача –
генерировать и/или исправлять конфигурации в ресурсах.Основная проблема, которую пытался решить Автор –
галлюцинации, которые зачастую случаются при работе LLM с Kubernetes.
Для этого он реализовал следующий подход:
🍭 Изучение контекста. Версия кластера, используемый namespace, окружение, тип ресурса
🍭 Анализ failure modes. Поиск наиболее подходящего из 6 сценариев (небезопасная конфигурация, некорректная работа с ресурсами, проблемы с сетью и т.д.)
🍭 Загрузка сценариев. На основании предыдущего шага выбирается набор подходящих инструкций для диагностики
🍭 Формирование рекомендаций. Предложение по тому, как можно решить выявленные проблемы
🍭 Генерация артефактов. Создание манифестов, Helm Charts, политик и т.д., в которых реализовано предложенное исправление
🍭 Проверка. Dry-run, валидация наработок, проверка консистентности
В итоге получается древовидная структура, которая содержит большое количество разных проверок, применяемых в зависимости от ситуации.
Такой подход, по мнению Автора, сильно сокращает вероятность того, что LLM «добавит что-то от себя».
Примеры задач, которые поможет решить
KubeShark:
создай `deployment` с N репликами, `requests/limits` и `ingress`; проверь конфигурацию на наличие проблем безопасности; создай роль с минимальными привилегиями, для сервиса X, который должен уметь делать Y и т.д.Подробнее про
KubeShark можно прочесть в
GitHub-репозитории или в официальной
документации.