Kaspersky Unified Monitoring and Analysis Platform

О файле инвентаря

Установка, обновление и удаление компонентов KUMA производится из папки с распакованным установщиком kuma-ansible-installer с помощью инструмента Ansible и созданного вами файла инвентаря. Вы можете указать значения параметров конфигурации KUMA в файле инвентаря, а установщик использует эти значения при развертывании, обновлении и удалении программы. Файл инвентаря имеет формат YAML.

Вы можете создать файл инвентаря на основе шаблонов, включенных в поставку. Доступны следующие шаблоны:

  • single.inventory.yml.template – используется для установки KUMA на одном сервере. Содержит минимальный набор параметров, оптимизированный для установки на одном устройстве, без использования кластера Kubernetes.
  • distributed.inventory.yml.template – используется для первоначальной распределенной установки KUMA без использования кластера Kubernetes, расширения установки "все в одном" до распределенной и для обновления KUMA.
  • expand.inventory.yml.template – используется в ряде сценариев изменения конфигурации: для добавления серверов коллекторов и серверов корреляторов, для расширения существующего кластера хранения и добавления нового кластера хранения. Если вы используете этот файл инвентаря для изменения конфигурации, установщик не останавливает сервисы во всей инфраструктуре. Установщик может останавливать только те сервисы, которые размещены на хостах, перечисленных в файле инвентаря expand.inventory.yml, если вы повторно используете файл инвентаря.
  • k0s.inventory.yml.template – используется для установки или переноса KUMA в кластер Kubernetes.

Мы рекомендуем сохранить файл инвентаря, который вы использовали для установки программы. С его помощью вы можете дополнить систему компонентами или удалить KUMA.

В начало
[Topic 255188]

Параметры конфигурации KUMA в файле инвентаря

Файл инвентаря может включать следующие блоки:

  • all
  • kuma
  • kuma_k0s

Для каждого хоста должен быть указан FQDN в формате <имя хоста>.<домен> или IP-адрес в формате ipv4 или ipv6.

Пример:

hosts:

hostname.example.com:

ip: 0.0.0.0

или

ip: ::%eth0

Блок all

В этом блоке указываются переменные, которые распространяются на все хосты, указанные в инвентаре, включая неявно заданный localhost, на котором запущена установка. Переменные можно переопределять на уровне групп хостов или даже отдельных хостов.

Пример переопределения переменных в файле инвентаря

all:

  vars:

    ansible_connection: ssh

    deploy_to_k8s: False

    need_transfer: False

    airgap: True

    deploy_example_services: True

kuma:

  vars:

    ansible_become: true

    ansible_user: i.ivanov

    ansible_become_method: su

    ansible_ssh_private_key_file: ~/.ssh/id_rsa

  children:

    kuma_core:

      vars:

        ansible_user: p.petrov

        ansible_become_method: sudo

В следующей таблице приведен список возможных переменных в разделе vars и их описание.

Список возможных переменных в разделе vars

Переменная

Описание

Возможные значения

ansible_connection

Cпособ подключения к целевым машинам.

  • ssh – подключение к удаленным хостам по SSH.
  • local – подключение к удаленным хостам не производится.

ansible_user

Имя пользователя, от которого производится подключение к целевым машинам и установка компонентов.

Если пользователь root на целевых машинах заблокирован, нужно использовать имя пользователя, имеющего право на подключение по SSH и повышение привилегий через su или sudo.

ansible_become

Признак необходимости повышения привилегий пользователя, от имени которого осуществляется установка компонентов KUMA.

true, если значение ansible_user – не root.

ansible_become_method

Способ повышения привилегий пользователя, от имени которого осуществляется установка компонентов KUMA .

su или sudo, если значение ansible_user – не root.

ansible_ssh_private_key_file

Путь к закрытому ключу в формате /<путь>/.ssh/id_rsa. Эту переменную необходимо задать, если требуется указать файл ключа, отличный от используемого по умолчанию: ~/.ssh/id_rsa.

 

deploy_to_k8s

Признак разворачивания компонент KUMA в кластере Kubernetes.

  • false

    – значение по умолчанию для шаблонов single.inventory.yml и distributed.inventory.yml.
  • true

    значение по умолчанию для шаблона k0s.inventory.yml.

need_transfer

Признак перемещения компонент KUMA в кластере Kubernetes.

  • false

    – значение по умолчанию для шаблонов single.inventory.yml и distributed.inventory.yml.
  • true

    значение по умолчанию для шаблона k0s.inventory.yml.

airgap

Признак отсутствия подключения к интернету.

true

значение по умолчанию для шаблона k0s.inventory.yml.

no_firewall_actions

Признак выполнения установщиком шагов по настройке файрвола на хостах.

  • true

    при запуске установшика шаги по настройке файрвола на хостах не выполняются.
  • false – значение по умолчанию во всех шаблонах. Установщик выполняет шаги по настройке файрвола на хостах.

Если параметр не указан в шаблоне, установщик выполняет шаги по настройке файлвола на хостах.

generate_etc_hosts

Признак регистрации машин в DNS-зоне вашей организации.

В этом случае установщик автоматически дополнит файлы /etc/hosts на машинах, куда устанавливаются компоненты KUMA, IP-адресами машин из файла инвентаря. Указанные IP-адреса должны быть уникальными.

  • false.
  • true.

deploy_example_services

Признак создания предустановленных сервисов при установке.

  • false – сервисы не нужны. Значение по умолчанию для шаблонов distributed.inventory.yml и k0s.inventory.yml.
  • true – сервисы нужно создать. Значение по умолчанию для шаблона single.inventory.yml.

low_resources

Признак установки KUMA в окружениях с ограниченными вычислительными ресурсами. В этом случае Ядро может быть установлено на хосте с 4 ГБ свободного дискового пространства. По умолчанию переменная отсутствует.

 

Блок kuma

В этом блоке перечисляются параметры компонентов KUMA, развернутых вне кластера Kubernetes.

В блоке доступны следующие разделы:

  • vars в этом разделе можно указать переменные, которые распространяются на все хосты, указанные в блоке kuma.
  • children – в этом разделе можно перечислить группы параметров компонентов:
    • kuma_core – параметры Ядра KUMA. Может содержать только один хост.
    • kuma_collector – параметры коллекторов KUMA. Может содержать несколько хостов.
    • kuma_correlator – параметры корреляторов KUMA. Может содержать несколько хостов.
    • kuma_storage – параметры узлов хранилища KUMA. Может содержать несколько хостов.

Блок kuma_k0s

В этом блоке задаются параметры кластера Kubernetes, использование которого обеспечивает отказоустойчивость KUMA. Этот блок есть только в файле инвентаря на основе шаблона k0s.inventory.yml.template.

Для каждого хоста в этом блоке должен быть указан его уникальный FQDN и IP-адрес в параметре ansible_host, кроме хоста в разделе kuma_lb – для него должен быть указан FQDN. Хосты в группах не должны повторяться.

Для демонстрационной установки допустимо совместить контроллер с рабочим узлом. Такая конфигурация не обеспечивает отказоустойчивости Ядра и служит для демонстрации возможностей или проверки программной среды.

Минимальная конфигурация для обеспечения отказоустойчивости - 3 выделенных контроллера, 2 рабочих узла и 1 балансировщик нагрузки. Для промышленной эксплуатации рекомендуется использовать выделенные рабочие узлы и контроллеры. Если контроллер кластера находится под рабочей нагрузкой и под (англ. pod) с Ядром KUMA размещается на контроллере, отключение контроллера приведет к полной потере доступа к Ядру.

В блоке доступны следующие разделы:

  • vars – в этом разделе можно указать переменные, которые распространяются на все хосты, указанные в блоке kuma.
  • сhildren – в этом разделе задаются параметры кластера Kubernetes, использование которого обеспечивает отказоустойчивость KUMA.

В таблице ниже приведен список возможных переменных в разделе vars и их описание.

Список возможных переменных в разделе vars

Группа переменных

Описание

kuma_lb

FQDN балансировщика нагрузки.

Балансировщик пользователь устанавливает самостоятельно.

Если внутри группы указать параметр kuma_managed_lb = true, во время установки KUMA балансировщик будет автоматически настроен, на его хосте будут открыты необходимые сетевые TCP-порты (6443, 8132, 9443, 7209, 7210, 7220, 7222, 7223), а также будет выполнена перезагрузка для применения изменений.

kuma_control_plane_master

Хост, выполняющий роль выделенного главного контроллера кластера.

Группы для указания главного контроллера. Хост необходимо задать только в одной из них.

kuma_control_plane_master_worker

Хост, совмещающий роль главного контроллера и рабочего узла кластера.Для каждого контроллера кластера, совмещенного с рабочим узлом, в файле инвентаря должен быть указан параметр extra_args: "--labels=kaspersky.com/kuma-core=true,kaspersky.com/kuma-ingress=true,node.longhorn.io/create-default-disk=true".

kuma_control_plane

Хосты, выполняющие роль выделенного контроллера кластера.

Группы для указания второстепенных контроллеров.

kuma_control_plane_worker 

Хосты, совмещающие роль контроллера и рабочего узла кластера. Для каждого контроллера кластера, совмещенного с рабочим узлом, в файле инвентаря должен быть указан параметр extra_args: "--labels=kaspersky.com/kuma-core=true,kaspersky.com/kuma-ingress=true,node.longhorn.io/create-default-disk=true".

kuma_worker 

Рабочие узлы кластера. Для каждого рабочего узла в файле инвентаря должен быть указан параметр extra_args: "--labels=kaspersky.com/kuma-core=true,kaspersky.com/kuma-ingress=true,node.longhorn.io/create-default-disk=true".

В начало
[Topic 244406]