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

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

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

Пример:

hosts:

hostname.example.com:

ip: 0.0.0.0

или

ip: ::%eth0

Блок all

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

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

В следующей таблице приведен список возможных переменных в разделе 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.

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 в окружениях с ограниченными вычислительными ресурсами.

  • false – KUMA устанавливается для промышленной эксплуатации.

    В этом случае установщик проверяет требования рабочих узлов (процессор, ОЗУ и свободное дисковое пространство) в соответствии с аппаратными и программными требованиями. Если требования не выполняются, то установка прерывается с соответствующим сообщением.

  • true – KUMA устанавливается в окружениях с ограниченными вычислительными ресурсами.

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

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

Блок kuma

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

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

Блок kuma_k0s

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

Для тестовой и демонстрационной установки в окружениях с ограниченными вычислительными ресурсами необходимо задать переменную low_resources: true на уровне блока all. В этом случае размер тома core будет снижен до 4 ГБ, и ограничения для других вычислительных ресурсов не будут заданы.

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

Для демонстрационной установки допустимо совместить контроллер с рабочим узлом. Такая конфигурация не обеспечивает отказоустойчивости Ядра и служит для демонстрации возможностей или проверки программной среды.
Минимальная конфигурация для обеспечения отказоустойчивости - 3 выделенных контроллера, 2 рабочих узла и 1 балансировщик нагрузки. Для промышленной эксплуатации рекомендуется использовать выделенные рабочие узлы и контроллеры. Если контроллер кластера находится под рабочей нагрузкой и под (англ. pod) с Ядром 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".

В начало