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

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

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

Пример:

hosts:

hostname.example.com:

ip: 0.0.0.0

Блок all

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

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

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

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

Переменная

Описание

ansible_connection

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

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

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

ansible_user

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

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

ansible_become

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

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

  • true – вам нужно указать это значение, если для переменной ansible_user вы не указали значение root.
  • false.

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.

Если вы не укажете эту переменную, по умолчанию будет использовано значение false.

need_transfer

Переменная, определяющая, требуется ли переносить Ядро KUMA в новый кластер Kubernetes.

Вам нужно указать эту переменную, только если для переменной deploy_to_kis вы указали значение true.

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

Если вы не укажете эту переменную, по умолчанию будет использовано значение false.

no_firewall_actions

Переменная, определяющая, выполняет ли установщик шаги по настройке межсетевого экрана на хостах.

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

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

Если вы не укажете эту переменную, по умолчанию будет использовано значение false.

generate_etc_hosts

Переменная, определяющая, регистрируются ли машины в DNS-зоне вашей организации.

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

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

  • false.
  • true.

Если вы не укажете эту переменную, по умолчанию будет использовано значение false.

deploy_example_services

Переменная, определяющая, создаются ли предустановленные сервисы при установке KUMA.

Вам нужно указать эту переменную, если вы хотите создать демо-сервисы независимо от файла инвентаря single/distributed/k0s.

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

  • false – предустановленные сервисы не создаются при установке KUMA. Это значение указано во всех шаблонах файла инвентаря.
  • true – предустановленные сервисы создаются при установке KUMA.

Если вы не укажете эту переменную, по умолчанию будет использовано значение false.

low_resources

Переменная, определяющая, устанавливается ли KUMA в окружениях с ограниченными вычислительными ресурсами.

Эта переменная отсутствует во всех шаблонах файла инвентаря.

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

  • false – KUMA устанавливается для промышленной эксплуатации. В этом случае установщик проверяет требования рабочих узлов (процессор, ОЗУ и свободное дисковое пространство) в соответствии с аппаратными и программными требованиями. Если требования не выполняются, установка прерывается с сообщением об ошибке.
  • true – KUMA устанавливается в окружениях с ограниченными вычислительными ресурсами. В этом случае минимальный объем директории для установки Ядра KUMA на хосте составляет 4 ГБ. Ограничения для других вычислительных ресурсов отсутствуют.

Если вы не укажете эту переменную, по умолчанию будет использовано значение false.

Блок kuma

В этом блоке вы можете указать параметры компонентов KUMA, развернутых вне кластера Kubernetes. Блок kuma может содержать следующие разделы:

Блок kuma_k0s

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

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

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

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

Блок kuma_k0s может содержать следующие разделы:

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

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

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

Описание

kuma_lb

FQDN балансировщика нагрузки. Вы можете установить балансировщик нагрузки nginx или сторонний TCP-балансировщик нагрузки.

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

Если вы устанавливаете сторонний TCP-балансировщик нагрузки, вам нужно вручную настроить его до установки KUMA.

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".

В начало