K8sGPT#
K8sGPT - это инструмент, сочетающий искусственный интеллект и экспертные знания SRE, предназначенный для диагностики и устранения проблем в Kubernetes-кластерах. Он анализирует состояние кластера и предоставляет результаты на понятном языке, помогая разработчикам и операторам быстрее находить и решать проблемы.
Основные задачи и возможности
Диагностика состояния кластера:
Сканирует кластер и выявляет ошибки в состоянии pod,
Deployment,Service, политик безопасности и других объектов Kubernetes.Интеграция ИИ для анализа и интерпретации данных:
Использует генеративные модели ИИ для упрощения и уточнения выводов, делая их более понятными и информативными для пользователей.
Поддержка естественного языка (NLP):
Предоставляет результаты анализа на простом английском языке, что позволяет даже новичкам быстро понять суть проблемы.
Автоматизация поиска проблем:
Позволяет автоматически проверять кластер по заданному расписанию или вручную, обеспечивая непрерывное наблюдение за его состоянием.
Работа с множеством анализаторов:
Включает в себя преднастроенные анализаторы для разных компонентов Kubernetes, которые можно включать или отключать в зависимости от потребностей.
Непрерывная диагностика состояния кластера:
K8sGPT сканирует кластер и выявляет потенциальные проблемы, такие как неработающие pods, ошибки конфигурации и другие аномалии, используя заранее определенные анализаторы.
Интеграция с внешними системами наблюдаемости:
Обеспечивает связь с такими инструментами, как Prometheus и Grafana, для отправки результатов анализа и визуализации проблем.
Примечание
K8sGPT устанавливается по умолчанию с компонентом AIOps, в результате создается один CR K8sGPT с именем dapp-sre-ai-agent в namespace dapp-aiops. При этом, пользователь может создавать и другие ресурсы K8sGPT напрямую, уже без участия инструмента K8sGPT.
Конфигурация values#
Значения можно переопределить через редактирование инструмента с именем k8sgpt и указанием нужных values в spec.values. Общее описание конфигурации values для инструментов описано в разделе «Конфигурации инструментов дополнительных компонентов».
ai - настройки интеграции с искусственным интеллектом#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение/отключение функций AI в K8sGPT. При включении активируются возможности анализа с использованием ИИ |
|
|
Модель искусственного интеллекта для анализа. Поддерживаются различные модели: gpt-3.5-turbo, gpt-4, noopmodel и другие |
|
|
Бэкенд для подключения к AI-сервисам. Доступные варианты: |
|
|
Секрет для аутентификации с AI-провайдером. Содержит API-ключи и другие учетные данные |
|
|
Язык для получения объяснений от AI. Поддерживаются различные языки включая русский, английский, французский и другие |
|
analysis - настройки анализа кластера#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Интервал выполнения анализа кластера. Определяет частоту автоматического сканирования (например: |
|
customAnalyzers - пользовательские анализаторы#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Список пользовательских анализаторов для расширения функциональности K8sGPT. Позволяет добавлять специализированные проверки |
|
image - настройки Docker образа#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Полный путь к образу K8sGPT в реестре Docker. Использует шаблонизацию для динамического построения пути |
|
|
Тег версии образа K8sGPT для развертывания |
|
imagePullPolicy - политика загрузки образа#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Политика загрузки образа Docker. Возможные значения: |
|
noCache - управление кешированием#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Отключение кеширования результатов анализа. При |
|
filters - фильтры ресурсов для анализа#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Фильтр для анализа ресурсов типа |
|
|
Фильтр для анализа ресурсов типа |
|
|
Фильтр для анализа ресурсов типа |
|
|
Фильтр для анализа ресурсов типа |
|
|
Фильтр для анализа ресурсов типа |
|
|
Фильтр для анализа ресурсов типа |
|
|
Фильтр для анализа ресурсов типа |
|
|
Фильтр для анализа ресурсов типа |
|
|
Фильтр для анализа ресурсов типа |
|
sink - настройки вывода результатов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Конфигурация для отправки результатов анализа во внешние системы ( |
|
integrations - интеграции с внешними инструментами#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Настройки интеграций с инструментами мониторинга и безопасности (Prometheus, Trivy и другие) |
|
extraOptions - дополнительные опции#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Дополнительные параметры конфигурации для K8sGPT, не входящие в основные настройки |
|
kubeconfig - конфигурация доступа к кластеру#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Настройки для подключения к кластеру Kubernetes, включая пути к kubeconfig-файлам. По умолчанию работает в режиме |
|
nodeSelector - селектор узлов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Селектор узлов для размещения pods K8sGPT. Позволяет ограничить узлы для развертывания |
|
remoteCache - удаленное кеширование#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Настройки удаленного кеширования результатов анализа для повышения производительности |
|
resources - ресурсы для подов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Ограничения ресурсов CPU и памяти для pods K8sGPT ( |
|
imagePullSecrets - секреты для загрузки образов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Список секретов для аутентификации в приватных реестрах Docker при загрузке образов |
|