Tetragon#
Tetragon - инструмент безопасности, аудита и мониторинга уровня процессов в Kubernetes. Он использует технологию eBPF для отслеживания системных вызовов (syscalls), выполнения команд, сетевой активности и других событий внутри контейнеров и хостовых систем без необходимости модификации приложений.
Основные задачи и возможности
Отслеживание выполнения команд (
exec tracing): регистрирует запуск бинарных файлов внутри pod, что позволяет выявлять подозрительную активность (например, запускbash,wgetилиnc).Контроль безопасности с помощью политик eBPF: позволяет блокировать или предупреждать о выполнении определенных команд по правилам (например, запретить
straceилиtcpdump).Аудит и сбор событий в реальном времени: генерирует события аудита, которые могут быть отправлены в SIEM-системы, Loki, Kafka или другие системы анализа.
Интеграция с Cilium и Hubble: работает как часть экосистемы Cilium, дополняя сетевую безопасность детальной видимостью на уровне ОС.
Низкий уровень накладных расходов: использование eBPF обеспечивает высокую эффективность и масштабируемость, даже в больших кластерах.
Поддержка Kubernetes-native подхода: политики и конфигурации управляются через CRD, что позволяет применять их декларативно, как обычные манифесты.
Примечание
Tetragon не является инструментом по умолчанию в компоненте Security. Его можно установить как инструмент (Tool) или явно включить в список spec.tools при установке компонента Security.
Конфигурация values#
Значения можно переопределить через редактирование инструмента с именем tetragon и указанием нужных values в spec.values. Общее описание конфигурации values для инструментов описано в разделе «Конфигурации инструментов дополнительных компонентов».
affinity – правила привязки (affinity и anti-affinity) pod к узлам
extraConfigmapMounts – дополнительные монтирования ConfigMap
daemonSetLabelsOverride – переопределяемые метки для DaemonSet
crds – настройки установки и обновления Custom Resource Definitions (CRD)
enabled – включение установки чарта#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение установки чарта целиком |
|
imagePullSecrets – Secret для загрузки образов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Список |
|
priorityClassName – имя класса приоритета pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Имя |
|
imagePullPolicy – политика загрузки образа#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Политика загрузки контейнерных образов. |
|
serviceAccount – настройки сервисного аккаунта#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Автоматическое создание |
|
|
Аннотации, добавляемые ко всем создаваемым ресурсам |
|
|
Имя |
|
podAnnotations – дополнительные аннотации для pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Дополнительные аннотации, добавляемые на pod |
|
podSecurityContext – параметры контекста безопасности pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Параметры контекста безопасности pod |
|
nodeSelector – селектор узлов для планирования pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Селектор узлов для планирования pod |
|
tolerations – параметры Toleration для pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
|
|
affinity – правила привязки (affinity и anti-affinity) pod к узлам#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Настройки правила привязки ( |
|
extraHostPathMounts – дополнительные hostPath-монтирования#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Дополнительные монтирования |
|
extraConfigmapMounts – дополнительные монтирования ConfigMap#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Дополнительные монтирования |
|
daemonSetAnnotations – аннотации для DaemonSet#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Аннотации, применяемые к |
|
extraVolumes – дополнительные тома (Volume)#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Дополнительные тома ( |
|
updateStrategy – стратегия обновления ресурсов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Стратегия обновления ресурса |
|
podLabels – дополнительные метки для pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Дополнительные метки, добавляемые на pod |
|
daemonSetLabelsOverride – переопределяемые метки для DaemonSet#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Набор меток, полностью или частично переопределяющий метки |
|
selectorLabelsOverride – переопределяемые selector-метки#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Набор меток для переопределения selector-меток ресурсов |
|
podLabelsOverride – переопределяемые метки для pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Набор меток для переопределения меток pod |
|
serviceLabelsOverride – переопределяемые метки для Service#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Набор меток для переопределения меток |
|
dnsPolicy – политика DNS для pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Политика разрешения DNS для pod. |
|
exportDirectory – каталог для JSON-экспорта событий#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Путь внутри pod, в который записываются файлы экспорта событий в формате JSON |
|
hostNetwork – использование сети хоста#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение запуска pod в сети хоста; требуется для корректной видимости процессов |
|
tetragon – настройки агента#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение развертывания агента |
|
|
Переопределение базового имени ресурсов чарта для генерации имен |
|
|
Полное переопределение образа контейнера агента |
|
|
Полный путь к репозиторию образа агента, формируется с использованием глобальных значений платформы |
|
|
Тег образа контейнера |
|
|
Запросы и ограничения ресурсов для контейнера |
|
|
Дополнительные аргументы командной строки для контейнера |
|
|
Переменные окружения контейнера. |
|
|
Включение добавления аннотаций на pod агента |
|
|
Список дополнительных точек монтирования томов ( |
|
|
Запуск контейнера в привилегированном режиме |
|
|
Настройка параметров проверки работоспособности контейнера. |
|
|
Размер LRU-кеша процессов ( |
|
|
Включение режима отладки агента |
|
|
Имя файла JSON-экспорта; при пустом значении JSON-экспорт в файл отключен |
|
|
Права доступа к файлу JSON-экспорта в строковом виде; обычно |
|
|
Размер файла JSON-экспорта в мегабайтах, после которого выполняется ротация |
|
|
Количество ротированных файлов JSON-экспорта, сохраняемых на диске |
|
|
Сжатие ротированных файлов JSON-экспорта |
|
|
Лимит экспорта событий в минуту; значение |
|
|
Cписок разрешенных событий ( |
|
|
Cписок запрещенных событий ( |
|
|
Фильтры включения и исключения полей событий. При наличии хотя бы одного фильтра включения остальные поля по умолчанию исключаются. Пути полей указываются через точку ( |
|
|
Фильтры маскирования секретов в полях |
|
|
Имя кластера, устанавливаемое в поле |
|
|
Разрешение обращения к интерфейсу прикладного программирования (API) Kubernetes для связывания событий с pod |
|
|
Включение видимости Linux |
|
|
Включение видимости пространств имен в exec- и kprobe-событиях |
|
|
Список через запятую типов событий процессов, для которых включается сбор сведений о предках; поддерживаемые типы: |
|
|
Абсолютный путь к BTF-файлу (BPF Type Format) для явной передачи через опцию |
|
|
Переопределение команды запуска контейнера; для опытных пользователей |
|
|
Переопределение аргументов запуска контейнера; для опытных пользователей |
|
|
Включение экспорта метрик |
|
|
Адрес, на котором публикуются метрики; при пустом значении метрики публикуются на всех доступных интерфейсах |
|
|
Порт, на котором публикуются метрики |
|
|
Список через запятую разрешенных меток метрик; поддерживаются |
|
|
Активация создания |
|
|
Набор меток для переопределения меток ресурса |
|
|
Дополнительные метки для |
|
|
Интервал сбора метрик; при отсутствии значения используется глобальный интервал Prometheus |
|
|
Включение публикации gRPC-интерфейса |
|
|
Адрес публикации gRPC, например |
|
|
Включение публикации gops-сервера (инструмента диагностики процессов Go) |
|
|
Адрес публикации gops-сервера |
|
|
Порт публикации gops-сервера |
|
|
Включение публикации pprof-сервера (инструмента профилирования Go) |
|
|
Адрес публикации pprof-сервера |
|
|
Порт публикации pprof-сервера |
|
|
Включение фильтра политик; требуется для фильтрации по пространствам имен и меткам pod |
|
|
Включение cgroup map для фильтра политик |
|
|
Включение отладочных сообщений фильтра политик |
|
|
Включение мониторинга задержек обработки сообщений |
|
|
Включение |
|
|
Порт публикации |
|
|
Интервал проверки состояния агента |
|
|
Путь к файловой системе |
|
|
Количество повторных попыток в кеше событий |
|
|
Задержка в секундах между повторными попытками в кеше событий |
|
|
Сохранение политики принудительного применения активной даже после завершения процесса агента |
|
|
Интервал запуска сборщика мусора кеша процессов (с суффиксом |
|
|
Настройка pod для доступа к CRI (Container Runtime Interface), работающему на хосте |
|
|
Путь на хосте к сокету CRI; для containerd — |
|
|
Использование идентификатора cgroup вместо имен cgroup для связывания pod; зависит от включенного CRI |
|
|
Использование кольцевого буфера |
|
tetragonOperator – настройки Tetragon Operator#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение развертывания оператора |
|
|
Переопределение базового имени ресурсов чарта для генерации имен |
|
|
Количество реплик pod |
|
|
Включение механизма автоматического переключения на основе |
|
|
Пространство имен, в котором создается ресурс |
|
|
Длительность, после которой при отсутствии продления |
|
|
Интервал, с которым лидер продлевает |
|
|
Пауза между повторными попытками продления |
|
|
Аннотации, добавляемые ко всем создаваемым ресурсам |
|
|
Аннотации для pod оператора |
|
|
Дополнительные метки для |
|
|
Дополнительные метки для pod оператора |
|
|
Имя |
|
|
Автоматическое создание |
|
|
Аннотации, добавляемые ко всем создаваемым ресурсам |
|
|
Имя |
|
|
Параметры контекста безопасности pod |
|
|
Активация разрешения на эскалацию привилегий в контейнере |
|
|
Список возможностей ( |
|
|
Настройки контекста безопасности контейнера (устаревший параметр; используйте |
|
|
Ограничение ресурсов CPU для контейнера |
|
|
Ограничение ресурсов памяти для контейнера |
|
|
Запрашиваемые ресурсы CPU для контейнера |
|
|
Запрашиваемые ресурсы памяти для контейнера |
|
|
Тип стратегии обновления |
|
|
Максимальное количество дополнительных pod при обновлении (стратегия |
|
|
Максимальное количество недоступных pod при обновлении |
|
|
Селектор узлов для планирования pod |
|
|
|
|
|
Предпочтительные правила |
|
|
Полное переопределение образа контейнера оператора |
|
|
Полный путь к репозиторию образа оператора, формируется с использованием глобальных значений платформы |
|
|
Тег образа контейнера |
|
|
Политика загрузки образа |
|
|
Дополнительные тома ( |
|
|
Список дополнительных точек монтирования томов ( |
|
|
Принудительное обновление Custom Resource Definitions (CRD) при работе оператора |
|
|
Включение CRD |
|
|
Включение создания CRD |
|
|
Включение метрик оператора |
|
|
Адрес публикации метрик; при пустом значении метрики публикуются на всех доступных интерфейсах |
|
|
Порт публикации метрик |
|
|
Активация создания |
|
|
Набор меток для переопределения меток ресурса |
|
|
Дополнительные метки для |
|
|
Интервал сбора метрик; при отсутствии значения используется глобальный интервал Prometheus |
|
export – настройки экспорта событий#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Режим экспорта событий; значение |
|
|
Запросы и ограничения ресурсов для контейнера |
|
|
Настройки контекста безопасности контейнера экспорта |
|
|
Список файлов, которые отслеживает Fluentd для экспорта |
|
|
Дополнительные переменные окружения для контейнера |
|
|
Источники переменных окружения ( |
|
|
Упрощенный способ добавления ссылок на |
|
|
Добавление команды в manifest для контейнера |
|
|
Добавление аргументов в manifest для контейнера |
|
|
Переопределение команды контейнера |
|
|
Переопределение аргументов контейнера |
|
|
Список дополнительных точек монтирования томов ( |
|
|
Полное переопределение образа контейнера |
|
|
Полный путь к репозиторию образа сайдкар-контейнера |
|
|
Тег образа контейнера |
|
crds – настройки установки и обновления Custom Resource Definitions (CRD)#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Метод установки CRD. Метод |
|
rthooks – настройки хуков среды исполнения#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включение |
|
|
Переопределение базового имени ресурсов чарта для генерации имен |
|
|
Метод установки хуков среды исполнения. |
|
|
Аннотации, добавляемые ко всем создаваемым ресурсам |
|
|
Дополнительные метки для |
|
|
Аннотации для pod |
|
|
Имя |
|
|
Параметры контекста безопасности pod |
|
|
Путь на хосте, куда устанавливается бинарный файл |
|
|
Список через запятую пространств имен, для которых разрешено создание pod при недоступности |
|
|
Список дополнительных точек монтирования томов ( |
|
|
Запросы и ограничения ресурсов для контейнера |
|
|
Дополнительные аргументы, передаваемые в |
|
|
Каталог, в который устанавливается JSON-файл запуска хука для интерфейса |
|
|
Путь к сокету NRI для интерфейса |
|
|
Полное переопределение образа контейнера |
|
|
Репозиторий образа |
|
|
Тег образа контейнера |
|
|
Имя |
|