О файле инвентаря
Установка, обновление и удаление компонентов 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.
В началоПараметры конфигурации KUMA в файле инвентаря
Файл инвентаря может включать следующие блоки:
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.
Для каждого хоста в этом блоке должен быть указан его уникальный FQDN и IP-адрес в параметре ansible_host, кроме хоста в разделе kuma_lb – для него должен быть указан FQDN. Хосты в группах не должны повторяться.
Для демонстрационной установки допустимо совместить контроллер с рабочим узлом. Такая конфигурация не обеспечивает отказоустойчивости Ядра и служит для демонстрации возможностей или проверки программной среды.
Минимальная конфигурация для обеспечения отказоустойчивости - 3 выделенных контроллера, 2 рабочих узла и 1 балансировщик нагрузки. Для промышленной эксплуатации рекомендуется использовать выделенные рабочие узлы и контроллеры. Если контроллер кластера находится под рабочей нагрузкой и под (англ. pod) с Ядром KUMA размещается на контроллере, отключение контроллера приведет к полной потере доступа к Ядру.
В блоке доступны следующие разделы:
vars
– в этом разделе можно указать переменные, которые распространяются на все хосты, указанные в блокеkuma
.сhildren
– в этом разделе задаются параметры кластера Kubernetes, использование которого обеспечивает отказоустойчивость KUMA.
В таблице ниже приведен список возможных переменных в разделе vars
и их описание.
Список возможных переменных в разделе vars
Группа переменных |
Описание |
|
---|---|---|
|
FQDN балансировщика нагрузки. Балансировщик пользователь устанавливает самостоятельно. Если внутри группы указать параметр |
|
|
Хост, выполняющий роль выделенного главного контроллера кластера. |
Группы для указания главного контроллера. Хост необходимо задать только в одной из них. |
|
Хост, совмещающий роль главного контроллера и рабочего узла кластера.Для каждого контроллера кластера, совмещенного с рабочим узлом, в файле инвентаря должен быть указан параметр |
|
|
Хосты, выполняющие роль выделенного контроллера кластера. |
Группы для указания второстепенных контроллеров. |
|
Хосты, совмещающие роль контроллера и рабочего узла кластера. Для каждого контроллера кластера, совмещенного с рабочим узлом, в файле инвентаря должен быть указан параметр |
|
|
Рабочие узлы кластера. Для каждого рабочего узла в файле инвентаря должен быть указан параметр |