Изменение конфигурации KUMA
Доступны следующие изменения конфигурации KUMA.
- Расширение установки "все в одном" до распределенной.
В этой статье описано, как расширить конфигурацию развертывания на одном сервере до распределенной, а также приведен пример расширения конфигурации.
Переход на распределенную схему развертывания может потребоваться, например, в следующих случаях:
- Необходимость сбалансировать нагрузку при увеличении нагрузки сверх рекомендуемой и снижении производительности.
- Обеспечение высокой отказоустойчивости любого из компонентов.
- Требования высокой доступности сервисов хранилища (большое количество сложных поисковых запросов).
- Особенности ИТ-инфраструктуры, например обособленные сетевые сегменты со слабыми каналами связи.
- Административные особенности. Например, есть требования разделить доступ между командами – администратор серверов, требования регуляторов – локальное хранение данных.
Чтобы расширить конфигурацию развертывания на одном сервере до распределенной:
- Создайте резервную копию KUMA.
- Подготовьте целевые машины для расширения конфигурации развертывания на одном сервере до распределенной.
- На контрольной машине перейдите в директорию с распакованным установщиком KUMA, выполнив следующую команду:
cd kuma-ansible-installer
- Подготовьте файл инвентаря
expand.inventory.yml:- Скопируйте шаблон
expand.inventory.yml.templateи создайте файл инвентаря с именемexpand.inventory.yml:cp expand.inventory.yml.
templateexpand.inventory.yml - В файле инвентаря
expand.inventory.ymlв секцияхkuma_<название компонента>введите FQDN целевых машин для установки сервисов KUMA.
- Скопируйте шаблон
- На контрольной машине с доступом root из директории с распакованным установщиком выполните следующую команду:
./expand.sh expand.inventory.yml
В результате выполнения команды на каждой целевой машине, указанной в файле инвентаря
expand.inventory.yml, появятся файлы для установки сервисов KUMA. - Сбросьте сертификаты для сервисов, которые вы планируете перенести на целевые машины, указанные в файле инвентаря
expand.inventory.yml:- В веб-интерфейсе KUMA перейдите в раздел Ресурсы и сервисы → Активные сервисы.
- В списке сервисов установите флажки для необходимых сервисов и в контекстном меню выберите Сбросить сертификат.
KUMA автоматически сгенерирует новый сертификат для каждого сервиса, для которого был сброшен сертификат.
- На целевых машинах, указанных в файле инвентаря
expand.inventory.yml, установите серверные части сервисов KUMA, серверная и веб-часть которых уже были созданы для конфигурации развертывания на одном сервере: хранилища, коллекторы, корреляторы и другие необходимые. - Перезапустите сервисы KUMA, серверные части которых были установлены на предыдущем шаге:
- В веб-интерфейсе KUMA перейдите в раздел Ресурсы и сервисы → Активные сервисы.
- В списке сервисов установите флажки для необходимых сервисов и в контекстном меню выберите Перезапустить.
- В файле инвентаря
distributed.inventory.ymlукажите FQDN добавленных в конфигурацию целевых машин, чтобы в файле были актуальные сведения на случай обновления KUMA.
Пример расширения конфигурации развертывания на одном сервере до распределенной
В организации развернута конфигурация KUMA на одном сервере –
kuma.example.com. Сотрудники ИБ организации пришли к выводу, что одного сервера недостаточно и необходимо добавить два дополнительных сервера хранения и дополнительный сервер коллекторов:storage-1.example.com,storage-2.example.comиremote-collector.example.com.Для решения этой задачи необходимо расширить конфигурацию KUMA на одном сервере до распределенной:
- Создайте резервную копию KUMA.
- Подготовьте целевые машины
storage-1.example.com,storage-2.example.comиremote-collector.example.comдля добавления новых серверов хранения и сервера коллекторов в конфигурацию KUMA. - Подготовьте файл инвентаря
expand.inventory.yml:- Скопируйте шаблон
expand.inventory.yml.templateи создайте файл инвентаря с именемexpand.inventory.yml:cp expand.inventory.yml.
templateexpand.inventory.yml - В файле
expand.inventory.ymlkuma_<название компонента>введите FQDN целевых машин для установки сервисов хранения, коллекторов и других необходимых серверов.
all:vars:deploy_to_k8s: falseneed_transfer: falsegenerate_etc_hosts: falsedeploy_example_services: falseno_firewall_actions: falsekuma:vars:ansible_connection: sshansible_user: rootchildren:kuma_collector:hosts:remote-collector.example.com:ip: 0.0.0.0kuma_correlator:hosts:kuma.example.com:ip: 0.0.0.0kuma_storage:hosts:kuma.example.com:ip: 0.0.0.0shard: 1replica: 0keeper: 1storage-1.example.com:ip: 0.0.0.0shard: 1replica: 0keeper: 0storage-2.example.com:ip: 0.0.0.0shard: 1replica: 1keeper: 0 - Скопируйте шаблон
- На контрольной машине
kuma.example.comс доступом root из директории с распакованным установщиком выполните следующую команду:./expand.sh expand.inventory.yml
В результате выполнения команды на каждой целевой машине, указанной в файле инвентаря
expand.inventory.yml, появятся файлы для создания и установки сервисов KUMA. - Сбросьте сертификаты для сервисов хранилища и коллектора, которые вы планируете перенести на целевые машины, указанные в файле инвентаря
expand.inventory.yml:- В веб-интерфейсе KUMA перейдите в раздел Ресурсы и сервисы → Активные сервисы.
- В списке сервисов установите флажки для сервисов хранилища и коллектора и в контекстном меню выберите Сбросить сертификат.
KUMA автоматически сгенерирует новые сертификаты для сервисов хранилища и коллектора.
- На целевых машинах, указанных в файле инвентаря
expand.inventory.yml, установите серверные части хранилища и коллектора, серверная и веб-часть которых уже были созданы для конфигурации развертывания на одном сервере. - Перезапустите сервисы хранилища и коллектора:
- В веб-интерфейсе KUMA перейдите в раздел Ресурсы и сервисы → Активные сервисы.
- В списке сервисов установите флажки для сервисов хранилища и коллектора и в контекстном меню выберите Перезапустить.
- Если необходимо, создайте точки назначения с актуальными данными о хранилищах и коллекторах.
- В файле инвентаря
distributed.inventory.ymlукажите FQDN добавленных в конфигурацию целевых машин, чтобы в файле были актуальные сведения на случай обновления KUMA.
Расширение конфигурации развертывания на одном сервере до распределенной завершено.
- Добавление серверов для коллекторов в распределенную установку.
В этой статье описано, как добавить один или несколько серверов в существующую инфраструктуру, чтобы затем установить на них коллекторы и таким образом перераспределить нагрузку. Вы можете использовать инструкцию в качестве примера и адаптировать ее под свои потребности.
Чтобы добавить серверы в распределенную установку:
- Убедитесь, что на целевых машинах соблюдены аппаратные и программные требования, а также требования к устройствам с операционными системами Oracle Linux, Astra Linux, Ubuntu, РЕД ОС, М ОС.
- На контрольной машине перейдите в директорию с распакованным установщиком KUMA, выполнив следующую команду:
cd kuma-ansible-installer
- Скопируйте шаблон
expand.inventory.yml.templateи создайте файл инвентаря с именемexpand.inventory.yml:cp expand.inventory.yml.template expand.inventory.yml
- Измените параметры файла инвентаря
expand.inventory.ymlи укажите в нем серверы, которые вы хотите добавить, в секцииkuma_collector.Пример файла инвентаря expand.inventory.yml для добавления серверов для коллекторов
kuma:
vars:
ansible_connection: ssh
ansible_user: root
children:
kuma_collector:
hosts:
kuma-additional-collector1.example.com:
ip: 0.0.0.0
kuma-additional-collector2.example.com:
ip: 0.0.0.0
kuma_correlator:
hosts:
kuma_storage:
hosts:
- На контрольной машине с доступом root из директории с распакованным установщиком выполните следующую команду:
./expand.sh expand.inventory.yml
В результате выполнения команды на каждой целевой машине, указанной в файле инвентаря
expand.inventory.yml, появятся файлы для создания и установки коллектора. - Создайте и установите коллекторы. Поскольку коллекторы KUMA состоят из клиентской и серверной части, выполните следующие два шага:
- Создайте клиентскую часть коллектора, которая включает в себя набор ресурсов и сервис коллектора.
Чтобы создать набор ресурсов для коллектора, в веб-интерфейсе KUMA в разделе Ресурсы → Коллекторы нажмите Добавить коллектор и настройте параметры. Подробнее см. Создание коллектора.
На последнем шаге мастера настройки, после того, как вы нажмете Создать и сохранить, будет создан набор ресурсов для коллектора и автоматически будет создан сервис коллектора. Также будет автоматически сформирована команда для установки сервиса на сервере. Эта команда отобразится на экране. Скопируйте команду установки и переходите к следующему шагу.
- Создайте серверную часть коллектора:
- На целевой машине выполните скопированную на предыдущем шаге команду. Команда будет выглядеть подобным образом, но все параметры будут автоматически заполнены:
sudo /opt/kaspersky/kuma/kuma <storage> --core https://<FQDN сервера Ядра KUMA>:<порт, используемый Ядром KUMA для внутренних коммуникаций (по умолчанию используется порт 7210)> --id <идентификатор сервиса, скопированный из веб-интерфейса KUMA> --install
Сервис коллектора будет установлен на целевой машине. Вы можете проверить статус сервиса в веб-интерфейсе в разделе Ресурсы → Активные сервисы.
- Повторите команду на каждой целевой машине, указанной в файле инвентаря
expand.inventory.yml.
- На целевой машине выполните скопированную на предыдущем шаге команду. Команда будет выглядеть подобным образом, но все параметры будут автоматически заполнены:
- Создайте клиентскую часть коллектора, которая включает в себя набор ресурсов и сервис коллектора.
- Укажите добавленные серверы в файле инвентаря
distributed.inventory.yml, чтобы в нем были актуальные сведения на случай обновления KUMA.
Добавление серверов завершено.
- Добавление серверов для корреляторов в распределенную установку.
В этой статье описано, как добавить один или несколько серверов в существующую инфраструктуру, чтобы затем установить на них коррелятор и таким образом перераспределить нагрузку. Вы можете использовать инструкцию в качестве примера и адаптировать ее под свои потребности.
Чтобы добавить серверы в распределенную установку:
- Убедитесь, что на целевых машинах соблюдены аппаратные и программные требования, а также требования к устройствам с операционными системами Oracle Linux, Astra Linux, Ubuntu, РЕД ОС, М ОС.
- На контрольной машине перейдите в директорию с распакованным установщиком KUMA, выполнив следующую команду:
cd kuma-ansible-installer
- Скопируйте шаблон
expand.inventory.yml.templateи создайте файл инвентаря с именемexpand.inventory.yml:cp expand.inventory.yml.template expand.inventory.yml
- Измените параметры файла инвентаря
expand.inventory.ymlи укажите в нем серверы, которые вы хотите добавить, в секцииkuma_correlator.Пример файла инвентаря expand.inventory.yml для добавления серверов для корреляторов
kuma:
vars:
ansible_connection: ssh
ansible_user: root
children:
kuma_collector:
kuma_correlator:
hosts:
kuma-additional-correlator1.example.com:
ip: 0.0.0.0
kuma-additional-correlator2.example.com:
ip: 0.0.0.0
kuma_storage:
hosts:
- На контрольной машине с доступом root из директории с распакованным установщиком выполните следующую команду:
./expand.sh expand.inventory.yml
В результате выполнения команды на каждой целевой машине, указанной в файле инвентаря
expand.inventory.yml, появятся файлы для создания и установки коррелятора. - Создайте и установите корреляторы. Поскольку корреляторы KUMA состоят из клиентской и серверной частей, выполните следующие два шага:
- Создайте клиентскую часть коррелятора, которая включает в себя набор ресурсов и сервис коррелятора.
Чтобы создать набор ресурсов для коррелятора, в веб-интерфейсе KUMA в разделе Ресурсы → Корреляторы нажмите Добавить коррелятор и настройте параметры. Подробнее см. Создание коррелятора.
На последнем шаге мастера настройки, после того, как вы нажмете Создать и сохранить, будет создан набор ресурсов для коррелятора и автоматически будет создан сервис коррелятора. Также будет автоматически сформирована команда для установки сервиса на сервере. Эта команда отобразится на экране. Скопируйте команду установки и переходите к следующему шагу.
- Создайте серверную часть коррелятора:
- На целевой машине выполните скопированную на предыдущем шаге команду. Команда будет выглядеть подобным образом, но все значения всех параметров будут автоматически присвоены:
sudo /opt/kaspersky/kuma/kuma <storage> --core https://<FQDN сервера Ядра KUMA>:<порт, используемый Ядром KUMA для внутренних коммуникаций (по умолчанию используется порт 7210)> --id <идентификатор сервиса, скопированный из веб-интерфейса KUMA> --install
Сервис коррелятора будет установлен на целевой машине. Вы можете проверить статус сервиса в веб-интерфейсе в разделе Ресурсы → Активные сервисы.
- Повторите команду на каждой целевой машине, указанной в файле инвентаря
expand.inventory.yml.
- На целевой машине выполните скопированную на предыдущем шаге команду. Команда будет выглядеть подобным образом, но все значения всех параметров будут автоматически присвоены:
- Создайте клиентскую часть коррелятора, которая включает в себя набор ресурсов и сервис коррелятора.
- Укажите добавленные серверы в файле инвентаря
distributed.inventory.yml, чтобы в нем были актуальные сведения на случай обновления KUMA.
Добавление серверов завершено.
- Добавление серверов в существующий кластер хранения.
В этой статье описывается порядок добавления нескольких серверов в существующий кластер хранения. Вы можете использовать инструкцию в качестве примера и адаптировать ее под свои потребности.
Чтобы добавить серверы в существующий кластер хранения:
- Убедитесь, что на целевых машинах соблюдены аппаратные и программные требования, а также требования к устройствам с операционными системами Oracle Linux, Astra Linux, Ubuntu, РЕД ОС, М ОС.
- На контрольной машине перейдите в директорию с распакованным установщиком KUMA, выполнив следующую команду:
cd kuma-ansible-installer
- Скопируйте шаблон
expand.inventory.yml.templateи создайте файл инвентаря с именемexpand.inventory.yml:cp expand.inventory.yml.template expand.inventory.yml
- Измените параметры файла инвентаря
expand.inventory.ymlи укажите в нем серверы, которые вы хотите добавить, в секцииstorage. В приведенном примере в секцииstorageуказаны серверы для установки двух шардов, каждый из которых будет содержать по две реплики. В файле инвентаряexpand.inventory.ymlследует указать только FQDN. Роли шардов и реплик вы будете назначать позднее в веб-интерфейсе KUMA, последовательно выполняя шаги инструкции. Вы можете адаптировать приведенный пример файла под свои потребности.Пример файла инвентаря expand.inventory.yml для добавления серверов в существующий кластер хранения
kuma:vars:ansible_connection: sshansible_user: rootchildren:kuma_collector:kuma_correlator:kuma_storage:hosts:kuma-storage-cluster1-server8.example.com:ip: 0.0.0.0kuma-storage-cluster1-server9.example.com:ip: 0.0.0.0kuma-storage-cluster1-server10.example.com:ip: 0.0.0.0kuma-storage-cluster1-server11.example.com:ip: 0.0.0.0
- На контрольной машине с доступом root из директории с распакованным установщиком выполните следующую команду:
./expand.sh expand.inventory.yml
В результате выполнения команды на каждой целевой машине, указанной в файле инвентаря
expand.inventory.yml, появятся файлы для создания и установки хранилища. - Поскольку вы добавляете серверы в существующий кластер хранения, создавать отдельное хранилище не требуется. Измените параметры хранилища существующего кластера:
- В веб-интерфейсе KUMA в разделе Ресурсы → Хранилища выберите существующее хранилище и откройте его для изменения.
- В разделе Узлы кластера ClickHouse нажмите Добавить узлы и в появившихся полях для нового узла укажите роли. В примере показано, как указать идентификаторы, чтобы добавить в существующий кластер два шарда, каждый из которых содержит две реплики. Вы можете адаптировать пример под свои потребности.
Пример добавления узлов
Узлы кластера ClickHouse
<существующие узлы>
Полное доменное имя: kuma-storage-cluster1server8.example.com
Идентификатор шарда: 1
Идентификатор реплики: 1
Идентификатор кипера: 0
Полное доменное имя: kuma-storage-cluster1server9.example.com
Идентификатор шарда: 1
Идентификатор реплики: 2
Идентификатор кипера: 0
Полное доменное имя: kuma-storage-cluster1server9.example.com
Идентификатор шарда: 2
Идентификатор реплики: 1
Идентификатор кипера: 0
Полное доменное имя: kuma-storage-cluster1server10.example.com
Идентификатор шарда: 2
Идентификатор реплики: 2
Идентификатор кипера: 0
- Сохраните параметры хранилища.
Теперь можно создать сервисы хранилища для каждого узла кластера ClickHouse.
- Создайте сервис хранилища:
- В веб-интерфейсе KUMA в разделе Ресурсы → Активные сервисы нажмите Добавить сервис.
- В открывшемся окне Выберите сервис выберите измененное на предыдущем шаге хранилище и нажмите Создать сервис. Повторите для каждого добавляемого узла хранилища ClickHouse.
Количество созданных сервисов должно равняться количеству добавляемых узлов в кластере ClickHouse, то есть 4 узла – 4 сервиса. Созданные сервисы хранилища отображаются в веб-интерфейсе KUMA в разделе Ресурсы → Активные сервисы.
- Установите сервисы хранилища на каждом сервере, используя идентификатор сервиса:
- В веб-интерфейсе KUMA в разделе Ресурсы → Активные сервисы выберите нужный сервис хранилища и нажмите Копировать идентификатор.
Идентификатор сервиса будет скопирован в буфер обмена и понадобится при выполнении команды установки сервиса.
- Выполните на целевой машине следующую команду:
sudo /opt/kaspersky/kuma/kuma <storage> --core https://<FQDN сервера Ядра KUMA>:<порт, используемый Ядром KUMA для внутренних коммуникаций (по умолчанию используется порт 7210)> --id <идентификатор сервиса, скопированный из веб-интерфейса KUMA> --install
Сервис хранилища будет установлен на целевой машине. Вы можете проверить статус сервиса в веб-интерфейсе в разделе Ресурсы → Активные сервисы.
- Последовательно выполните команду установки сервиса хранилища на каждой целевой машине, указанной в секции storage в файле инвентаря
expand.inventory.yml. На каждой машине в команде установки требуется указывать уникальный идентификатор сервиса в рамках кластера.
- В веб-интерфейсе KUMA в разделе Ресурсы → Активные сервисы выберите нужный сервис хранилища и нажмите Копировать идентификатор.
- Примените изменения в работающем кластере. Для этого в веб-интерфейсе KUMA в разделе Ресурсы → Активные сервисы установите флажок рядом со всеми сервисами хранилища в кластере, который вы расширяете, и нажмите Обновить параметры. Изменения будут применены без остановки сервисов.
- Укажите добавленные серверы в файле инвентаря
distributed.inventory.yml, чтобы в нем были актуальные сведения на случай обновления KUMA.
Добавление серверов в кластер хранения завершено.
- Добавление дополнительного кластера хранения.
В этой статье описано, как добавить дополнительный кластер хранения в существующую инфраструктуру. Вы можете использовать инструкцию в качестве примера и адаптировать ее под свои потребности.
Чтобы добавить дополнительный кластер хранения:
- Убедитесь, что на целевых машинах соблюдены аппаратные и программные требования, а также требования к устройствам с операционными системами Oracle Linux, Astra Linux, Ubuntu, РЕД ОС, М ОС.
- На контрольной машине перейдите в директорию с распакованным установщиком KUMA, выполнив следующую команду:
cd kuma-ansible-installer
- Скопируйте шаблон
expand.inventory.yml.templateи создайте файл инвентаря с именемexpand.inventory.yml:cp expand.inventory.yml.template expand.inventory.yml
- Измените параметры файла инвентаря
expand.inventory.ymlи укажите в нем серверы, которые вы хотите добавить, в секцииstorage. В приведенном примере в секцииstorageуказаны серверы для установки 3 выделенных киперов и 2 шардов, каждый из которых будет содержать по 2 реплики. В файле инвентаряexpand.inventory.ymlследует указать только FQDN. Роли киперов, шардов и реплик вы будете назначать позднее в веб-интерфейсе KUMA, последовательно выполняя шаги инструкции. Вы можете адаптировать этот пример под свои потребности.Пример файла инвентаря expand.inventory.yml для добавления дополнительного кластера хранения
kuma:
vars:
ansible_connection: ssh
ansible_user: root
children:
kuma_collector:
kuma_correlator:
kuma_storage:
hosts:
kuma-storage-cluster2-server1.example.com:
ip: 0.0.0.0
kuma-storage-cluster2-server2.example.com:
ip: 0.0.0.0
kuma-storage-cluster2-server3.example.com:
ip: 0.0.0.0
kuma-storage-cluster2-server4.example.com:
ip: 0.0.0.0
kuma-storage-cluster2-server5.example.com:
ip: 0.0.0.0
kuma-storage-cluster2-server6.example.com:
ip: 0.0.0.0
kuma-storage-cluster2-server7.example.com:
ip: 0.0.0.0
- На контрольной машине с доступом root из директории с распакованным установщиком выполните следующую команду:
./expand.sh expand.inventory.yml
В результате выполнения команды на каждой целевой машине, указанной в файле инвентаря
expand.inventory.yml, появятся файлы для создания и установки хранилища. - Создайте и установите хранилище. Для каждого кластера хранения следует создавать отдельное хранилище, то есть 3 кластера хранения – 3 хранилища. Поскольку хранилище состоит из клиентской и серверной частей, выполните следующие два шага:
- Создайте клиентскую часть хранилища, которая включает в себя набор ресурсов и сервис хранилища:
- Чтобы создать набор ресурсов для хранилища, в веб-интерфейсе KUMA в разделе Ресурсы → Хранилища нажмите Добавить хранилище и настройте параметры. В разделе Узлы кластера ClickHouse укажите роли для каждого добавляемого сервера: кипер, шард, реплика. Подробнее см. Создание набора ресурсов для хранилища.
Созданный набор ресурсов для хранилища отображается в разделе Ресурсы → Хранилища. Теперь можно создать сервисы хранилища для каждого узла кластера ClickHouse.
- Чтобы создать сервис хранилища, в веб-интерфейсе KUMA в разделе Ресурсы → Активные сервисы нажмите Добавить сервис.
В открывшемся окне Выберите сервис выберите созданный на шаге a. набор ресурсов для хранилища и нажмите Создать сервис. Повторите для каждого узла хранилища ClickHouse.
Количество созданных сервисов должно равняться количеству узлов в кластере ClickHouse, то есть 50 узлов – 50 сервисов. Созданные сервисы хранилища отображаются в веб-интерфейсе KUMA в разделе Ресурсы → Активные сервисы. Теперь сервисы хранилища необходимо установить на каждом узле кластера ClickHouse, используя идентификатор сервиса.
- Чтобы создать набор ресурсов для хранилища, в веб-интерфейсе KUMA в разделе Ресурсы → Хранилища нажмите Добавить хранилище и настройте параметры. В разделе Узлы кластера ClickHouse укажите роли для каждого добавляемого сервера: кипер, шард, реплика. Подробнее см. Создание набора ресурсов для хранилища.
- На целевой машине создайте серверную часть хранилища:
- В веб-интерфейсе KUMA в разделе Ресурсы → Активные сервисы выберите нужный сервис хранилища и нажмите Копировать идентификатор.
Идентификатор сервиса будет скопирован в буфер обмена, он понадобится для выполнения команды установки сервиса.
- Сформируйте и выполните на целевой машине следующую команду:
sudo /opt/kaspersky/kuma/kuma <storage> --core https://<FQDN сервера Ядра KUMA>:<порт, используемый Ядром KUMA для внутренних коммуникаций (по умолчанию используется порт 7210)> --id <идентификатор сервиса, скопированный из веб-интерфейса KUMA> --install
Сервис хранилища будет установлен на целевой машине. Вы можете проверить статус сервиса в веб-интерфейсе в разделе Ресурсы → Активные сервисы.
- Последовательно выполните команду установки сервиса хранилища на каждой целевой машине, указанной в секции
storageв файле инвентаряexpand.inventory.yml. На каждой машине в команде установки требуется указывать уникальный идентификатор сервиса в рамках кластера.
Выделенные киперы запускаются автоматически сразу после установки и отображаются в разделе Ресурсы → Активные сервисы в зеленом статусе. Сервисы на остальных узлах хранилища могут не запускаться до тех пор, пока не будут установлены сервисы для всех узлов данного кластера. До этого момента сервисы могут отображаться в красном статусе. Это нормальное поведение для создания нового кластера хранения или добавления узлов в существующий кластер хранения. Как только будет выполнена команда установки сервисов на всех узлах кластера, все сервисы переходят в зеленый статус.
- В веб-интерфейсе KUMA в разделе Ресурсы → Активные сервисы выберите нужный сервис хранилища и нажмите Копировать идентификатор.
- Создайте клиентскую часть хранилища, которая включает в себя набор ресурсов и сервис хранилища:
- Укажите добавленные серверы в файле инвентаря
distributed.inventory.yml, чтобы в нем были актуальные сведения на случай обновления KUMA.
Добавление дополнительного кластера хранения завершено.
- Удаление серверов из распределенной установки.
При необходимости вы можете удалить сервер из распределенной установки.
Чтобы удалить сервер из распределенной установки:
- Удалите все сервисы с сервера, который вы планируете удалить из распределенной установки:
- Удалите сервер из файла инвентаря
distributed.inventory.yml, чтобы в файле инвентаря были актуальные сведения на случай обновления KUMA.
Сервер удален из распределенной установки.
- Удаление кластера хранения из распределенной установки.
При необходимости вы можете удалить кластер хранения.
Чтобы удалить один или несколько кластеров хранения из распределенной установки:
- Получите идентификатор сервиса хранилища. Для этого в разделе Ресурсы → Активные сервисы откройте контекстное меню удаляемого сервиса и нажмите Копировать идентификатор.
- Удалите сервис хранилища на каждом сервере кластера, подлежащем удалению из распределенной установки:
- Удалите серверную часть сервиса хранилища, выполнив на целевой машине следующую команду:
sudo /opt/kaspersky/kuma/kuma <storage> --id <идентификатор сервиса> --uninstall
Повторите для каждого сервера.
- Удалите клиентскую часть сервиса в веб-интерфейсе KUMA в разделе Ресурсы → Активные сервисы → Удалить.
Сервис удален.
- Удалите серверную часть сервиса хранилища, выполнив на целевой машине следующую команду:
- Удалите серверы из секции
storageв файле инвентаряdistributed.inventory.yml, чтобы в файле инвентаря были актуальные сведения на случай обновления KUMA или изменения конфигурации.
Кластер удален из распределенной установки.
- Перенос Ядра KUMA в новый кластер Kubernetes.
Чтобы перенести Ядро KUMA в новый кластер Kubernetes, выполните следующие шаги:
- Подготовьте файл инвентаря k0s.inventory.yml.
В файле инвентаря k0s.inventory.yml в разделах kuma_core, kuma_ collector, kuma_correlator, kuma_storage укажите те же хосты, которые использовались при обновлении KUMA с версии 2.1.3 до версии 3.0.3, и затем до версии 3.2, или при новой установке решения. В файле инвентаря необходимо присвоить параметрам deploy_to_k8s и need_transfer значение true. Параметру deploy_example_services необходимо присвоить значение false.
- Выполните шаги распределенной установки с использованием подготовленного файла инвентаря k0s.inventory.yml.
Процесс переноса Ядра KUMA в новый кластер Kubernetes
При запуске установщика с файлом инвентаря производится поиск установленного Ядра KUMA на всех хостах, на которых планируется размещать рабочие узлы кластера. Найденное Ядро будет перенесено с хоста внутрь создаваемого кластера Kubernetes.
Если на рабочих узлах компонент не обнаружен, то производится чистая установка Ядра KUMA в кластер без переноса в него ресурсов. Существующие компоненты требуется пересоздать с новым Ядром вручную в веб-интерфейсе KUMA.
Для коллекторов, корреляторов и хранилищ из файла инвентаря будут заново выпущены сертификаты для связи с Ядром внутри кластера. URL Ядра для компонентов при этом не изменится.
На хосте с Ядром установщик выполняет следующие действия:
- Удаляет с хоста systemd-сервисы: kuma-core, kuma-vmalert.
- Удаляет internal сертификат Ядра.
- Удаляет файлы сертификатов всех прочих компонентов и удаляет записи о них из MongoDB.
- Удаляет директории:
- /opt/kaspersky/kuma/core/bin
- /opt/kaspersky/kuma/core/certificates
- /opt/kaspersky/kuma/core/<
идентификатор сервиса Ядра KUMA>/log - /opt/kaspersky/kuma/core/<
идентификатор сервиса Ядра KUMA>/logs - /opt/kaspersky/kuma/metrics/<
идентификатор сервиса Метрики>/bin
- Переносит данные Ядра и ее зависимостей на сетевой диск внутри кластера Kubernetes.
- На хосте с Ядром переносит директории:
- /opt/kaspersky/kuma/core → /opt/kaspersky/kuma/core.moved
- /opt/kaspersky/kuma/metrics → /opt/kaspersky/kuma/metrics.moved
После проверки корректности переноса Ядра в кластер данные директории можно удалить.
В случае возникновения проблем с переносом нужно проанализировать в журнале записи задачи переноса core-transfer в пространстве имен kuma на кластере (задача доступна в течение 1 часа после переноса).
При необходимости повторного переноса необходимо привести названия директорий /opt/kaspersky/kuma/*.moved к их исходному виду.
Если на хосте с Ядром использовался файл /etc/hosts со строками, не относящимися к адресам 127.X.X.X, при переносе Ядра в кластер Kubernetes содержимое файла /etc/hosts с хоста с Ядром заносится в ConfigMap coredns. Если переноса Ядра не происходит, в ConfigMap заносится содержимое /etc/hosts с хоста, на котором разворачивается главный контроллер.
- Подготовьте файл инвентаря k0s.inventory.yml.