DaemonSet (Рекомендуем)
Агент LogKit запускается на каждом узле кластера. Он собирает логи со всех контейнеров, используя Docker API или CRI. Это обеспечивает низкую задержку (p99 < 20ms) и не увеличивает количество подов.
Полное руководство по внедрению LogKit в кластер. DaemonSet, Sidecar, конфигурация Helm и фильтрация по namespace.
Kubernetes меняет подход к логированию. Эфемерные поды, множество контейнеров на одном узле и динамическая природа кластера делают классический подход «логгировать всё на диск» неэффективным.
LogKit решает эту задачу, предлагая гибкую архитектуру, которая интегрируется с жизненным циклом вашего кластера. Мы поддерживаем три основных паттерна интеграции, позволяя выбрать оптимальный для вашего стека.
Выбор правильного паттерна интеграции критичен для производительности и удобства отладки.
Агент LogKit запускается на каждом узле кластера. Он собирает логи со всех контейнеров, используя Docker API или CRI. Это обеспечивает низкую задержку (p99 < 20ms) и не увеличивает количество подов.
Отдельный контейнер с агентом в том же поде, что и ваше приложение. Идеально для изоляции логов приложения от системных, но увеличивает нагрузку на ресурсы узла (CPU/RAM).
Агент работает на хост-системе (hostNetwork: true). Позволяет собирать системные логи (kubelet, journald) и логи контейнеров без использования Docker API. Требует прав root.
Установка LogKit в кластер Kubernetes занимает менее 5 минут.
helm repo add logkit https://charts.logkit.io
helm install logkit logkit/logkit --namespace logkit --create-namespace
kubectl get pods -n logkit
По умолчанию LogKit автоматически обнаруживает все поды в кластере и начинает отправлять логи в ваш инстанс платформы. Для настройки фильтров используйте ConfigMap.
Настройте сбор логов для конкретных сервисов, используя фильтры.
Часто нужно собирать логи только для критических сервисов или исключить системные поды из общего потока. LogKit позволяет это сделать на уровне агента.
Используйте директиву exclude_labels или include_namespaces в конфигурационном файле YAML. Это снижает нагрузку на сеть и ускоряет индексацию.
Самые частые проблемы при внедрении LogKit в Kubernetes.
Агент не может читать логи контейнеров из-за ограничений безопасности (Pod Security Policies). Решение: использовать fsGroup или securityContext с нужными правами.
Агент падает при старте. Проверьте конфигурацию ConfigMap — синтаксис YAML должен быть валидным. Также убедитесь, что агент имеет доступ к API сервера K8s.
Логи пишутся на диск узла, а не сразу в LogKit. Настройте max_size_mb и flush_interval в конфиге агента, чтобы буфер не переполнялся.
Прочитайте полную документацию по интеграции с Kubernetes или свяжитесь с инженерами для настройки Enterprise-решения.