# KEDR (OSMP)

# Установка и обновление

# Гайд по установке Kaspersky EDR Expert (on-premise) 8.0

> Инструкция составлена на основе [официальной документации](https://support.kaspersky.com/kedr-expert-on-premise/8.0/307256) и опыта эксплуатации

#### **Часть 1. Типы установки**

<table border="1" id="bkmrk-%D0%9F%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80-%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D0%B0%D1%8F" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 30.9792%;"></col><col style="width: 35.269%;"></col><col style="width: 33.8384%;"></col></colgroup><tbody><tr><td class="align-center">**Параметр**</td><td class="align-center">**Стандартная конфигурация**

**(несколько узлов)**

</td><td class="align-center">**Демонстрационная конфигурация (один узел)**</td></tr><tr><td>**СУБД PostgreSQL**</td><td>Устанавливается **вне кластера Kubernetes** на отдельном сервере</td><td>Устанавливается на одном хосте с **кластером Kubernetes**</td></tr><tr><td>**Минимальное количество узлов**</td><td>1 первичный + 3 рабочих узла + сервер СУБД + 1 узел администратора (опционально)

</td><td>1 узел (все компоненты на одном устройстве) + 1 узел администратора (опционально)

</td></tr><tr><td>**Назначение**</td><td>Промышленная эксплуатация</td><td>Тестирование, демонстрация, обучение</td></tr></tbody></table>

##### **Роли узлов:**

- **Узел администратора** - устройство с утилитой KDT (Kaspersky Deployment Toolkit) для развертывания и управления компонентами OSMP.
- **Primary/master/controller/первичный рабочий узел** - узел контроллера, осуществляющий управление кластером k0s.
- **Worker/рабочий узел** - узел кластера k0s с полезной нагрузкой.
- **DB/СУБД** - сервер с СУБД для кластера OSMP.
- **KUMA services/устройство с сервисами KUMA** - устройства с установленными сервисами KUMA: коллектор, коррелятор, хранилище (в случае KEDR входят в состав Kubernetes кластера).
- **Целевые устройства** - устройства, на которых устанавливается OSMP (все вышеперечисленные узлы)

#### **Часть 2. Критические требования инфраструктуры**

##### **2.1. СУБД PostgreSQL**

<table border="1" id="bkmrk-%D0%9F%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80-%D0%A2%D1%80%D0%B5%D0%B1%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-" style="border-collapse: collapse; width: 100%; height: 164.409px;"><colgroup><col style="width: 32.4243%;"></col><col style="width: 67.6624%;"></col></colgroup><tbody><tr style="height: 29.5227px;"><td class="align-center" style="height: 29.5227px;">**Параметр**</td><td class="align-center" style="height: 29.5227px;">**Требование**</td></tr><tr style="height: 29.5227px;"><td style="height: 29.5227px;">**Версия**</td><td style="height: 29.5227px;">15.7 или выше</td></tr><tr style="height: 29.5227px;"><td style="height: 29.5227px;">**Расположение**</td><td style="height: 29.5227px;">Вне кластера Kubernetes (стандартная конфигурация)</td></tr><tr style="height: 46.3182px;"><td style="height: 46.3182px;">**Привилегированная учётная запись**</td><td style="height: 46.3182px;">Требуется учётная запись с правами суперпользователя для создания баз данных во время развертывания</td></tr><tr style="height: 29.5227px;"><td style="height: 29.5227px;">**Поддержка кластеров**</td><td style="height: 29.5227px;">Поддерживается синхронная репликация (минимум 3 узла, максимум 15).</td></tr><tr><td>**Дисковая подсистема**</td><td>SSD/NVMe рекомендуется</td></tr></tbody></table>

##### **2.2. Сетевые требования**  


<table border="1" id="bkmrk-%D0%A2%D1%80%D0%B5%D0%B1%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-" style="border-collapse: collapse; width: 100%; height: 164.409px;"><colgroup><col style="width: 32.4243%;"></col><col style="width: 67.6624%;"></col></colgroup><tbody><tr style="height: 29.5227px;"><td class="align-center" style="height: 29.5227px;">**Требование**</td><td class="align-center" style="height: 29.5227px;">**Описание**</td></tr><tr style="height: 29.5227px;"><td style="height: 29.5227px;">**Широковещательный домен**</td><td style="height: 29.5227px;">Все целевые устройства кластера Kubernetes **должны находиться в одном широковещательном домене** (одна L2-сеть)</td></tr><tr style="height: 29.5227px;"><td style="height: 29.5227px;">**Статические IPv4-адреса**</td><td style="height: 29.5227px;">Все узлы кластера и шлюз Kubernetes должны иметь статические IPv4-адреса в одной подсети</td></tr><tr style="height: 46.3182px;"><td style="height: 46.3182px;">**Синхронизация времени**</td><td style="height: 46.3182px;">Разница во времени между узлами не должна превышать 5 секунд (рекомендуется использовать NTP)</td></tr><tr style="height: 29.5227px;"><td style="height: 29.5227px;">**DNS**</td><td style="height: 29.5227px;">Должна быть настроена зона для домена smp\_domain (например, smp.local) с записями для всех сервисов</td></tr></tbody></table>

##### **2.3. Аппаратные требования (минимальные)**

<table border="1" id="bkmrk-%D0%9A%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82-%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80-" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 30.8601%;"></col><col style="width: 24.6684%;"></col><col style="width: 22.3961%;"></col><col style="width: 22.162%;"></col></colgroup><tbody><tr><td class="align-center">**Компонент**</td><td class="align-center">**Процессор**</td><td class="align-center">**ОЗУ**</td><td class="align-center">**Дисковая подсистема**</td></tr><tr><td class="align-left">Все компоненты на одном узле (демонстрационная конфигурация)</td><td class="align-center">12 ядер</td><td class="align-center">56 Гб</td><td class="align-center">1300 Гб</td></tr></tbody></table>

Для корректного развертывания решения убедитесь, что процессор целевого устройства (компонентов KEDR) поддерживает набор инструкций BMI, AVX и SSE 4.2.

##### **2.4. Программные требования**

Требования к программному обеспечению и поддерживаемым системам и платформам

<table border="1" id="bkmrk-%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0" style="border-collapse: collapse; width: 100%; height: 663.807px;"><colgroup><col style="width: 21.3528%;"></col><col style="width: 78.7338%;"></col></colgroup><tbody><tr style="height: 243.057px;"><td style="height: 243.057px;">**Операционная система**</td><td style="height: 243.057px;"><table border="1" style="border-collapse: collapse; width: 100.191%; height: 200.852px; border-width: 1px; border-style: hidden;"><colgroup><col style="width: 100.078%;"></col></colgroup><tbody><tr style="height: 29.5114px;"><td class="align-center" style="height: 29.5114px;">**OSMP с компонентами KUMA**</td></tr><tr style="height: 171.341px;"><td style="height: 171.341px;">Поддерживаются следующие 64-разрядные версии операционных систем:

- Ubuntu Server 22.04 LTS.
- Ubuntu Server 24.04 LTS.
- Debian GNU/Linux 12.х (Bookworm).
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.8.1).

<p class="callout warning">На целевых устройствах с операционными системами семейства Ubuntu версия ядра Linux должна быть 5.15.0.107 или выше.</p>

</td></tr></tbody></table>

</td></tr><tr style="height: 273.659px;"><td style="height: 273.659px;">**Платформы виртуализации**</td><td style="height: 273.659px;"><table border="1" style="border-collapse: collapse; width: 100.191%; border-width: 1px; border-style: hidden; height: 387.204px;"><colgroup><col style="width: 33.411%;"></col><col style="width: 33.411%;"></col><col style="width: 33.411%;"></col></colgroup><tbody><tr style="height: 62.75px;"><td class="align-center" style="height: 62.75px;">**Название платформы виртуализации**</td><td class="align-center" style="height: 62.75px;">**OSMP**</td><td class="align-center" style="height: 62.75px;">**Sandbox**

**(опционально)**

</td></tr><tr style="height: 46.3182px;"><td style="height: 46.3182px;">**VMware ESXi 6.7.0 или 7.0;**

</td><td class="align-center" style="height: 46.3182px;">![Есть.](https://img.kaspersky.com/oh/XDR/2.0/ru-RU/unloc_icon_yes.png)

</td><td class="align-center" style="height: 46.3182px;">![Есть.](https://img.kaspersky.com/oh/XDR/2.0/ru-RU/unloc_icon_yes.png)</td></tr><tr style="height: 31.7045px;"><td style="height: 31.7045px;">**KVM;**

</td><td class="align-center" style="height: 31.7045px;">![Есть.](https://img.kaspersky.com/oh/XDR/2.0/ru-RU/unloc_icon_yes.png)</td><td class="align-center" style="height: 31.7045px;">![Нет.](https://img.kaspersky.com/oh/XDR/2.0/ru-RU/unloc_icon_no.png)</td></tr><tr style="height: 31.7045px;"><td style="height: 31.7045px;">**ПК СВ "Брест" 3.3;**

</td><td class="align-center" style="height: 31.7045px;">![Есть.](https://img.kaspersky.com/oh/XDR/2.0/ru-RU/unloc_icon_yes.png)</td><td class="align-center" style="height: 31.7045px;">![Есть.](https://img.kaspersky.com/oh/XDR/2.0/ru-RU/unloc_icon_yes.png)</td></tr><tr style="height: 46.3182px;"><td style="height: 46.3182px;">**"РЕД Виртуализация" 7.3;**

</td><td class="align-center" style="height: 46.3182px;">![Есть.](https://img.kaspersky.com/oh/XDR/2.0/ru-RU/unloc_icon_yes.png)</td><td class="align-center" style="height: 46.3182px;">![Есть.](https://img.kaspersky.com/oh/XDR/2.0/ru-RU/unloc_icon_yes.png)</td></tr><tr style="height: 31.7045px;"><td style="height: 31.7045px;">**zVirt Node 4.2.**

</td><td class="align-center" style="height: 31.7045px;">![Есть.](https://img.kaspersky.com/oh/XDR/2.0/ru-RU/unloc_icon_yes.png)</td><td class="align-center" style="height: 31.7045px;">![Есть.](https://img.kaspersky.com/oh/XDR/2.0/ru-RU/unloc_icon_yes.png)</td></tr></tbody></table>

</td></tr><tr style="height: 147.091px;"><td style="height: 147.091px;">**Система управления базами данных (СУБД)**</td><td style="height: 147.091px;">PostgreSQL 15.х 64-разрядная

PostgreSQL 16.x 64-разрядная

PostgreSQL 17.х 64-разрядная

Postgres Pro 15.х (все редакции) 64-разрядная

Postgres Pro 16.х (все редакции) 64-разрядная

Postgres Pro 17.х (все редакции) 64-разрядная

Postgres Pro 16.х Enterprise 64-разрядная (кластер Built-in High Availability).

Postgres Pro 17 Enterprise 64-разрядная (кластер Built-in High Availability).

</td></tr></tbody></table>

#### **Часть 3. Подготовка устройств**

<p class="callout warning">Отключайте файл подкачки (swap) в продуктовых средах</p>

##### **Устройство администратора:**

- Установка обязательных пакетов на устройстве администратора:

```bash
sudo apt update
sudo apt install -y python3
```

[Установите пакет для Docker версии 23](https://docs.docker.com/engine/install/) или выше, а затем [выполните действия после установки,](https://docs.docker.com/engine/install/linux-postinstall/) чтобы настроить устройство администрирования для правильной работы с Docker.

Пример:

```bash
Для Ubuntu:
# Удалите старые версии 
sudo apt remove docker docker-engine docker.io containerd runc

# Установите зависимости 
sudo apt update 
sudo apt install ca-certificates curl gnupg lsb-release  

# Добавьте официальный GPG ключ Docker 
sudo mkdir -p /etc/apt/keyrings 
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg  

# Добавьте репозиторий 
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null  

# Установите Docker
sudo apt update 
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

# Добавьте пользователя в группу docker
sudo usermod -aG docker $USER  

# Настройте автозапуск 
sudo systemctl enable docker.service 
sudo systemctl enable containerd.service  

# Перезагрузитесь или выполните
newgrp docker
```

Ещё вариант:

```bash
apt install docker.io
```

- Генерация SSH-ключа (без парольной фразы):

```bash
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -N ""
```

Скопируйте ключ на все целевые устройства:

```bash
ssh-copy-id username@<IP_целевого_устройства>

# Проверка подключения без пароля
ssh username@<IP_целевого_устройства> "sudo whoami"
```

<p class="callout info">При установке от учётной записи **root** убедитесь, что ключ на целевых устройствах располагается по пути **/root/.ssh/authorized\_keys**</p>

##### **Целевые устройства (OSMP):**

- Проверка cgroup v2:

```bash
mount | grep cgroup 
# Должно быть: cgroup2 on /sys/fs/cgroup type cgroup2
```

- Отключите SELinux (если установлен)

```bash
# Проверка статуса 
getenforce  

# Отключение (требуется перезагрузка) 
sudo setenforce 0 sudo sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
```

- Настройте proxy (если требуется)

```bash
# Отредактируйте /etc/environment 
sudo nano /etc/environment  

# Добавьте: 
HTTP_PROXY="http://proxy.example.com:8080" 
HTTPS_PROXY="http://proxy.example.com:8080" 
NO_PROXY="localhost,127.0.0.1,<IP_адреса_узлов_кластера>"
```

- Настройте firewall (если используется)

```bash
# Разрешите SSH
sudo ufw allow 22/tcp

# Разрешите Kubernetes порты
sudo ufw allow 6443/tcp
sudo ufw allow 2379:2380/tcp
sudo ufw allow 10250/tcp

# Разрешите PostgreSQL порты
sudo ufw allow 5432/tcp

# Включите IP forwarding для primary/worker node
sudo sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/' /etc/sysctl.conf
sudo sysctl -p
```

Для отключения firewall'а выполните:

```bash
systemctl stop ufw
systemctl disable ufw
```

- Установка обязательных пакетов:

```bash
# Общие пакеты для всех узлов:
sudo apt update
sudo apt install -y sudo nfs-common tar wireguard wireguard-tools python3-apt

# Для первичного узла дополнительно:
sudo apt install -y curl

# Для рабочих узлов дополнительно (наименования могут отличаться в зависимости от выбранного дистрибутива Linux):
sudo apt install -y libnfs12 iscsi-package
```

- Настройка беспарольного sudo:

```bash
# Для пользователя, который будет использоваться KDT:
echo "username ALL=(ALL) NOPASSWD: ALL" | sudo tee -a /etc/sudoers
```

Это позволит учетной записи иметь возможность повышать привилегии (sudo) без ввода пароля

- Настройка синхронизации времени:

```bash
sudo timedatectl set-ntp true
```

- Настройка IP-переадресации (только для первичного узла с UFW):

```bash
# В файле /etc/default/ufw установите:
DEFAULT_FORWARD_POLICY="ACCEPT"

# Примените изменения:
sudo ufw reload
```

##### **СУБД PostgreSQL:**

- Установка обязательных пакетов:

```bash
sudo apt update
sudo apt install -y postgresql
```

- Настройка параметров в **postgresql.conf:**

```bash
nano /etc/postgresql/<ВЕРСИЯ>/main/postgresql.conf

# Переопределите следующие параметры:
listen_addresses = '*'
port = 5432
max_connections = 512
shared_buffers = 8GB                  # 25% от ОЗУ, минимум 3 ГБ
effective_cache_size = 24GB           # 75% от ОЗУ
temp_buffers = 24MB
work_mem = 64MB
maintenance_work_mem = 1GB
max_stack_depth = 7MB                 # Для Linux: ulimit -s минус 1 МБ
effective_io_concurrency = 200        # 200 для SSD или 2 для HDD
max_parallel_workers_per_gather = 0
wal_buffers = 64MB
max_wal_size = 4GB
min_wal_size = 1GB
random_page_cost = 1.1                # 1.1 для SSD или 4.0 для HDD
log_hostname = 1
standard_conforming_strings = on      # Обязательно должно быть 'on'
```

- Разрешение удаленного подключения к СУБД:

```bash
nano /etc/postgresql/<ВЕРСИЯ>/main/pg_hba.conf

# В секции 'IPv4 local connections' переопределите значение:
host   all   all   0.0.0.0/0    scram-sha-256
```

- Перезапуск службы:

```bash
systemctl restart postgresql
```

- Создание привилегированной учётной записи:

```mysql
# Подключитесь к PostgreSQL:
sudo -u postgres psql

# Создайте учётную запись с правами суперпользователя и базу, например:
CREATE USER <kaspersky_admin> WITH PASSWORD '<StrongPassword123!>' SUPERUSER;
CREATE DATABASE <kaspersky_admin> OWNER <kaspersky_admin>;
```

##### **Подготовка инфраструктуры:**

1\. Зарезервируйте IP-адрес из той же подсети, что и у серверов Primary/Worker. Адрес должен быть свободен и будет назначен в процессе установки (указывается в файле **param.yaml** в поле **ingress\_ip**).

2\. Добавьте в DNS-зону вашей организации (предпочтительно создать поддомен) следующие записи:

```xml
console.<smp_domain> <ingress_ip>
admsrv.<smp_domain> <ingress_ip>
api.<smp_domain> <ingress_ip>
monitoring.<smp_domain> <ingress_ip>
updater.<smp_domain> <ingress_ip>
agentserver.<smp_domain> <ingress_ip>
kuma.<smp_domain> <ingress_ip>
*.kuma.<smp_domain> <ingress_ip>
```

где, **&lt;smp\_domain&gt;** - домен или поддомен вашей организации (данный домен должен быть указан в файле параметров (param.yaml) в одноименном поле **smp\_domain**), а **&lt;ingress\_ip&gt;** - зарезервированный IP из предыдущего пункта.

<p class="callout info">Обратите внимание, что для имени **kuma** необходимо создать wildcard (\*) на DNS-сервере</p>

#### **Часть 4. Этапы установки**

##### **Подготовка файла param.yaml:**

<p class="callout warning">Для корректной работы KDT с конфигурационным файлом добавьте пустую строку в конце файла</p>

<details id="bkmrk-%D0%A4%D0%BE%D1%80%D0%BC%D0%B0%D1%82-%D1%84%D0%B0%D0%B9%D0%BB%D0%B0-%D0%B4%D0%BB%D1%8F-%D1%81%D1%82%D0%B0"><summary>Формат файла для стандартной конфигурации с сервисами KUMA внутри кластера</summary>

```yaml
schemaType: ParameterSet
schemaVersion: 1.0.1
namespace: ""
name: bootstrap
project: xdr
nodes:
  - desc: cdt-primary1
    type: primary
    host: "<IPv4_первичного_узла>"
    access:
      ssh:
        user: "<имя_пользователя>" # По умолчанию root
        key: "<путь_к_закрытому_ключу>" # По умолчанию /root/.ssh/id_rsa
  - desc: cdt-w1
    type: worker
    host: "<IPv4_рабочего_узла_1>"
    access:
      ssh:
        user: "<имя_пользователя>"
        key: "<путь_к_закрытому_ключу>"
    kind: admsrv  # Сервер администрирования будет установлен на этом узле
  - desc: cdt-w2
    type: worker
    host: "<IPv4_рабочего_узла_2>"
    access:
      ssh:
        user: "<имя_пользователя>"
        key: "<путь_к_закрытому_ключу>"
    kuma_roles: ["storage"]  # Хранилище закреплено за этим узлом
  - desc: cdt-w3
    type: worker
    host: "<IPv4_рабочего_узла_3>"
    access:
      ssh:
        user: "<имя_пользователя>"
        key: "<путь_к_закрытому_ключу>"
parameters:
  - name: psql_dsn
    source:
      value: "postgres://<dbms_username>:<password>@<fqdn_СУБД>:<порт_СУБД>" # Если пароль содержит спецсимволы, их необходимо привести к URI кодировке
  - name: ingress_ip
    source:
      value: "<IPv4_шлюза_кластера_Kubernetes>" # Ранее зарезервированный ingress_ip
  - name: ssh_pk
    source:
      path: "<путь_к_закрытому_ключу_на_устройстве_администратора>"
  - name: admin_password
    source:
      value: "<пароль_учётной_записи_admin>"
  - name: core_disk_request
    source:
      value: "512Gi"
  - name: inventory
    source:
      value: "/dev/null"  # Все сервисы KUMA будут внутри кластера Kubernetes
  - name: license
    source:
      value: "<путь_к_лицензионному_ключу>" # Рекомендуется файл переименовать в license.key
  - name: smp_domain
    source:
      value: "<доменное_имя>"
  - name: pki_host_list
    source:
      value: "admsrv api console kuma monitoring agentserver updater"
  - name: low_resources
    source:
      value: "false"
  - name: nwc-language
    source:
      value: "ruRu"  # Или "enUS"
  - name: skip_preflight_checks
    source:
      value: "false"
  - name: openbao_ha_mode
    source:
      value: "true"

```

</details><details id="bkmrk-%D0%A4%D0%BE%D1%80%D0%BC%D0%B0%D1%82-%D1%84%D0%B0%D0%B9%D0%BB%D0%B0-%D0%B4%D0%BB%D1%8F-%D0%B4%D0%B5%D0%BC"><summary>Формат файла для демонстрационной конфигурации с сервисами KUMA внутри кластера</summary>

```yaml
schemaType: ParameterSet
schemaVersion: 1.0.1
namespace: ""
name: bootstrap
project: xdr
nodes:
  - desc: "single-node"
    type: primary-worker
    host: "<IPv4_единственного_узла>"
    access:
      ssh:
        user: "<имя_пользователя>" # По умолчанию root
        key: "<путь_к_закрытому_ключу>" # По умолчанию /root/.ssh/id_rsa
parameters:
  - name: psql_dsn
    source:
      value: "postgres://<dbms_username>:<password>@<fqdn_СУБД_в_кластере>:<порт>"  # Если пароль содержит спецсимволы, их необходимо привести к URI кодировке
  - name: ingress_ip
    source:
      value: "<IPv4_шлюза_кластера_Kubernetes>" # Ранее зарезервированный ingress_ip
  - name: ssh_pk
    source:
      path: "<путь_к_закрытому_ключу>"
  - name: admin_password
    source:
      value: "<пароль_учётной_записи_admin>"
  - name: inventory
    source:
      value: "/dev/null" # Все сервисы KUMA будут внутри кластера Kubernetes
  - name: license
    source:
      value: "<путь_к_лицензионному_ключу>" # Рекомендуется файл переименовать в license.key
  - name: smp_domain
    source:
      value: "<доменное_имя>"
  - name: pki_host_list
    source:
      value: "admsrv api console kuma monitoring agentserver updater"
  - name: low_resources
    source:
      value: "true"
  - name: openbao_ha_mode
    source:
      value: "false"
  - name: openbao_standalone
    source:
      value: "true"
  - name: default_class_replica_count
    source:
      value: 1

```

</details>##### **Установка**

1\. Загрузите на устройство администратора следующие файлы:

- `bin.tar.gz` - архив с утилитой KDT, используется для развертывания и изменения параметров инсталляции
- `xdr-<version>.tar.gz` - транспортный архив с компонентами SMP
- `license.key` - ключ лицензии

2\. Распакуйте архив `bin.tar.gz`

```
tar -xzf bin.tar.gz
```

3\. Дайте файлу kdt права на выполнение:

```bash
chmod +x ./kdt
```

4\. Запустите установку командой:

```bash
./kdt apply -k <полный путь к транспортному архиву> -i <полный путь к файлу конфигурации param.yaml> --accept-eula
```

#### **Часть 5. Базовые действия после установки**

**Первый вход в веб-интерфейс:**

1. Откройте в браузере **https://console.&lt;smp\_domain&gt;**
2. Войдите под учётной записью **admin** с паролем из параметра **admin\_password** и завершите настройку 2FA.

**Активация лицензии:**

1. В главном окне приложения нажмите на имя Сервера администрирования. Откроется окно свойств Сервера администрирования
2. На вкладке **<span class="guicharacter">Общие</span>** выберите раздел **<span class="guicharacter">Лицензионные ключи</span>**
3. В разделе **<span class="guicharacter">Действующая лицензия</span>** нажмите на кнопку **<span class="guicharacter">Выбрать</span>**
4. <span class="guicharacter">В открывшемся окне выберите лицензионный ключ, который вы хотите использовать для активации Kaspersky EDR Expert (on-premise) 8.0. Если лицензионного ключа нет в списке, нажмите на кнопку **Добавить лицензионный ключ** и укажите новый лицензионный ключ</span>
5. Нажмите на кнопку **<span class="guicharacter">Сохранить</span>**

**Предоставление доступа к функционалу Kaspersky EDR:**

1. В главном окне приложения перейдите в **Параметры**, выберите раздел **Тенанты** и нажмите на **Root tenant**
2. На вкладке **Права доступа** нажмите на кнопку **Добавить пользователя**
3. Выберите пользователя **admin** и предоставьте ему роль **Главный администратор**
4. Нажмите кнопку **Сохранить** и далее **Сохранить и закрыть**

**Установка плагинов управления:**

1. Загрузите плагин управления конечным устройством для OSMP с расширением .tar на узел администратора
2. Выполните установку командой:

```
./kdt apply -k <полный путь к tar-архиву с плагином управления>
```

**Обновление баз Kaspersky EDR:**

1. В главном окне приложения перейдите в **Параметры**, выберите раздел **Тенанты** и нажмите на **Root tenant**
2. На вкладке **Параметры** перейдите к **Параметры сканирования** и на вкладку **Обновить базы**
3. Запустите обновление и дождитесь успешного статуса

**Подключение Sandbox:**

1. В главном окне приложения перейдите в **Параметры**, выберите раздел **Тенанты** и нажмите на **Root tenant**
2. На вкладке **Параметры** перейдите к **Серверы Sandbox** и нажмите кнопку **Добавить**
3. Укажите IP-адрес KATA Sandbox 8 версии, получите отпечаток, задайте произвольное имя, нажмите кнопку **Добавить**
4. В браузере перейдите и авторизуйтесь в веб-консоли Sandbox и примите запрос на подключение в разделе **Авторизация**
5. В консоли OSMP дождитесь, что статус авторизации изменился на **Одобрено** и отобразились наборы виртуальных машин

**Настройка политик для подключения телеметрии с конечных устройств:**

1. В главном окне приложения перейдите в **Управление активами - Политики**
2. Создайте политику или откройте её свойства и перейдите в **Параметры приложения**
3. Раскройте ветку **Встроенные агенты** и перейдите в параметры для **Endpoint Detection and Response Expert (on-premise)**
4. Установите переключатель в статус **ВКЛЮЧЕН.** Установите переключатель замка, чтобы изменение применялось на конечном узле
5. Выберите **Endpoint Detection and Response Expert (версия 8.0 и выше)**
6. Для раздела **Подключение к серверам сбора телеметрии** нажмите кнопку **Добавить** и нажмите **Выбрать сервер**
7. <span class="guicharacter">В открывшемся окне отметьте единственный сервер коллектора и нажмите кнопку **Добавить**</span>
8. <span class="guicharacter">Ниже повторите действия для указания сервера реагирования</span>
9. <span class="guicharacter">При необходимости настройте другие пункты политики и сохраните изменения</span>

**<span class="guicharacter">Настройка политик для подключения Sandbox к конечным устройствам:</span>**

1. В главном окне приложения перейдите в **Параметры**, выберите раздел **Тенанты** и нажмите на **Root tenant**
2. На вкладке **Параметры** перейдите к **Сертификаты** и нажмите кнопку **Экспортировать** сертификат сервера и ниже сертификат Endpoint Agent, указав пароль
3. В главном окне приложения перейдите в **Управление активами - Политики**
4. Создайте политику или откройте её свойства и перейдите в **Параметры приложения**
5. Раскройте ветку **Встроенные агенты** и перейдите в параметры для **Sandbox**
6. Установите переключатель в статус **ВКЛЮЧЕН.** Установите переключатель замка, чтобы изменение применялось на конечном узле
7. Выберите режим интеграции **KATA Sandbox**
8. Для раздела **Подключение к серверам Sandbox** нажмите кнопку **Добавить** и укажите адрес сервера **agentserver.&lt;smp\_domain&gt;**
9. Нажмите **Настройки подключения** и загрузите экспортированный сертификат сервера. В этом же поле обязательно включите использование двусторонней аутентификации и подставьте сертификат Endpoint Agent с паролем, указанным при его экспорте
10. <span class="guicharacter">При необходимости настройте другие пункты политики и сохраните изменения</span>

Базовая настройка завершена. Подключите совместимые приложения KES для Windows 12.11 и выше, KES для Linux 12.4, KES для Mac 12.2.1 и приступайте к работе с Kaspersky EDR Expert (on-premise).

# Инструкции по настройке

# Оптимизация дисковой подсистемы

[В данной статье](https://support.kaspersky.ru/xdr-expert/2.0/314034) на XDR описаны общие рекомендации, которые также применимы к функциональности KEDR. Нас интересует именно требования к дискам и хранилищам.

Перед дальнейшими изменениями можете выполнить команду на сервере СУБД и записать результаты:

```bash
fio --name=test --directory=/var/lib/postgresql/<ваша_версия>/main --rw=randrw --bs=8k --size=1G --iodepth=16 --ioengine=libaio --direct=1 --fsync=1 --runtime=60
```

**Для начала выполним быструю проверку типа диска:**

```bash
lsblk -d -o name,rota,TYPE,MODEL,SIZE
```

Ожидаемые выводы и их интерпритация:

```bash
#Пример 1: SSD
NAME    ROTA    TYPE    MODEL              SIZE
sda        0    disk    Samsung_SSD_860    500G   # ROTA=0 (SSD)

#Пример 2: HDD
NAME    ROTA    TYPE    MODEL              SIZE
sda        1    disk    WDC_WD10EZEX       1T     # ROTA=1 (HDD)

#Пример 3: Виртуальный диск (VMware)
NAME    ROTA    TYPE    MODEL              SIZE
sda        0    disk    Virtual_disk       100G   # ROTA=0 (считаем как SSD)

#Пример 4: NVMe
NAME    ROTA    TYPE    MODEL              SIZE
nvme0n1    0    disk    INTEL_SSD          500G   # NVMe (всегда SSD)
```

**Далее настроим планировщие I/O:**

Создадим udev правило и отредактируем его:

```bash
nano /etc/udev/rules.d/60-scheduler.rules
```

Для SSD (ROTA=0) вставим следующие значения:

```bash
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="mq-deadline"
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/nr_requests}="1024"
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/max_sectors_kb}="2048"
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/read_ahead_kb}="128"
```

Для HDD (ROTA=1):

```bash
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="mq-deadline"
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/nr_requests}="256"
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/max_sectors_kb}="512"
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/read_ahead_kb}="256"
```

Для NVMe (ROTA=0):

```bash
ACTION=="add|change", KERNEL=="nvme[0-9]*", ATTR{queue/scheduler}="none"
ACTION=="add|change", KERNEL=="nvme[0-9]*", ATTR{queue/nr_requests}="1024"
```

И применим правила:

```bash
udevadm control --reload-rules
udevadm trigger --name-match=sda #изменить имя диска, если отличается
```

**Далее настроим параметры ядра (sysctl):**

Создадим файл настроек и отредактируем его:

```bash
nano /etc/sysctl.d/99-database-tuning.conf
```

Для SSD / NVMe / Виртуальных дисков (ROTA=0):

```bash
vm.dirty_ratio = 10
vm.dirty_background_ratio = 5
vm.dirty_expire_centisecs = 3000
vm.dirty_writeback_centisecs = 500

fs.aio-max-nr = 2097152

vm.swappiness = 1
vm.vfs_cache_pressure = 50

net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
```

Для HDD (ROTA=1):

```bash
vm.dirty_ratio = 30
vm.dirty_background_ratio = 10
vm.dirty_expire_centisecs = 6000
vm.dirty_writeback_centisecs = 3000

fs.aio-max-nr = 2097152

vm.swappiness = 1
vm.vfs_cache_pressure = 50

net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
```

И применем настройки:

```bash
sysctl -p /etc/sysctl.d/99-database-tuning.conf
```

**Далее настроим опции файловой системы:**

Отредактируем fstab (предварительно сделайте резервную копию):

```bash
nano /etc/fstab
```

Найдём строку, как пример для ext4:

```bash
UUID=3fe51788-bb69-467d-89a9-a146c1df7fdd /                       ext4    defaults        1 1
```

Заменим на:

```bash
UUID=3fe51788-bb69-467d-89a9-a146c1df7fdd /                       ext4    rw,noatime,nodiratime,data=ordered,errors=remount-ro        1 1
```

Для xfs заменим на: **noatime,nodiratime,logbufs=8,logbsize=256k**

Далее перемонтируем корневую систему:

```bash
mount -o remount /
```

или перезагрузим систему.

Также рекомендую обновить systemd после изменения /etc/fstab:

```bash
systemctl daemon-reload
```

**Далее настроим TRIM (только для SSD):**

```bash
# Включить fstrim.timer:
systemctl enable --now fstrim.timer

# Проверить статус:
systemctl status fstrim.timer
```

**Далее перепроверим конфигуарцию postgresql.conf:**

```bash
nano /etc/postgresql/<ВЕРСИЯ>/main/postgresql.conf

# Переопределите следующие параметры:
listen_addresses = '*'
port = 5432
max_connections = 512
shared_buffers = 8GB                  # 25% от ОЗУ, минимум 3 ГБ
effective_cache_size = 24GB           # 75% от ОЗУ
temp_buffers = 24MB
work_mem = 64MB
maintenance_work_mem = 1GB
max_stack_depth = 7MB                 # Для Linux: ulimit -s минус 1 МБ
effective_io_concurrency = 200        # 200 для SSD или 2 для HDD
max_parallel_workers_per_gather = 0
wal_buffers = 64MB
max_wal_size = 4GB
min_wal_size = 1GB
random_page_cost = 1.1                # 1.1 для SSD или 4.0 для HDD
log_hostname = 1
standard_conforming_strings = on      # Обязательно должно быть 'on'
```

Повторно можете выполнить команду fio и сравнить с первоначальными результатами. Должны увидеть рост пропускной способности, уменьшение задержек, увеличение числа операций в единицу времени.

# Настройка доменной аутентификации Kerberos

Процесс настройки доменной аутентификации описан [в официальной справке](https://support.kaspersky.ru/kedr-expert-on-premise/8.0/310242). Обратите внимание, что keytab выписывается на console.&lt;smp.domain&gt;.

Если после этого возникли проблемы с авторизацией или всплывает окно для ввода учетных данных, то:

**1) Проверка keytab файла**

Установите MIT Kerberos for Windows: [https://web.mit.edu/kerberos/dist/kfw/](https://web.mit.edu/kerberos/dist/kfw/)

И выполните:

```powershell
"C:\Program Files (x86)\MIT\Kerberos\bin\klist.exe" -k -t -e C:\<путь>\<имя>.keytab
```

Правильный вывод:

<table border="1" id="bkmrk-kvno-timestamp-princ" style="border-collapse: collapse; width: 69.4048%; height: 59.2px;"><colgroup><col style="width: 11.4504%;"></col><col style="width: 25.4453%;"></col><col style="width: 63.068%;"></col></colgroup><tbody><tr style="height: 29.6px;"><td style="height: 29.6px;">**KVNO**</td><td style="height: 29.6px;">**Timestamp**</td><td style="height: 29.6px;">**Principal**</td></tr><tr style="height: 29.6px;"><td style="height: 29.6px;">3</td><td style="height: 29.6px;">01/01/70 03:00:00</td><td style="height: 29.6px;">HTTP/console.xdr.sales.lab@SALES.LAB (AES-256 CTS...)</td></tr></tbody></table>

Частые ошибки это двойные бэкслеши **HTTP\\\\console...**, либо неправильное шифрование **etype: arcfour-hmac**, либо kvno указан иной. В этом случае, то пересоздайте keytab, указав верные данные, включая учетную запись, к который прикреплен SPN.

**2) Настройка браузера для SSO**

Быстрая локальная проверка - это запуск браузера с параметрами:

```powershell
chrome.exe --auth-server-allowlist="*.<smp.domain>"
msedge.exe --auth-server-allowlist="*.<smp.domain>"
```

Закрепить результат можно через Group Policy Management Editor (gpme.msc) перейдите в **Computer Configuration → Preferences → Windows Settings → Registry** и добавьте элемент со следующими значениями:

<table border="1" id="bkmrk-%D0%9F%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80-%D0%97%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B4%D0%BB" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 33.3333%;"></col><col style="width: 33.3333%;"></col><col style="width: 33.3333%;"></col></colgroup><tbody><tr><td class="align-center">**Параметр**</td><td class="align-center">**Значение для Chrome**</td><td class="align-center">**Значение для Edge**</td></tr><tr><td>Action</td><td>Update</td><td>Update</td></tr><tr><td>Hive</td><td>HKEY\_LOCAL\_MACHINE</td><td>HKEY\_LOCAL\_MACHINE</td></tr><tr><td>Key Path</td><td>SOFTWARE\\Policies\\Google\\Chrome</td><td>SOFTWARE\\Policies\\Microsoft\\Edge</td></tr><tr><td>Value name</td><td>AuthServerAllowlist</td><td>AuthServerAllowlist</td></tr><tr><td>Value type</td><td>REG\_SZ</td><td>REG\_SZ</td></tr><tr><td>Value data</td><td>\*.&lt;smp.domain&gt;</td><td>\*.&lt;smp.domain&gt;</td></tr></tbody></table>

Также можно добавить изменение в локальный реестр:

```powershell
reg add "HKLM\SOFTWARE\Policies\Google\Chrome" /v AuthServerAllowlist /t REG_SZ /d "*.<smp.domain>" /f
reg add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v AuthServerAllowlist /t REG_SZ /d "*.<smp.domain>" /f
```

Для корпоративных браузеров можно использовать ADMX шаблоны.

При изменении политики на клиентском ПК необходимо выполнить:

```powershell
gpupdate /force
```

**3) Legacy способ с настройкой системной зоны**

В локальной политике или групповой политике перейти в **Computer Configuration → Administrative Templates → Windows Components → Internet Explorer → Internet Control Panel → Security Page** и для **Site to Zone Assignment List** добавить содержание **\*.&lt;smp.domain&gt;** со значением **1**.

При изменении политики на клиентском ПК необходимо выполнить:

```powershell
gpupdate /force
```

Способ устаревший и уже не применяется для браузера Mozilla Firefox!

# Диагностика и решение проблем

# KEDR Expert on-premise: общие рекомендации по диагностике и устранению неполадок

**<span class="qwen-markdown-text" data-spm-anchor-id="a2ty_o01.29997173.0.i15.369755fbw1C4t0">Версия продукта</span>**<span class="qwen-markdown-text">: KEDR Expert on-premise 8.0</span>  
**<span class="qwen-markdown-text">Актуальный список ограничений</span>**<span class="qwen-markdown-text">: </span>[<span class="qwen-markdown-text">support.kaspersky.ru/kedr-expert-on-premise/8.0/303912</span>](https://support.kaspersky.ru/kedr-expert-on-premise/8.0/303912)

**1. Проверка основных компонентов KUMA (вне Kubernetes кластере):**

```bash
systemctl status kuma-collector-<id>.service
systemctl status kuma-correlator-<id>.service
systemctl status kuma-storage-<id>.service
```

ID компонента можно скопировать из консоли OSMP (Ресурсы и сервисы - Активные сервисы)

<table border="1" id="bkmrk-" style="border-collapse: collapse; width: 63.5714%; height: 312px;"><colgroup><col style="width: 100%;"></col></colgroup><tbody><tr><td>[![{3ABA65D2-104B-4854-A580-14D7609B56BB}.png](https://antiapt-community.ru/uploads/images/gallery/2026-04/scaled-1680-/YSmwaQhFSSNuTHeU-3aba65d2-104b-4854-a580-14d7609b56bb.png)](https://antiapt-community.ru/uploads/images/gallery/2026-04/YSmwaQhFSSNuTHeU-3aba65d2-104b-4854-a580-14d7609b56bb.png)

</td></tr></tbody></table>

Работа с логами через системное журналирование:

```bash
journalctl -xe
journalctl -xe | grep "<component-name-with-id>"
journalctl -u "<component-name-with-id>" -e
```

Работа с логами коллекторов, корреляторов и хранилищ:

```bash
less /opt/kaspersky/kuma/collector/<collector_id>/log/collector
less /opt/kaspersky/kuma/correlator/<correlator_id>/log/correlator
less /opt/kaspersky/kuma/storage/<storage_id>/log/storage
tail -n 100 /opt/Kaspersky/kuma/storage/<storage_id>/log/storage 
systemctl list-units | grep kuma-<name service>
```

Проверить открыт ли удаленный порт:

```bash
telnet <host-ip> <port>
nc -uzv <host-ip> <port>
nmap <host-ip> -p <port>
```

Проверить открытые порты:

```bash
firewall-cmd --list-ports
```

Открыть порт на firewall:

```
firewall-cmd --add-port=7210/tcp --permanent
firewall-cmd --reload
```

Проверка входящих подключений через tcpdump:

```bash
tcpdump -i any port 5144 -A
```

**2. Полезные команды для работы с Kubernetes**

**Для Kubernetes k0s Cluster**

<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" id="bkmrk-task-command-view-cl" style="width: 640px; margin-left: -4.75pt; border-collapse: collapse; border-image: initial; border: medium none currentcolor;" width="1050"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes;"><td style="width: 233.198px; border: 1pt solid windowtext; padding: 0cm 5.4pt;" valign="top" width="600">**<span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">Task</span>**

</td><td style="width: 405.469px; border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; border-color: windowtext windowtext windowtext currentcolor; border-image: initial; padding: 0cm 5.4pt;" valign="top" width="450">**<span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">Command</span>**

</td></tr><tr style="mso-yfti-irow: 1;"><td style="width: 233.198px; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor windowtext windowtext; border-image: initial; padding: 0cm 5.4pt;" valign="top" width="600"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">View cluster info</span>

</td><td style="width: 405.469px; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor windowtext windowtext currentcolor; padding: 0cm 5.4pt;" valign="top" width="450"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">k0s kubectl cluster-info</span>

</td></tr><tr style="mso-yfti-irow: 2;"><td style="width: 233.198px; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor windowtext windowtext; border-image: initial; padding: 0cm 5.4pt;" valign="top" width="600"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">View nodes</span>

</td><td style="width: 405.469px; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor windowtext windowtext currentcolor; padding: 0cm 5.4pt;" valign="top" width="450"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">k0s kubectl get nodes</span>

</td></tr><tr style="mso-yfti-irow: 3;"><td style="width: 233.198px; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor windowtext windowtext; border-image: initial; padding: 0cm 5.4pt;" valign="top" width="600"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">View node details</span>

</td><td style="width: 405.469px; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor windowtext windowtext currentcolor; padding: 0cm 5.4pt;" valign="top" width="450"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">k0s kubectl describe node &lt;node-name&gt;</span>

</td></tr><tr style="mso-yfti-irow: 4; mso-yfti-lastrow: yes;"><td style="width: 233.198px; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor windowtext windowtext; border-image: initial; padding: 0cm 5.4pt;" width="600"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">Check k0s status</span>

</td><td style="width: 405.469px; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor windowtext windowtext currentcolor; padding: 0cm 5.4pt;" width="450"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">k0s status</span>

</td></tr></tbody></table>

**Для Kubernetes k0s Pods**

<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" id="bkmrk-task-command-list-al" style="width: 641px; margin-left: -4.75pt; border-collapse: collapse; border-image: initial; height: 131.542px; border: medium none currentcolor;" width="1050"><tbody><tr style="height: 18.7917px;"><td style="width: 231.208px; border: 1pt solid windowtext; padding: 0cm 5.4pt; height: 18.7917px;" valign="top" width="600">**<span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">Task</span>**

</td><td style="width: 408.458px; border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; border-color: windowtext windowtext windowtext currentcolor; border-image: initial; padding: 0cm 5.4pt; height: 18.7917px;" valign="top" width="450">**<span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">Command</span>**

</td></tr><tr style="height: 18.7917px;"><td style="width: 231.208px; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor windowtext windowtext; border-image: initial; padding: 0cm 5.4pt; height: 18.7917px;" width="600"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">List all pods</span>

</td><td style="width: 408.458px; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor windowtext windowtext currentcolor; padding: 0cm 5.4pt; height: 18.7917px;" width="450"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">k0s kubectl get pods -A</span>

</td></tr><tr style="height: 18.7917px;"><td style="width: 231.208px; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor windowtext windowtext; border-image: initial; padding: 0cm 5.4pt; height: 18.7917px;" width="600"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">List all pods changes in real-time</span>

</td><td style="width: 408.458px; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor windowtext windowtext currentcolor; padding: 0cm 5.4pt; height: 18.7917px;" width="450"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">k0s kubectl get pods -A --watch</span>

</td></tr><tr style="height: 18.7917px;"><td style="width: 231.208px; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor windowtext windowtext; border-image: initial; padding: 0cm 5.4pt; height: 18.7917px;" width="600"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">List pods in a namespace</span>

</td><td style="width: 408.458px; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor windowtext windowtext currentcolor; padding: 0cm 5.4pt; height: 18.7917px;" width="450"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">k0s kubectl get pods -n &lt;namespace&gt;</span>

</td></tr><tr style="height: 18.7917px;"><td style="width: 231.208px; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor windowtext windowtext; border-image: initial; padding: 0cm 5.4pt; height: 18.7917px;" width="600"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">Pod details</span>

</td><td style="width: 408.458px; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor windowtext windowtext currentcolor; padding: 0cm 5.4pt; height: 18.7917px;" width="450"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">k0s kubectl describe pod &lt;pod-name&gt; -n &lt;namespace&gt;</span>

</td></tr><tr style="height: 18.7917px;"><td style="width: 231.208px; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor windowtext windowtext; border-image: initial; padding: 0cm 5.4pt; height: 18.7917px;" width="600"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">Delete pod</span>

</td><td style="width: 408.458px; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor windowtext windowtext currentcolor; padding: 0cm 5.4pt; height: 18.7917px;" width="450"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">k0s kubectl delete pod &lt;pod-name&gt; -n &lt;namespace&gt;</span>

</td></tr><tr style="height: 18.7917px;"><td style="width: 231.208px; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor windowtext windowtext; border-image: initial; padding: 0cm 5.4pt; height: 18.7917px;" width="600"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">Exec into a pod</span>

</td><td style="width: 408.458px; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor windowtext windowtext currentcolor; padding: 0cm 5.4pt; height: 18.7917px;" width="450"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">k0s kubectl exec -it &lt;pod-name&gt; -n &lt;namespace&gt; -- /bin/sh</span>

</td></tr></tbody></table>

<span style="color: rgb(0, 0, 0);">**Для Kubernetes k0s Namespace**</span>

<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" id="bkmrk-task-command-list-na" style="width: 641px; margin-left: -4.75pt; border-collapse: collapse; border-image: initial; height: 131.542px; border: medium none currentcolor;" width="1050"><tbody><tr style="height: 18.7917px;"><td style="width: 231.198px; border: 1pt solid windowtext; padding: 0cm 5.4pt; height: 18.7917px;" valign="top" width="600"><span style="color: rgb(0, 0, 0);">**<span style="font-family: 'Kaspersky Sans Display', sans-serif;">Task</span>**</span>

</td><td style="width: 408.469px; border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; border-color: windowtext windowtext windowtext currentcolor; border-image: initial; padding: 0cm 5.4pt; height: 18.7917px;" valign="top" width="450"><span style="color: rgb(0, 0, 0);">**<span style="font-family: 'Kaspersky Sans Display', sans-serif;">Command</span>**</span>

</td></tr><tr style="height: 18.7917px;"><td style="width: 231.198px; border: 1pt solid windowtext; padding: 0cm 5.4pt;" width="600"><span style="font-family: 'Kaspersky Sans Display', sans-serif; color: rgb(0, 0, 0);">List namespaces</span>

</td><td style="width: 408.469px; border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; border-color: windowtext windowtext windowtext currentcolor; border-image: initial; padding: 0cm 5.4pt;" width="450"><span style="font-family: 'Kaspersky Sans Display', sans-serif; color: rgb(0, 0, 0);">k0s kubectl get namespaces -A</span>

</td></tr><tr style="height: 18.7917px;"><td style="width: 231.198px; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor windowtext windowtext; border-image: initial; padding: 0cm 5.4pt;" width="600"><span style="font-family: 'Kaspersky Sans Display', sans-serif; color: rgb(0, 0, 0);">Get all resources in namespace</span>

</td><td style="width: 408.469px; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor windowtext windowtext currentcolor; padding: 0cm 5.4pt;" width="450"><span style="font-family: 'Kaspersky Sans Display', sans-serif; color: rgb(0, 0, 0);">k0s kubectl get all -n &lt;namespace&gt;</span>

</td></tr><tr style="height: 18.7917px;"><td style="width: 231.198px; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor windowtext windowtext; border-image: initial; padding: 0cm 5.4pt;" width="600"><span style="font-family: 'Kaspersky Sans Display', sans-serif; color: rgb(0, 0, 0);">Delete namespace</span>

</td><td style="width: 408.469px; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor windowtext windowtext currentcolor; padding: 0cm 5.4pt;" width="450"><span style="font-family: 'Kaspersky Sans Display', sans-serif; color: rgb(0, 0, 0);">k0s kubectl delete namespace &lt;name&gt;</span>

</td></tr></tbody></table>

**Для Kubernetes k0s Secrets &amp; ConfigMaps**

<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" id="bkmrk-task-command-list-al-1" style="width: 641px; margin-left: -4.75pt; border-collapse: collapse; border-image: initial; height: 131.542px; border: medium none currentcolor;" width="1050"><tbody><tr style="height: 18.7917px;"><td style="width: 231.198px; border: 1pt solid windowtext; padding: 0cm 5.4pt; height: 18.7917px;" valign="top" width="600">**<span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">Task</span>**

</td><td style="width: 408.469px; border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; border-color: windowtext windowtext windowtext currentcolor; border-image: initial; padding: 0cm 5.4pt; height: 18.7917px;" valign="top" width="450">**<span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">Command</span>**

</td></tr><tr style="height: 18.7917px;"><td style="width: 231.198px; border: 1pt solid windowtext; padding: 0cm 5.4pt;" width="600"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">List all secrets</span>

</td><td style="width: 408.469px; border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; border-color: windowtext windowtext windowtext currentcolor; border-image: initial; padding: 0cm 5.4pt;" width="450"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">k0s kubectl get secrets -A</span>

</td></tr><tr style="height: 18.7917px;"><td style="width: 231.198px; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor windowtext windowtext; border-image: initial; padding: 0cm 5.4pt;" width="600"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">List secrets in a namespace</span>

</td><td style="width: 408.469px; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor windowtext windowtext currentcolor; padding: 0cm 5.4pt;" width="450"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">k0s kubectl get secret<span style="mso-spacerun: yes;"> </span>-n &lt;namespace&gt;</span>

</td></tr><tr style="height: 18.7917px;"><td style="width: 231.198px; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor windowtext windowtext; border-image: initial; padding: 0cm 5.4pt;" width="600"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">View secret (base64 encoded)</span>

</td><td style="width: 408.469px; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor windowtext windowtext currentcolor; padding: 0cm 5.4pt;" width="450"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">k0s kubectl get secret &lt;name&gt; -n &lt;namespace&gt; -o yaml</span>

</td></tr><tr style="height: 18.7917px;"><td style="width: 231.198px; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor windowtext windowtext; border-image: initial; padding: 0cm 5.4pt;" width="600"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">Decode secret</span>

</td><td style="width: 408.469px; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor windowtext windowtext currentcolor; padding: 0cm 5.4pt;" width="450"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">k0s kubectl get secret -o jsonpath=”{.data.}” -n &lt;namespace&gt;</span>

</td></tr><tr style="height: 18.7917px;"><td style="width: 231.198px; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor windowtext windowtext; border-image: initial; padding: 0cm 5.4pt;" width="600"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">List configmaps</span>

</td><td style="width: 408.469px; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor windowtext windowtext currentcolor; padding: 0cm 5.4pt;" width="450"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">k0s kubectl get configmap</span>

</td></tr><tr style="height: 18.7917px;"><td style="width: 231.198px; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor windowtext windowtext; border-image: initial; padding: 0cm 5.4pt;" width="600"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">View configmap</span>

</td><td style="width: 408.469px; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor windowtext windowtext currentcolor; padding: 0cm 5.4pt;" width="450"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">k0s kubectl describe configmap &lt;name&gt;</span>

</td></tr></tbody></table>

**Для Kubernetes k0s Logs**

<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" id="bkmrk-task-command-view-lo" style="width: 641px; margin-left: -4.75pt; border-collapse: collapse; height: 131.542px; border-image: initial; border: medium none currentcolor;" width="1050"><tbody><tr style="height: 18.7917px;"><td style="width: 231.198px; border: 1pt solid windowtext; padding: 0cm 5.4pt; height: 18.7917px;" valign="top" width="600">**<span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">Task</span>**

</td><td style="width: 408.469px; border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; border-color: windowtext windowtext windowtext currentcolor; border-image: initial; padding: 0cm 5.4pt; height: 18.7917px;" valign="top" width="450">**<span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">Command</span>**

</td></tr><tr style="height: 18.7917px;"><td style="width: 231.198px; border: 1pt solid windowtext; padding: 0cm 5.4pt;" width="600"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">View logs of a pod</span>

</td><td style="width: 408.469px; border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; border-color: windowtext windowtext windowtext currentcolor; border-image: initial; padding: 0cm 5.4pt;" width="450"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">k0s kubectl logs &lt;pod-name&gt; -n &lt;namespace&gt;</span>

</td></tr><tr style="height: 18.7917px;"><td style="width: 231.198px; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor windowtext windowtext; border-image: initial; padding: 0cm 5.4pt;" width="600"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">Get logs of a pod in a real time</span>

</td><td style="width: 408.469px; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor windowtext windowtext currentcolor; padding: 0cm 5.4pt;" width="450"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">k0s kubectl logs -f &lt;pod-name&gt; -n &lt;namespace&gt;</span>

</td></tr><tr style="height: 18.7917px;"><td style="width: 231.198px; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor windowtext windowtext; border-image: initial; padding: 0cm 5.4pt;" width="600"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">Save a specific log to the file</span>

</td><td style="width: 408.469px; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor windowtext windowtext currentcolor; padding: 0cm 5.4pt;" width="450"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">k0s kubectl logs -f &lt;pod-name&gt; -n &lt;namespace&gt; &gt; log.txt</span>

</td></tr><tr style="height: 18.7917px;"><td style="width: 231.198px; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor windowtext windowtext; border-image: initial; padding: 0cm 5.4pt;" width="600"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">Stream logs</span>

</td><td style="width: 408.469px; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor windowtext windowtext currentcolor; padding: 0cm 5.4pt;" width="450"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">k0s kubectl logs -f &lt;pod-name&gt; -n &lt;namespace&gt;</span>

</td></tr><tr style="height: 18.7917px;"><td style="width: 231.198px; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor windowtext windowtext; border-image: initial; padding: 0cm 5.4pt;" width="600"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">View logs of previous run</span>

</td><td style="width: 408.469px; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor windowtext windowtext currentcolor; padding: 0cm 5.4pt;" width="450"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">k0s kubectl logs --previous &lt;pod-name&gt; -n &lt;namespace&gt;</span>

</td></tr></tbody></table>

**Для Kubernetes k0s Deployments &amp; Services**

<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" id="bkmrk-task-command-list-al-2" style="width: 641px; margin-left: -4.75pt; border-collapse: collapse; height: 131.542px; border-image: initial; border: medium none currentcolor;" width="1050"><tbody><tr style="height: 18.7917px;"><td style="width: 231.198px; border: 1pt solid windowtext; padding: 0cm 5.4pt; height: 18.7917px;" valign="top" width="600">**<span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">Task</span>**

</td><td style="width: 408.469px; border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; border-color: windowtext windowtext windowtext currentcolor; border-image: initial; padding: 0cm 5.4pt; height: 18.7917px;" valign="top" width="450">**<span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">Command</span>**

</td></tr><tr style="height: 18.7917px;"><td style="width: 231.198px; border: 1pt solid windowtext; padding: 0cm 5.4pt;" width="600"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">List all deployments</span>

</td><td style="width: 408.469px; border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; border-color: windowtext windowtext windowtext currentcolor; border-image: initial; padding: 0cm 5.4pt;" width="450"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">k0s kubectl get deployments -A</span>

</td></tr><tr style="height: 18.7917px;"><td style="width: 231.198px; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor windowtext windowtext; border-image: initial; padding: 0cm 5.4pt;" width="600"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">List deployments in a namespace</span>

</td><td style="width: 408.469px; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor windowtext windowtext currentcolor; padding: 0cm 5.4pt;" width="450"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">k0s kubectl get deployments -n &lt;namespace&gt;</span>

</td></tr><tr style="height: 18.7917px;"><td style="width: 231.198px; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor windowtext windowtext; border-image: initial; padding: 0cm 5.4pt;" width="600"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">List services</span>

</td><td style="width: 408.469px; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor windowtext windowtext currentcolor; padding: 0cm 5.4pt;" width="450"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">k0s kubectl get svc</span>

</td></tr><tr style="height: 18.7917px;"><td style="width: 231.198px; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor windowtext windowtext; border-image: initial; padding: 0cm 5.4pt;" width="600"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">View deployment status</span>

</td><td style="width: 408.469px; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor windowtext windowtext currentcolor; padding: 0cm 5.4pt;" width="450"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">k0s kubectl rollout status deployment/&lt;name&gt;</span>

</td></tr><tr style="height: 18.7917px;"><td style="width: 231.198px; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor windowtext windowtext; border-image: initial; padding: 0cm 5.4pt;" width="600"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">Restart deployment</span>

</td><td style="width: 408.469px; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor windowtext windowtext currentcolor; padding: 0cm 5.4pt;" width="450"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">k0s kubectl rollout restart deployment &lt;name&gt;</span>

</td></tr></tbody></table>

**Для Kubernetes k0s PVC**

<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" id="bkmrk-task-command-list-al-3" style="width: 641px; margin-left: -4.75pt; border-collapse: collapse; border-image: initial; height: 131.542px; border: medium none currentcolor;" width="1050"><tbody><tr style="height: 18.7917px;"><td style="width: 231.198px; border: 1pt solid windowtext; padding: 0cm 5.4pt; height: 18.7917px;" valign="top" width="600">**<span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">Task</span>**

</td><td style="width: 408.469px; border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; border-color: windowtext windowtext windowtext currentcolor; border-image: initial; padding: 0cm 5.4pt; height: 18.7917px;" valign="top" width="450">**<span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">Command</span>**

</td></tr><tr style="height: 18.7917px;"><td style="width: 231.198px; border: 1pt solid windowtext; padding: 0cm 5.4pt;" width="600"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">List all PV</span>

</td><td style="width: 408.469px; border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; border-color: windowtext windowtext windowtext currentcolor; border-image: initial; padding: 0cm 5.4pt;" width="450"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">K0s kubectl get pvc -A</span>

</td></tr><tr style="height: 18.7917px;"><td style="width: 231.198px; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor windowtext windowtext; border-image: initial; padding: 0cm 5.4pt;" width="600"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">List PVCs in a namespace</span>

</td><td style="width: 408.469px; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor windowtext windowtext currentcolor; padding: 0cm 5.4pt;" width="450"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">k0s kubectl get pvc -n &lt;namespace&gt;</span>

</td></tr><tr style="height: 18.7917px;"><td style="width: 231.198px; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor windowtext windowtext; border-image: initial; padding: 0cm 5.4pt;" width="600"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">PVC details</span>

</td><td style="width: 408.469px; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor windowtext windowtext currentcolor; padding: 0cm 5.4pt;" width="450"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">k0s kubectl describe pvc &lt;pvc-name&gt; -n &lt;namespace&gt;</span>

</td></tr><tr style="height: 18.7917px;"><td style="width: 231.198px; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor windowtext windowtext; border-image: initial; padding: 0cm 5.4pt;" width="600"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">Edit a PVC in a namespace</span>

</td><td style="width: 408.469px; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor windowtext windowtext currentcolor; padding: 0cm 5.4pt;" width="450"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">k0s kubectl edit pvc -n &lt;namespace&gt;</span>

</td></tr><tr style="height: 18.7917px;"><td style="width: 231.198px; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor windowtext windowtext; border-image: initial; padding: 0cm 5.4pt;" width="600"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">List all PV</span>

</td><td style="width: 408.469px; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor windowtext windowtext currentcolor; padding: 0cm 5.4pt;" width="450"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">K0s kubectl get pv -A</span>

</td></tr><tr><td style="width: 231.198px; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor windowtext windowtext; border-image: initial; padding: 0cm 5.4pt;" width="600"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">List PVCs in a namespace</span>

</td><td style="width: 408.469px; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor windowtext windowtext currentcolor; padding: 0cm 5.4pt;" width="450"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">k0s kubectl get pv -n &lt;namespace&gt;</span>

</td></tr><tr style="height: 18.7917px;"><td style="width: 231.198px; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor windowtext windowtext; border-image: initial; padding: 0cm 5.4pt;" width="600"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">PVC details</span>

</td><td style="width: 408.469px; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: currentcolor windowtext windowtext currentcolor; padding: 0cm 5.4pt;" width="450"><span style="font-family: 'Kaspersky Sans Display',sans-serif; color: black; mso-themecolor: text1; mso-fareast-language: JA; mso-bidi-language: RU;">k0s kubectl describe pv &lt;pvc-name&gt; -n &lt;namespace&gt;</span>

</td></tr></tbody></table>

**<span style="color: rgb(0, 0, 0);">3. Получение диагностической информации о KEDR (XDR) компонентах</span>**

Утилита KDT позволяет получать диагностическую информацию о компонентах KEDR (XDR), устранять неполадки самостоятельно или с помощью службы технической поддержки Kaspersky.  
1\) После установки вы можете выполнить следующую команду, чтобы просмотреть список всех установленных компонентов:

```bash
./kdt state
```

2\) Отобразится список установленных компонентов. Правильно установленные компоненты имеют статус "Succeeded". Если установка компонента завершилась неудачно, этот компонент имеет статус "Failed".  
3\) Чтобы просмотреть полный журнал установки некорректно установленного компонента, выполните следующую команду:

```bash
./kdt state -l <имя_компонента>
```

4\) Чтобы получить диагностическую информацию о компонентах и веб-плагинах управления на хосте администратора, где расположена утилита KDT, выполните следующую команду и укажите необходимый флаг:

```bash
./kdt logs get <флаг>
```

a. Где &lt;флаги&gt; - это параметры команды, которая позволяет настроить результат ведения журнала.  
b. Вы можете указать следующие параметры ведения журнала:

- Период регистрации, например, все журналы за последние 12 часов:

```bash
./kdt logs get --to-archive --last=12h
```

- Вы можете получить диагностическую информацию за период от 2 минут до 7 дней. Если период регистрации не указан, вы получите его за максимальное время.
- Путь к целевому файлу и каталог для сохранения диагностической информации:

```bash
./kdt logs get -D ./path_to_folder/ --last=12h
```

5\) Чтобы просмотреть доступные флаги, выполните одну из следующих команд:

```bash
./kdt logs get -h
./kdt logs get --help
```

6\) Логи также можно загрузить непосредственно из pod'ов. Для этого выполните команды (не забудьте изменить namespace):

```bash
k0s kubectl get pods -A
k0s kubectl get pods -n irp 
k0s kubectl logs interpreter-58c5856f7c-hfd87 -n irp  
```

Где имя **interpreter-58c5856f7c-hfd87** должно быть изменено на уникальное имя вашего pod'а

# Очистка событий в хранилище (освобождение места)

**Вариант 1: Автоматическая ротация через политику хранения**

- Перейдите в **Ресурсы и сервисы - Активные сервисы**
- Нажмите на имя нужного сервиса хранилища
- Измените условие хранения:

<table border="1" id="bkmrk-" style="border-collapse: collapse; width: 92.619%; height: 589px;"><colgroup><col style="width: 100%;"></col></colgroup><tbody><tr><td>[![{4A3C719D-F847-4F01-9991-E328FBF68A45}.png](https://antiapt-community.ru/uploads/images/gallery/2026-04/scaled-1680-/lz4D8LNWoSHUfrSV-4a3c719d-f847-4f01-9991-e328fbf68a45.png)](https://antiapt-community.ru/uploads/images/gallery/2026-04/lz4D8LNWoSHUfrSV-4a3c719d-f847-4f01-9991-e328fbf68a45.png)

</td></tr></tbody></table>

**<span style="color: rgb(224, 62, 45);">Примечание:</span>** Изменения применяются в течение ~1 часа. Устаревшие разделы будут удалены автоматически.

**Вариант 2: Ручная очистка разделов**

- Перейдите в Ресурсы и сервисы - Активные сервисы
- Нажмите правой кнопкой на имя нужного сервиса хранилища
- Перейдите в просмотр разделов и вручную удалите выбранные разделы (место на диске будет увеличено сразу)

<table border="1" id="bkmrk--1" style="border-collapse: collapse; width: 62.8571%; height: 211.521px;"><colgroup><col style="width: 100%;"></col></colgroup><tbody><tr style="height: 211.521px;"><td style="height: 211.521px;">[![{769E21C7-C7E1-41BB-A836-44CDB31CC16E}.png](https://antiapt-community.ru/uploads/images/gallery/2026-04/scaled-1680-/xDTlfZZohaQsTHH6-769e21c7-c7e1-41bb-a836-44cdb31cc16e.png)](https://antiapt-community.ru/uploads/images/gallery/2026-04/xDTlfZZohaQsTHH6-769e21c7-c7e1-41bb-a836-44cdb31cc16e.png)

</td></tr></tbody></table>