Файл инвентаря может включать следующие блоки:
all
kuma
kuma_k0s
Для каждого хоста должен быть указан FQDN в формате <имя хоста
>.<домен
> или IP-адрес в формате ipv4 или ipv6.
Пример: hosts: hostname.example.com: ip: 0.0.0.0 или ip: ::%eth0 |
Блок all
В этом блоке указываются переменные, которые распространяются на все хосты, указанные в инвентаре, включая неявно заданный localhost, на котором запущена установка. Переменные можно переопределять на уровне групп хостов или даже отдельных хостов.
Пример переопределения переменных в файле инвентаря
В следующей таблице приведен список возможных переменных в разделе vars и их описание.
Список возможных переменных в разделе vars
Переменная |
Описание |
Возможные значения |
---|---|---|
|
Cпособ подключения к целевым машинам. |
|
|
Имя пользователя, от которого производится подключение к целевым машинам и установка компонентов. |
Если пользователь root на целевых машинах заблокирован, нужно использовать имя пользователя, имеющего право на подключение по SSH и повышение привилегий через su или sudo. |
|
Признак необходимости повышения привилегий пользователя, от имени которого осуществляется установка компонентов KUMA. |
|
|
Способ повышения привилегий пользователя, от имени которого осуществляется установка компонентов KUMA . |
|
|
Путь к закрытому ключу в формате /<путь>/.ssh/id_rsa. Эту переменную необходимо задать, если требуется указать файл ключа, отличный от используемого по умолчанию: ~/.ssh/id_rsa. |
|
|
Признак разворачивания компонент KUMA в кластере Kubernetes. |
|
|
Признак перемещения компонент KUMA в кластере Kubernetes. |
|
|
Признак отсутствия подключения к интернету. |
– значение по умолчанию для шаблона k0s.inventory.yml. |
|
Признак регистрации машин в DNS-зоне вашей организации. В этом случае установщик автоматически дополнит файлы /etc/hosts на машинах, куда устанавливаются компоненты KUMA, IP-адресами машин из файла инвентаря. Указанные IP-адреса должны быть уникальными. |
|
|
Признак создания предустановленных сервисов при установке. |
|
|
Признак установки 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.
Минимальная конфигурация, на которую можно произвести установку – один контроллер, совмещенный с рабочим узлом. Данная конфигурация не обеспечивает отказоустойчивости Ядра и служит для демонстрации возможностей или проверки программной среды.
Для реализации отказоустойчивости необходимы 2 выделенных контроллера кластера и балансировщик нагрузки. Для промышленной эксплуатации рекомендуется использовать выделенные рабочие узлы и контроллеры. Если контроллер кластера находится под рабочей нагрузкой и под (англ. pod) с Ядром KUMA размещается на контроллере, отключение контроллера приведет к полной потере доступа к Ядру.
В блоке доступны следующие разделы:
vars
– в этом разделе можно указать переменные, которые распространяются на все хосты, указанные в блоке kuma
.сhildren
– в этом разделе задаются параметры кластера Kubernetes, использование которого обеспечивает отказоустойчивость KUMA.В таблице ниже приведен список возможных переменных в разделе vars
и их описание.
Список возможных переменных в разделе vars
Группа переменных |
Описание |
|
---|---|---|
|
FQDN балансировщика нагрузки. Балансировщик пользователь устанавливает самостоятельно. Если внутри группы указать параметр |
|
|
Хост, выполняющий роль выделенного главного контроллера кластера. |
Группы для указания главного контроллера. Хост необходимо задать только в одной из них. |
|
Хост, совмещающий роль главного контроллера и рабочего узла кластера. |
|
|
Хосты, выполняющие роль выделенного контроллера кластера. |
Группы для указания второстепенных контроллеров. |
|
Хосты, совмещающие роль контроллера и рабочего узла кластера. |
|
|
Рабочие узлы кластера. |
Для каждого хоста в этом блоке должен быть указан его уникальный FQDN и IP-адрес в параметре ansible_host
, кроме хоста в разделе kuma_lb
– для него должен быть указан FQDN. Хосты в группах не должны повторяться.
Для каждого рабочего узла кластера и для контроллера кластера, совмещенного с рабочим узлом, должен быть указан параметр extra_args: "--labels=kaspersky.com/kuma-core=true,kaspersky.com/kuma-ingress=true,node.longhorn.io/create-default-disk=true"
.