Полное руководство по утилите KDT
Дата обновления: 14.07.2026
KDT (Kaspersky Deployment Tool) - это основной инструмент командной строки для установки, обновления, настройки и обслуживания компонентов Kaspersky XDR Expert в кластере Kubernetes.
1. Основы и глобальное поведение
Прежде чем запускать команды, важно понимать, как работает KDT. Глобальные флаги указываются перед основной командой:
./kdt [ГЛОБАЛЬНЫЕ_ФЛАГИ] <команда> [ФЛАГИ_КОМАНДЫ]
Полезные глобальные флаги:
-v(--version): Показать версию и завершить работу.-p(--keep-log): Сохранить временные файлы логов (полезно для отладки).--no-progress: Скрыть индикатор прогресса (удобно для CI/CD пайплайнов).
Важные особенности:
- Предварительные проверки: Перед выполнением большинства команд KDT проверяет аппаратное обеспечение, ОС, сеть и наличие установленного Bootstrap.
- Коды возврата:
0— успех.1— общая ошибка или провал валидации.2— прерывание по сигналу SIGINT (Ctrl+C). Обратите внимание: в KDT используется код2, а не стандартный130.12— ошибка драйвера выполнения контейнеров.
2. Сценарий первоначального развертывания
Рекомендуемый путь установки состоит из двух этапов: генерация конфигурации и ее применение.
Шаг 1: Интерактивный мастер (wizard)
Вместо ручного написания YAML-файла используйте встроенный мастер. Он задаст все необходимые вопросы: от топологии узлов (primary/worker) и SSH-ключей до строки подключения к PostgreSQL и требований к паролю администратора.
./kdt wizard -k xdr-2.1.tar -o deployment.yaml
Требования к паролю администратора XDR: 10–256 символов, минимум 3 категории (верхний/нижний регистр, цифры, спецсимволы), без пробелов и комбинации
.@.Шаг 2: Применение конфигурации (apply)
После генерации файла запустите развертывание. Флаг
--accept-eula позволяет выполнить установку в полностью автоматическом (неинтерактивном) режиме../kdt apply -k xdr-2.1.tar -i deployment.yaml --accept-eula
3. Повседневное администрирование
После успешной установки вам потребуются команды для управления состоянием системы.
Проверка состояния и логи
- Список компонентов:
./kdt state --list(или короткий алиас./kdt s --list). Добавьте--with-deps, чтобы увидеть зависимости. - Детальный лог компонента:
./kdt state --log backup-operator - Получение логов контейнеров:
./kdt logs get --app kuma --last 24h --destination ./kuma_logs.txt # или короткий алиас: ./kdt l --app kuma --last 24h
Выполнение действий над компонентами (invoke)
Команда
invoke позволяет вызывать специфичные для компонентов действия (например, изменение размера дисков, настройка бэкапов, смена IP).Примеры:
# Настроить NFS-хранилище для бэкапов
./kdt invoke backup-operator -a setBackupStore --param backup_target_url="nfs://storage.local:/backups"
# Создать ручной бэкап с хранением 5 копий
./kdt invoke backup-operator -a createBackup --param backup_retain=5
# Изменить ingress-IP шлюза
./kdt invoke gateway -a changeIngressIP --param ingress_ip="192.168.1.100"
# Увеличить диск KUMA Core
./kdt invoke kuma -a setCorePvcSize --param core_disk_request="500Gi"
Чтобы узнать, какие действия доступны для компонента, используйте:
./kdt describe <имя_компонента> (алиас ./kdt d).Резервное копирование и восстановление состояния (state)
KDT позволяет делать снапшоты внутренней базы данных состояний:
# Создание бэкапа состояния
./kdt state --backup state_backup.tar
# Восстановление состояния (с опциональной очисткой старых данных)
./kdt state --restore --from-backup state_backup.tar --wipe
# Ротация ключа шифрования statedb
./kdt state --rotate-secret
4. Работа в изолированных контурах (Air-Gap)
Для сред без доступа к интернету используется отдельная утилита
kdt-airgap-preparation. Процесс состоит из трех четких этапов:- Сканирование (
scan): Выполняется на целевом изолированном узле. Создает файл инвентаризации с перечнем недостающих пакетов.kdt-airgap-preparation scan -k ~/.ssh/id_rsa -c config.yaml --airgap -i nodes-airgap.yaml - Загрузка (
pull): Файлnodes-airgap.yamlпереносится на машину с интернетом. Утилита скачивает все зависимости и упаковывает их в TAR-архив.kdt-airgap-preparation pull -n nodes-airgap.yaml -a airgap-packages.tar - Установка (
install): Архив переносится обратно в изолированный контур и развертывается на целевых узлах через SSH.kdt-airgap-preparation install -a airgap-packages.tar -k ~/.ssh/id_rsa
После этого можно запускать стандартный
./kdt apply.5. Продвинутые возможности и отладка
Управление контекстами (ctx)
Если вы обслуживаете несколько кластеров XDR, KDT позволяет переключаться между ними, подобно
kubectl config use-context:./kdt ctx # Показать список и активный контекст
./kdt ctx prod-cluster # Переключиться на prod
./kdt ctx new-cluster --create # Создать новый (завершится после apply)
Распределенная трассировка (traces)
Для глубокой диагностики проблем производительности можно запросить трассировки:
./kdt traces find --output traces.json --service-name kuma --min-duration 100ms --num-traces 10
Экспорт текущей конфигурации
Отличный способ задокументировать текущее состояние кластера или подготовить базу для миграции:
./kdt export-config --filename current_config.yaml
# или короткий алиас:
./kdt ec -e current_config.yaml
6. Полезные переменные окружения
Поведение KDT можно гибко настраивать без изменения командной строки:
| Переменная | Значение по умолчанию | Описание |
| KDT_YES | (не задана) | Установите 1 для автоматического подтверждения всех запросов (идеально для Ansible/CI/CD). |
| KDT_HOME | ~/.kdt | Позволяет изменить домашнюю директорию утилиты. |
| KDT_PARALLELS_LIMIT | -1 (авто) |
Ограничение на количество параллельных операций. |
Рекомендация: Всегда используйте команду ./kdt describe перед вызовом новых действий через invoke, чтобы убедиться в правильности передаваемых параметров, и регулярно экспортируйте конфигурацию (export-config) после внесения значимых изменений в кластер.