Нежное введение в K8sGPT: ваш помощник в отладке Kubernetes

Нежное введение в K8sGPT: ваш помощник в отладке Kubernetes

12 января 2024 г.

Добро пожаловать в этот выпуск информационного бюллетеня функции активации.

Для тех из вас, кто новичок, это довольно просто: каждую неделю я знакомлю вас с новой интересной серверной технологией с открытым исходным кодом (о которой вы, вероятно, только слышали) и объясняю ее вам за 5 или 5 минут. меньше, чтобы вы могли принимать более обоснованные технические решения в дальнейшем.

В этом выпуске мы рассмотрим K8sGPT, инструмент с открытым исходным кодом, который сочетает в себе экспертные знания и генеративный искусственный интеллект, чтобы помочь вам идентифицировать, понять и устранить неполадки в вашем кластере Kubernetes на простом английском языке.

Прежде чем вы отметите это как «просто еще одну оболочку ChatGPT», позвольте мне заверить вас, что это не так. Это нечто большее. Я думаю, что это продуманное внедрение GenAI, способное принести ощутимую пользу и сделать вашу жизнь немного проще.

Хорошо, давайте копаться!

Краткая информация:

  • K8sGPT был представлен на KubeCon Amsterdam 2023.
  • K8sGPT имеет открытый исходный код под лицензией Apache-2.0.
  • K8sGPT был принят в CNCF 19 декабря 2023 г. на уровне зрелости песочницы.
  • У K8sGPT теперь более 4 тысяч звезд GitHub и 50 участников.

Введение

В течение многих лет мы использовали машинное обучение для APM и Observability, чтобы выявлять закономерности, тенденции и аномалии (например, изменения поведения в приложениях или инфраструктуре), прогнозировать проблемы с производительностью, генерировать ранние предупреждения и т. д.

Но до сих пор это не помогло нам понять и устранить проблемы.

История выглядит примерно так.

Вы получаете предупреждение от своего инструмента мониторинга с поддержкой машинного обучения, а затем тратите много времени на просмотр и интерпретацию сложных сообщений об ошибках, пытаясь передать их своей команде и повторяя шаги по исправлению, пока не устраните проблему.

Входит в K8sGPT. Его основная функция — помочь вам быстро определить и устранить проблемы, давая подсказки и ярлыки на простом английском языке. Это достигается за счет использования экспертных знаний, обработки естественного языка (НЛП) и генеративного искусственного интеллекта.

Как работает K8sGPT

K8sGPT Architecture

K8sGPT использует Анализаторы, содержащие систематизированные знания, которые по сути представляют собой серию правил/проверок, которые опытный инженер по надежности сайта (SRE) может использовать для диагностики проблем Kubernetes, таких как сбои модулей, сбои служб и неправильные входные конфигурации. и т. д.

K8sGPT pvcAnalyzer Encoded Expert Knowledge

Мысль: Было правильным решением не использовать GenAI на этом этапе, чтобы предотвратить спекулятивные догадки, галлюцинации и, в конечном итоге, много шума.

Как только K8sGpT подключится к вашему кластеру Kubernetes через API-сервер, Анализаторы начнут сканировать ваш кластер и просматривать журналы, сообщения об ошибках, конфигурации и состояние модуля для выявления потенциальных проблем.

Техническое примечание. K8sGPT имеет набор встроенных анализаторов, но вы уметь писать свои анализаторы.

Затем он пытается сопоставить проблемы и при необходимости запустить дополнительные проверки, чтобы добавить больше контекста и выяснить основную причину, прежде чем упаковывать данные и отправлять их поставщику серверной части ИИ, чтобы получить простой и описательный текст проблемы и возможные шаги по ее устранению.< /п>

K8sGPT CLI Result Output

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

Начало работы с K8sGPT

Самый простой способ начать — использовать установку через интерфейс командной строки. запустив команду Brew на Linux/Mac или загрузив бинарный файл Windows, если вы используете Windows.

После установки вам необходимо аутентифицировать выбранный вами ИИ-сервер и через несколько минут вы будете готовы запустить первое сканирование.

Техническое примечание. K8sGPT предназначен для работы с различными поставщиками ИИ, включая OpenAI, Cohere, Amazon Bedrock, Amazon SageMaker, Azure OpenAI , Google Gemini и LocalAI.

Вы можете узнать, как настроить различные серверные части здесь.

После того, как все настроено, вы можете начать использовать K8sGPT непосредственно из интерфейса командной строки, используя следующий набор команд:‍

Usage:
  k8sgpt [command]

Available Commands:
  analyze     This command will find problems within your Kubernetes cluster
  auth        Authenticate with your chosen backend
  cache       For working with the cache the results of an analysis
  completion  Generate the autocompletion script for the specified shell
  filters     Manage filters for analyzing Kubernetes resources
  generate    Generate Key for your chosen backend (opens browser)
  help        Help about any command
  integration Integrate another tool into K8sGPT
  serve       Runs k8sgpt as a server
  version     Print the version number of k8sgpt

Flags:
      --config string        Default config file (default is $HOME/.k8sgpt.yaml)
  -h, --help                 help for k8sgpt
      --kubeconfig string    Path to a kubeconfig. Only required if out-of-cluster.
      --kubecontext string   Kubernetes context to use. Only required if out-of-cluster.

Use "k8sgpt [command] --help" for more information about a command.

[Техническое примечание] Скоро вы сможете выполнять отладку в интерактивном режиме, задавая K8sGPT вопросы о любой проблеме непосредственно в интерфейсе командной строки. Что касается написания, эта функция неактивна.

K8sGPT Interactive Debugging Mode Preview

Оператор K8sGPT

K8sGPT Operator Architecture

K8sGPT также можно установить в качестве оператора в вашем кластере Kubernetes. Используя оператор K8sGPT, вы сможете постоянно сканировать свой кластер на наличие ошибок.

Оператор K8sGPT работает, используя пользовательские ресурсы Kubernetes и создавая отчеты, которые он сохраняет в вашем кластере в виде манифестов YAML. .

[Техническое примечание] Вы можете кэшировать результаты локально или выгрузить их в удаленное место, например AWS S3.

Вы также можете легко настроить анализ и выходные данные оператора в соответствии с вашими потребностями и рабочим процессом. Например, вы указываете определенное пространство имен или ресурс и определенный формат вывода, например JSON. Благодаря этому K8sGPT легко интегрируется в ваши конвейеры CI/CD и другие рабочие процессы.

Интеграция

K8sGPT интегрируется с такими инструментами наблюдения, как Grafana и Prometheus, но самое интересное то, что он предлагает функцию интеграции это позволяет вам расширить возможности сканирования и устранения неполадок, написав собственные плагины, которые соединят его с другими инструментами.

Первый вариант, предложенный основной командой, — это плагин Trivy, который позволяет создавать сканирование уязвимостей в рамках ваш анализ и использование искусственного интеллекта, чтобы помочь вам понять и классифицировать распространенные уязвимости и уязвимости (CVE).

Безопасность и усиление; Конфиденциальность

Хорошо! Я уверен, что это первое или второе, что пришло вам на ум, когда вы услышали, что K8sGPT отправляет ваши данные во внешний AI-API.

Что ж, команда K8sGPT подумала об этом и разработала изящную небольшую функцию под названием анонимизация, которая маскирует конфиденциальные данные, такие как имена и метки объектов Kubernetes, перед отправкой их на серверную часть AI для анализа.

Все, что вам нужно сделать, это использовать флаг анонимизации:

k8sgpt анализировать --объяснять --анонимизировать

В ходе анализа k8sGPT извлекает конфиденциальные данные и маскирует их перед отправкой на серверную часть AI. Как только решение будет возвращено, замаскированные данные заменяются фактическими именами и метками объектов Kubernetes.

Куда идти дальше?

K8sGPT все еще находится в зачаточном состоянии и быстро развивается благодаря активному сообществу участников. На момент написания статьи на горизонте появилась интересная новая функция — интерактивный режим отладки, который позволяет задавать вопросы прямо в терминале.

На горизонте также находятся автоматическое исправление Kubernetes с помощью K8sGPT, Karpenter, глубокая интеграция с сервисами AWS и новые серверные части таких сервисов, как Hugging Face.

Если вы хотите углубиться в K8sGPT, вот несколько ресурсов для вас:

Документация и amp; Репозитории

Руководства

Переговоры

Сообщества

На кого подписаться

  • Алекс Джонс (создатель K8sGPT) в Linkedin и X
  • K8sGPT в LinkedIn и Х
  • Томас Шутц (сопровождающий) в Linkedin и X
  • Мэттис Холлевиль (сопровождающий) в Linkedin и X

Это обертка! Я надеюсь, что это дало вам хороший обзор K8sGPT и того, как Gen AI может немного облегчить вашу жизнь при устранении неполадок в кластерах Kubernetes. Если вы хотите быстро опробовать K8sGPT, предлагаю вам ознакомиться с этим руководством по песочнице.

До новых встреч!


Также опубликовано здесь.


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE