Сканирование объектов с помощью Kaspersky Scan Engine, развернутого в Kubernetes или Docker
14 июля 2026
ID 193820
В большинстве случаев вы можете проверять объекты с помощью Kaspersky Scan Engine, когда он развернут в Kubernetes или Docker, так же, как и с Kaspersky Scan Engine, установленным на вашем компьютере. Однако есть несколько исключений.
Сканирование файлов в режиме HTTP
Kaspersky Scan Engine сканирует файлы с помощью метода API scanfile (/api/v3.0/scanfile в протоколе KAV версии 3 и /api/v1.0/scanfile в протоколе KAV версий 1 и 2). В Docker-контейнере этот метод работает, только если вы правильно настроили среду.
Чтобы просканировать файлы в отдельном Docker-контейнере:
- На основной машине найдите директорию, содержащую файлы, которые вы хотите просканировать.
- Откройте
kavhttpd.xmlна основной машине. - В элементе
<ScanningPath>укажите путь к директории контейнера, в которой директория из шага 1 будет подключена к контейнеру:<ScanningPaths>
<ScanningPath>%path to the container directory with the files to scan%</ScanningPath>
</ScanningPaths>
- Сохраните и закройте
kavhttpd.xml. - Запустите Docker-контейнер Kaspersky Scan Engine:
docker run -d -p 8080:8443 -p 8085:9998 -v %host_scan_dir%:%cont_scan_dir% -v %host_conf_dir%:/tmp/scanengine/mounted --name ScanEngine kaspersky/scanengine:%KSE_VERSION%
В приведенной выше команде:
%host_scan_dir%– директория хоста, в которой находятся объекты для сканирования.%cont_scan_dir%– это директория контейнера, в которой находятся сканируемые объекты.%host_conf_dir%– это директория хоста, содержащая файлы конфигурации (должны находиться в директории/configs) и файл ключа или код активации (должны находиться в директории/lic).%KSE_VERSION%– версия Kaspersky Scan Engine, используемая в Docker-образах. Например, 2.0.0.1157.
- Просканируйте файлы, отправив HTTP-запрос. Обратите внимание, что следует указать путь к директории контейнера с файлами для сканирования.
Если вы хотите использовать API-метод scanfile в Docker-контейнере, развернутом в Kubernetes, выполните следующие действия.
Чтобы просканировать файлы в Kubernetes:
- Откройте
kaspersky_httpd_kubernetes.yaml. - В поле
volumesдобавьте следующие строки:- name: %PersistentVolumeClaim name%
PersistentVolumeClaim:
claimName: %PersistentVolumeClaim%
В строках выше:
%PersistentVolumeClaim name%– пользовательское имя этого параметра (например,kl_scandir).%PersistentVolumeClaim%– это имя PersistentVolumeClaim, содержащего указанную выше директорию. - В поле
containers/volumeMountsдобавьте следующие строки:- mountPath: %Pod directory with the files to scan%
name: %PersistentVolumeClaim name%
В строках выше:
%Pod directory with the files to scan%– это путь к директории в Kaspersky Scan Engine, в которой находятся объекты для сканирования.%PersistentVolumeClaim name%– это имя параметра, указанного на шаге 2.
- Сохраните и закройте
kaspersky_httpd_kubernetes.yaml. - Откройте файл конфигурации
kavhttpd.xml. - В элементе
<ScanningPath>укажите путь к директории, которая была указана вmountPathна шаге 3:<ScanningPaths>
<ScanningPath>%POD directory with the files to scan%</ScanningPath>
</ScanningPaths>
- Сохраните и закройте
kavhttpd.xml. - Обновите
kavhttpd.xmlв Kubernetes:kubectl delete configmap kl-configuration-file -n kaspersky
kubectl create configmap kl-configuration-file -n kaspersky --from-file=%path to the directory with the configuration files%
- Загрузите конфигурацию из YAML-файла Kubernetes.
kubectl apply -f kaspersky_httpd_kubernetes.yaml
- Просканируйте файлы, отправив HTTP-запрос.
Обратите внимание, что следует указать путь к директории контейнера с файлами для сканирования.