13 октября 2026
ID 327828
Развертывание в отказоустойчивой конфигурации с помощью стандартной виртуальной машины Ubuntu Server 24.04 LTS
В этом разделе содержатся инструкции по развертыванию Kaspersky EDR Expert на нескольких узлах на стандартных виртуальных машинах Ubuntu Server 24.04 LTS.
Типовая конфигурация из семи виртуальных машин с минимальными системными требованиями
- Узлы primary1, primary2 и primary3: 4 vCPU, 8 ГБ оперативной памяти, SSD* объемом 500 ГБ
- Узлы worker1, worker2, worker3 и worker4: 10 vCPU, 20 ГБ оперативной памяти, SSD* объемом 1 ТБ
* Или любое устройство с 8000 IOPS (операций ввода-вывода в секунду) при произвольном доступе
Требования к оборудованию должны быть рассчитаны в соответствии с руководством по масштабированию.
Настройка хостов primary1, primary2, primary3, worker1, worker2, worker3 и worker4
2.1 Настройка учетной записи пользователя для развертывания Kaspersky EDR Expert
- Откройте /etc/sudoers:
sudo visudo
- Добавьте в конец файла следующую строку:
{user} ALL=(ALL) NOPASSWD: ALL
где
{user}– учетная запись, используемая для развертывания.В случае ошибки "
user is not in sudoers file" переключитесь на пользователя с правами root и выполните следующую команду:echo "$USER ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/$USER
- Сохраните (Ctrl+S) и закройте файл (Ctrl+X).
2.2 Проверка свободного места в каталогах /var, /opt и /tmp
- На узлах primary1–primary3 выполните следующие команды:
df -h /var
Требуется не менее 200 ГБ свободного места.
df -h /opt
Требуется не менее 200 ГБ свободного места.
df -h /tmp
Требуется не менее 50 ГБ свободного места.
- На узлах worker1–worker4 выполните следующие команды:
df -h /var
Требуется не менее 200 ГБ свободного места.
df -h /opt
Требуется не менее 700 ГБ свободного места.
df -h /tmp
Требуется не менее 50 ГБ свободного места.
2.3 Обеспечение отсутствия ошибок при синхронизации репозиториев
Выполните следующую команду:
sudo apt update
Команда не должна возвращать ошибки.
2.4 Установка python3-apt и curl
Выполните следующую команду:
sudo apt install python3-apt curl -y
2.5 Настройка системного времени для синхронизации с NTP-сервером:
- Выполните следующие команды:
sudo apt update
sudo apt install -y systemd-timesyncd
sudo timedatectl set-ntp true
sudo timedatectl set-timezone Europe/Moscow
sudo timedatectl set-local-rtc 0
timedatectl status
В выводе будет строка:
System clock synchronized: yes
- Чтобы проверить синхронизацию, выполните команду:
date
В выводе будет текущая дата и время.
Настройка устройства СУБД
Хост СУБД - это экземпляр СУБД, который может быть установлен как вне кластера Kubernetes, так и совместно с кластером Kubernetes.
Если вы устанавливаете экземпляр СУБД совместно с кластером Kubernetes, вы должны увеличить сайзинг целевого хоста, на котором будет установлен экземпляр СУБД, до следующего:
- 20 vCPU
- 40 ГБ оперативной памяти
- 2.6 ТБ SSD или любое устройство с 8000 IOPS (операций ввода-вывода в секунду) при произвольном доступе
Если вы устанавливаете экземпляр СУБД вне кластера Kubernetes, вы должны увеличить сайзинг целевого хоста, на котором будет установлен экземпляр СУБД, до следующего:
- 10 vCPU
- 20 ГБ оперативной памяти
- 1.6 ТБ SSD или любое устройство с 8000 IOPS (операций ввода-вывода в секунду) при произвольном доступе
Поддерживаются следующие версии PostgreSQL:
- PostgreSQL 15.
- PostgreSQL 16.
- PostgreSQL 17.
- PostgreSQL 18.
3.1 Установка и настройка PostgreSQL
- Установите PostgreSQL:
sudo apt install -y postgresql-<
версия>где <
версия> – поддерживаемые версии PostgreSQL. Например, для PostgreSQL 16:sudo apt install -y postgresql-16
Если требуемая версия PostgreSQL отсутствует в подключенном репозитории, необходимо добавить репозиторий
PostgreSQL Apt. Подробнее см. на сайте PostgreSQL. - Создайте отдельного суперпользователя PostgreSQL:
sudo -u postgres createuser --superuser xdr
- Укажите пароль пользователя:
sudo -u postgres psql -c "ALTER USER xdr WITH PASSWORD '
ваш пароль';" - Создайте для пользователя базу данных с таким же именем:
sudo -u postgres psql -c "CREATE DATABASE xdr OWNER xdr;"
- Разрешите доступ к PostgreSQL с любого IP-адреса:
echo "host all all 0.0.0.0/0 scram-sha-256" | sudo tee -a /etc/postgresql/<
версия>/main/pg_hba.confгде <
версия> – поддерживаемые версии PostgreSQL. Например, для PostgreSQL 16:echo "host all all 0.0.0.0/0 scram-sha-256" | sudo tee -a /etc/postgresql/16/main/pg_hba.conf
- Укажите следующие параметры в конфигурационном файле PostgreSQL (/etc/postgresql/<
версия>/main/postgresql.conf), где <версия> – версия PostgreSQL. Например, для PostgreSQL 16: /etc/postgresql/16/main/postgresql.conf.Прокомментированные (
#) строки необходимо раскомментировать.listen_addresses = '*'
shared_buffers = 8192MB
max_stack_depth = 7MB
temp_buffers = 24MB
work_mem = 16MB
max_connections = 512
max_parallel_workers_per_gather = 0
maintenance_work_mem = 128MB
standard_conforming_strings = on
- Перезапустите PostgreSQL
sudo systemctl restart postgresql
3.2 Настройка системного времени для синхронизации с NTP-сервером:
- Выполните следующие команды:
sudo apt update
sudo apt install -y systemd-timesyncd
sudo timedatectl set-ntp true
sudo timedatectl set-timezone Europe/Moscow
sudo timedatectl set-local-rtc 0
timedatectl status
В выводе будет строка:
System clock synchronized: yes
- Чтобы проверить синхронизацию, выполните команду:
date
В выводе будет текущая дата и время.
Настройка устройства администратора
Устройство администратора – это устройство, с которого запускается утилита KDT. Файлы из дистрибутива, включая архив с утилитой KDT, должны находиться на хосте администратора. Это устройство может быть частью кластера Kubernetes, созданного утилитой KDT во время развертывания, или может оставаться за пределами кластера. Если устройство администратора не включено в кластер, оно будет использоваться только для развертывания и управления кластером Kubernetes и OSMP. Если устройство администратора включено в кластер, оно также будет действовать как целевое устройство, которое используется для работы компонентов OSMP.
4.1 Распаковка утилиты KDT
Выполните следующую команду, чтобы создать директорию и распаковать утилиту KDT:
mkdir ./kdt && tar -xvf bin.tar.gz -C ./kdt
4.2 Установка Docker
Поддерживаются версии Docker 25 и выше.
4.2.1 Установка в Ubuntu 24:
sudo apt update && sudo apt install docker.io
4.2.2 ИЛИ Установка с использованием официальной инструкции:
- Установите необходимые пакеты:
sudo apt update && sudo apt install ca-certificates curl
- Загрузите keyring Docker:
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc && sudo chmod 0755 /etc/apt/keyrings/docker.asc
- Добавьте apt-репозиторий Docker:
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
- Обновите кеш репозитория и установите пакеты Docker:
sudo apt update && sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
4.3 Настройка Docker
- Добавьте текущего пользователя в группу
docker:sudo usermod -aG docker $USER
- Активируйте членство пользователя в группе
dockerв текущем сеансе:newgrp docker
4.4 Настройка системного времени для синхронизации с NTP-сервером:
- Выполните следующие команды:
sudo apt update
sudo apt install -y systemd-timesyncd
sudo timedatectl set-ntp true
sudo timedatectl set-timezone Europe/Moscow
sudo timedatectl set-local-rtc 0
timedatectl status
В выводе будет строка:
System clock synchronized: yes
- Чтобы проверить синхронизацию, выполните команду:
date
В выводе будет текущая дата и время.
4.5 Проверка свободного места в директории /tmp
Выполните следующую команду:
df -h /tmp
Требуется не менее 50 ГБ свободного места.
Если у вас недостаточно свободного места в директории /tmp, укажите путь к другой директории:
export TMPDIR=<новая_директория>/tmp
Или добавьте место в необходимом объеме:
echo 'tmpfs /tmp tmpfs defaults,size=50G 0 0' | sudo tee -a /etc/fstab
Выделив необходимое место, перезагрузите хост или повторно смонтируйте раздел.
4.6 Настройка SSH-соединения между устройством администратора и узлами primary1, primary2, primary3, worker1, worker2, worker3 и worker4
- Создайте SSH-ключ:
ssh-keygen -t rsa -b 4096 -N ""
- Скопируйте ключ на каждый целевой хост по очереди:
ssh-copy-id {user}@{primary1_ip}
ssh-copy-id {user}@{primary2_ip}
ssh-copy-id {user}@{primary3_ip}
ssh-copy-id {user}@{worker1_ip}
ssh-copy-id {user}@{worker2_ip}
ssh-copy-id {user}@{worker3_ip}
ssh-copy-id {user}@{worker4_ip}
Где
{user}– учетная запись пользователя для развертывания Kaspersky EDR Expert, созданная во время настройки целевого устройства.
4.7 Настройка DNS
На вашем DNS-сервере зарегистрируйте FQDN сервисов для подключения к сервисам OSMP (<ingress_domain>).
Чтобы быстро начать работу, добавьте на свой DNS-сервер запись подстановки A, указывающую на свободный IP-адрес (<ingress_ip>) в той же подсети, что и кластер. Шлюз кластера Kubernetes будет прослушивать этот IP-адрес и направлять трафик к соответствующим службам.
По умолчанию службы OSMP доступны по следующим адресам:
<ingress_ip> - admsrv.<ingress_domain>
<ingress_ip> - api.<ingress_domain>
<ingress_ip> - console.<ingress_domain>
<ingress_ip> - kuma.<ingress_domain>
<ingress_ip> - *.kuma.<ingress_domain>
<ingress_ip> - monitoring.<ingress_domain>
<ingress_ip> - agentserver.<ingress_domain>
<ingress_ip> - updater.<ingress_domain>
4.8 Создание конфигурации для запуска установки
Легенда
10.0.0.110– IP-адрес управляющего узла (<primary1_ip>)10.0.0.120– IP-адрес управляющего узла (<primary2_ip>)10.0.0.130– IP-адрес управляющего узла (<primary3_ip>)10.0.0.101– IP-адрес узла worker1 (<worker1_ip>)10.0.0.102– IP-адрес узла worker2 (<worker2_ip>)10.0.0.103– IP-адрес узла worker3 (<worker3_ip>)10.0.0.104– IP-адрес узла worker4 (<worker4_ip>)10.0.0.150– IP-адрес устройства СУБД (<DB_ip>)10.0.0.200– IP-адрес, используемый для записи с подстановкой A на этапе настройки DNS (<ingress_ip>)user– учетная запись пользователя для развертывания (<user_name>)/home/user/.ssh/id_rsa– путь к SSH-ключу, созданному при настройке SSH-соединения на устройстве администратора (<ssh_key_path>)xdr.mydomain.com– домен для входящего трафика (<ingress_domain>)
4.8.1 Указание параметров установки с помощью мастера настройки
- Выполните следующую команду, чтобы запустить мастер настройки:
./bin/kdt wizard -k xdr-<
версия>.tar -o params.yaml - Введите количество primary_nodes (не менее 1):
3 - Введите IPv4-адрес первого управляющего узла:
10.0.0.110 - Введите имя пользователя для подключения к первому управляющему узлу:
user - Введите путь к SSH-ключу для подключения к первому управляющему узлу:
/home/user/.ssh/id_rsa - Введите IPv4-адрес второго управляющего узла:
10.0.0.120 - Введите имя пользователя для подключения ко второму управляющему узлу:
user - Введите путь к SSH-ключу для подключения ко второму управляющему узлу:
/home/user/.ssh/id_rsa - Введите IPv4-адрес третьего управляющего узла:
10.0.0.130 - Введите имя пользователя для подключения к третьему управляющему узлу:
user - Введите путь к SSH-ключу для подключения к третьему управляющему узлу:
/home/user/.ssh/id_rsa - Введите количество worker_nodes (0 – развертывание на одном узле, 3 и более – развертывание на нескольких узлах):
4 - Введите IPv4-адрес первого рабочего узла:
10.0.0.101 - Введите имя пользователя для подключения к первому рабочему узлу:
user - Введите путь к SSH-ключу для подключения к первому рабочему узлу:
/home/user/.ssh/id_rsa - Введите IPv4-адрес второго рабочего узла:
10.0.0.102 - Введите имя пользователя для подключения ко второму рабочему узлу:
user - Введите путь к SSH-ключу для подключения ко второму управляющему узлу:
/home/user/.ssh/id_rsa - Введите IPv4-адрес третьего рабочего узла:
10.0.0.103 - Введите имя пользователя для подключения к третьему рабочему узлу:
user - Введите путь к SSH-ключу для подключения к третьему рабочему узлу:
/home/user/.ssh/id_rsa - Введите IPv4-адрес четвертого рабочего узла:
10.0.0.104 - Введите имя пользователя для подключения к четвертому рабочему узлу:
user - Введите путь к SSH-ключу для подключения к четвертому рабочему узлу:
/home/user/.ssh/id_rsa - Введите 1, если требуется балансировщик нагрузки; в противном случае нажмите Enter: нажмите Enter
- Введите строку подключения для доступа к СУБД: postgres://<dbms_username>:<password>@<fqdn>:<port>:
postgres://xdr:<ваш_пароль>@10.0.0.150:5432 - Требуется ввести IP-адрес шлюза кластера Kubernetes следующим образом: <ip_address>. Шлюз Kubernetes предназначен для подключения компонентов Kaspersky EDR Expert, установленных внутри кластера Kubernetes. Введите IP-адрес:
10.0.0.200 - Требуется создать учетную запись пользователя Kaspersky EDR Expert. Введите пароль учетной записи пользователя Kaspersky EDR Expert, которая будет создана KDT во время установки. Пароль не может содержать менее 8 и более 256 символов. Пароль должен содержать прописные и строчные буквы, цифры и специальные символы. Введите пароль:
ваш_пароль - Введите путь к файлу инвентаря KUMA:
/dev/null - Введите путь к SSH-ключу, который используется для подключения к узлам со службами KUMA:
/home/user/.ssh/id_rsa - Введите путь к файлу лицензионного ключа KUMA:
/dev/null - Требуется доменное имя для публичных служб Kaspersky EDR Expert. Это доменное имя будет включено в доменные имена служб Kaspersky EDR Expert. Например, console.<domain name>. Введите доменное имя:
xdr.mydomain.com - Введите путь к файлу пользовательского сертификата и закрытому ключу для публичных сервисов Kaspersky EDR Expert (если вы хотите использовать самоподписанный сертификат, нажмите Enter, чтобы пропустить этот шаг): нажмите Enter
- Введите "Y", если в вашем регионе требуется расширенный жизненный цикл инцидентов:
N - Введите имя учетной записи пользователя, используемой для просмотра метрик OSMP с помощью инструмента Grafana. Имя пользователя не может содержать менее 1 и более 30 символов. Имя пользователя должно начинаться с буквы и может содержать строчные буквы (от "a" до "z"), цифры (от "0" до "9") и специальные символы (_ -.):
xdr - Введите пароль от учетной записи, используемой для просмотра метрик OSMP с помощью инструмента Grafana. Пароль не может содержать менее 8 и более 256 символов. Пароль должен содержать прописные и строчные буквы, цифры и специальные символы:
ваш_пароль
4.8.2 Указание параметров установки с помощью конфигурационного файла
Шаблон конфигурационного файла (multinode.smp_param.yaml.template) находится в дистрибутиве в архиве с утилитой KDT.
Значение параметра psql_dsn должно соответствовать URI-формату. Если URI-подключение включает специальные символы в любой из его частей, символы должны быть экранированы с помощью процентной кодировки.
Символы, которые требуется заменить в значении параметра psql_dsn:
- Пробел →
%20 - ! →
%21 #→%23%→%25&→%26/→%2F:→%3A=→%3D?→%3F@→%40[→%5B]→%5D
Дополнительную информацию см. в статье Строка подключения PostgreSQL.
schemaType: ParameterSet
schemaVersion: 1.0.1
namespace: ""
name: bootstrap
project: xdr
nodes:
- desc: cdt-primary0
type: primary
host: <primary1_ip>
access:
ssh:
user: <user_name>
key: <ssh_key_path>
- desc: cdt-primary1
type: primary
host: <primary2_ip>
access:
ssh:
user: <user_name>
key: <ssh_key_path>
- desc: cdt-primary2
type: primary
host: <primary3_ip>
access:
ssh:
user: <user_name>
key: <ssh_key_path>
- desc: cdt-w0
type: worker
host: <worker1_ip>
access:
ssh:
user: <user_name>
key: <ssh_key_path>
- desc: cdt-w1
type: worker
host: <worker2_ip>
access:
ssh:
user: <user_name>
key: <ssh_key_path>
- desc: cdt-w2
type: worker
host: <worker3_ip>
access:
ssh:
user: <user_name>
key: <ssh_key_path>
- desc: cdt-w3
type: worker
host: <worker4_ip>
access:
ssh:
user: <user_name>
key: <ssh_key_path>
parameters:
- name: psql_dsn
source:
value: postgres://xdr:<ваш_пароль>@<DB_ip>:5432
- name: ingress_ip
source:
value: <ingress_ip>
- name: ssh_pk
source:
path: <ssh_key_path>
- name: admin_password
source:
value: "ваш_пароль"
- name: inventory
source:
value: /dev/null
- name: license
source:
value: /dev/null
- name: smp_domain
source:
value: "<ingress_domain>"
- name: pki_host_list
source:
value: "admsrv api console kuma monitoring updater"
- name: grafana_admin_user
source:
value: xdr
- name: grafana_admin_password
source:
value: "ваш_пароль"
Установка Kaspersky EDR Expert
Выполните следующую команду:
./bin/kdt apply --accept-eula -k xdr-<версия_приложения>.tar -i params.yaml
Если установка завершится успешно, в терминале будет отображена следующая информация:
INFO[0038] apply inventory ./conf.yaml
INFO[0039] preparing bootstrap_<версия>.tgz
INFO[0092] installing: bootstrap
INFO[0404] time: prepare 53.113895029s install 5m12.442326155s
INFO[0404] current installation is valid
INFO[0404] bundles will be published: 40
INFO[0536] bundles published 40
INFO[0536] bundles will be applied: 39
INFO[2450] apply done: 31m53.851140069s
INFO[2450] apply command completed successfully
INFO[2450] time: publish 2m11.679771805s install 31m53.930470045s
Чтобы проверить установку, требуется перейти на страницу авторизации. Для этого введите в строке поиска браузера:
console.<ingress_domain>
Где <ingress_domain> – FQDN, указанное на шаге 4.6 этой процедуры.