K8sGPT#

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

Основные задачи и возможности
  • Диагностика состояния кластера: сканирование кластера для выявления ошибок конфигурации и аномалий в состоянии Pod, Deployment, Service, политик безопасности и других объектов Kubernetes.

  • Анализ на основе ИИ: использование генеративных моделей для интерпретации технических данных и формирования понятных рекомендаций по устранению неполадок.

  • Поддержка естественного языка (NLP): предоставление результатов анализа и рекомендаций на английском языке в доступной для восприятия форме.

  • Автоматизация сканирования: поддержка как ручного запуска проверок, так и автоматического сканирования по расписанию для обеспечения непрерывного мониторинга.

  • Модульная система анализаторов: наличие набора предустановленных анализаторов для различных компонентов Kubernetes с возможностью их выборочного включения или отключения.

  • Интеграция со стеком наблюдаемости: экспорт результатов анализа во внешние системы мониторинга (например, Prometheus и Grafana) для визуализации и настройки алертинга.

Примечание

K8sGPT устанавливается по умолчанию в составе «AIOps». В процессе установки автоматически создается один Custom Resource (CR) K8sGPT с именем dapp-sre-ai-agent в пространстве имен dapp-aiops. При необходимости пользователи могут создавать дополнительные ресурсы K8sGPT напрямую, применяя соответствующие манифесты Kubernetes.

Конфигурация values#

Значения доступны для переопределения через редактирование инструмента с именем k8sgpt и указанием нужных values в spec.values. Общее описание конфигурации values для инструментов описано в разделе «Конфигурации инструментов дополнительных компонентов».

ai – настройки искусственного интеллекта#

Параметр

Описание

Значение по умолчанию

ai.enabled

Активация функций искусственного интеллекта в K8sGPT для выполнения анализа

true

ai.model

Выбор модели искусственного интеллекта для анализа.
Возможные значения: gpt-3.5-turbo, gpt-4, noopmodel и др.

noopmodel

ai.backend

Конфигурация бэкенда для подключения к сервисам ИИ.
Возможные значения: openai, localai, azureopenai, cohere, amazonbedrock, googlegem и др.

localai

ai.secret

Secret с учетными данными для аутентификации у провайдера ИИ

{}

ai.language

Язык объяснений от ИИ

russian

analysis – параметры периодического сканирования#

Параметр

Описание

Значение по умолчанию

analysis.interval

Интервал автоматического сканирования кластера.
Возможные значения: 30s, 5m, 1h

5m

customAnalyzers – пользовательские анализаторы#

Параметр

Описание

Значение по умолчанию

customAnalyzers

Список пользовательских анализаторов для расширения функциональности K8sGPT

[]

image – параметры контейнерного образа#

Параметр

Описание

Значение по умолчанию

image.repository

Путь к репозиторию контейнерного образа K8sGPT с поддержкой шаблонов Helm

'{{ .Values.global.image.registry }}/{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-k8sgpt/k8sgpt'

image.tag

Тег образа контейнера

v0.4.35

imagePullPolicy – политика загрузки образа#

Параметр

Описание

Значение по умолчанию

imagePullPolicy

Политика загрузки образа.
Возможные значения: Always, IfNotPresent, Never

IfNotPresent

gpt2giga – интеграция с GigaChat#

Параметр

Описание

Значение по умолчанию

gpt2giga.image.repository

Путь к репозиторию образа конвертера запросов GPT в формат GigaChat с поддержкой шаблонов Helm

'{{ .Values.global.image.registry }}/{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-gpt2giga/gpt2giga'

gpt2giga.image.tag

Тег образа конвертера запросов

v0.1.7

noCache – управление кешированием#

Параметр

Описание

Значение по умолчанию

noCache

Отключение кеширования результатов анализа. При значении true кеш не используется

false

filters – перечень ресурсов для анализа#

Параметр

Описание

Значение по умолчанию

filters

Список ресурсов Kubernetes, подлежащих проверке анализатором

- Deployment
- Pod
- DaemonSet
- StatefulSet
- Service
- Node
- Job
- CronJob
- ReplicaSet

sink – конфигурация экспорта результатов#

Параметр

Описание

Значение по умолчанию

sink

Настройка экспорта результатов анализа во внешние системы.
Возможные значения: Slack, webhook и др.

{}

integrations – интеграции со сторонними платформами#

Параметр

Описание

Значение по умолчанию

integrations

Конфигурация интеграций с инструментами мониторинга и безопасности (Prometheus, Trivy и др.)

{}

extraOptions – дополнительные параметры#

Параметр

Описание

Значение по умолчанию

extraOptions

Дополнительные параметры конфигурации K8sGPT, не охваченные основными настройками

{}

kubeconfig – параметры подключения к кластеру#

Параметр

Описание

Значение по умолчанию

kubeconfig

Параметры подключения к кластеру, включая пути к файлам kubeconfig. По умолчанию используется режим in-cluster

{}

nodeSelector – селектор узлов для планирования pod#

Параметр

Описание

Значение по умолчанию

nodeSelector

Селектор узлов для планирования pod

{}

remoteCache – распределенный кеш#

Параметр

Описание

Значение по умолчанию

remoteCache

Конфигурация удаленного кеширования результатов анализа

{}

resources – запросы и лимиты ресурсов контейнера#

Параметр

Описание

Значение по умолчанию

resources

Запросы и ограничения ресурсов для pod

{}

gigaChatConfig – параметры интеграции с GigaChat API#

Параметр

Описание

Значение по умолчанию

gigaChatConfig.verifySslCerts

Активация проверки SSL-сертификатов при подключении к API GigaChat

true

gigaChatConfig.scope

Область доступа (scope) к API GigaChat

"GIGACHAT_API_PERS"

gigaChatConfig.baseUrl

Базовый URL для доступа к API GigaChat

"https://api.giga.chat/v1"

gigaChatConfig.maxConnection

Максимальное количество одновременных подключений к API GigaChat

10

imagePullSecrets – Secret для загрузки образов#

Параметр

Описание

Значение по умолчанию

imagePullSecrets

Список Secret для загрузки образа контейнера из приватных реестров

[]