Параметры конфигурации LogAnalyzer в файле инвентаря
Файл инвентаря может содержать следующие блоки:
allkumakuma_k0s
Для каждого хоста вам нужно указать FQDN в формате <имя хоста>.<домен> и при необходимости IPv4-адрес или IPv6-адрес. Имя домена Ядра LogAnalyzer и его поддомены не должны начинаться с цифры.
Пример: hosts: hostname.example.com: ip: 0.0.0.0 |
Блок all
В этом блоке вы можете указать переменные, которые распространяются на все хосты, указанные в файле инвентаря, включая неявно заданный localhost, на котором запущена установка. Переменные можно переопределять на уровне групп хостов или отдельных хостов.
Пример переопределения переменных в файле инвентаря
В таблице ниже приведен список возможных переменных в разделе vars и их описание.
Список возможных переменных в разделе vars
Переменная | Описание |
|---|---|
| Способ подключения к целевым машинам. Возможные значения:
|
| Имя пользователя, от которого производится подключение к целевым машинам и установка компонентов. Если пользователь root на целевых машинах заблокирован, вам нужно использовать имя пользователя, имеющего право на подключение по SSH и повышение привилегий через su или sudo. |
| Переменная, определяющая, требуется ли повышать привилегии пользователя, от имени которого осуществляется установка компонентов LogAnalyzer. Возможные значения:
|
| Способ повышения привилегий пользователя, от имени которого осуществляется установка компонентов LogAnalyzer. Вам нужно указать значение |
| Путь к закрытому ключу в формате /<путь>/.ssh/id_rsa. Вам нужно указать эту переменную, если вы хотите указать файл ключа, отличный от файла ключа по умолчанию ~/.ssh/id_rsa. |
| Переменная, определяющая, требуется ли разворачивать компоненты LogAnalyzer в кластере Kubernetes. Возможные значения:
Если вы не укажете эту переменную, по умолчанию будет использовано значение |
| Переменная, определяющая, требуется ли переносить Ядро LogAnalyzer в новый кластер Kubernetes. Вам нужно указать эту переменную, только если для переменной Возможные значения:
Если вы не укажете эту переменную, по умолчанию будет использовано значение |
| Переменная, определяющая, выполняет ли установщик шаги по настройке межсетевого экрана на хостах. Возможные значения:
Если вы не укажете эту переменную, по умолчанию будет использовано значение |
| Переменная, определяющая, регистрируются ли машины в DNS-зоне вашей организации. Установщик автоматически дополнит файлы /etc/hosts на машинах, на которые устанавливаются компоненты LogAnalyzer, IP-адресами машин из файла инвентаря. Указанные IP-адреса должны быть уникальными. Возможные значения:
Если вы не укажете эту переменную, по умолчанию будет использовано значение При использовании |
| Переменная, определяющая, создаются ли предустановленные сервисы при установке LogAnalyzer. Вам нужно указать эту переменную, если вы хотите создать демо-сервисы независимо от файла инвентаря single/distributed/k0s. Возможные значения:
Если вы не укажете эту переменную, по умолчанию будет использовано значение |
| Переменная, определяющая, устанавливается ли KUMA в окружениях с ограниченными вычислительными ресурсами. Эта переменная отсутствует во всех шаблонах файла инвентаря. Возможные значения:
Если вы не укажете эту переменную, по умолчанию будет использовано значение |
| Переменная, позволяющая определить размер тома Ядра LogAnalyzer для установки в кластере Kubernetes. Если значение переменной не задано, то для размера тома Ядра LogAnalyzer при установке будут принятые следующие значения по умолчанию:
Суффикс Gi обязателен для указания. |
| Переменная, позволяющая определить размер тома сервиса Метрики для установки в кластере Kubernetes. Если значение переменной не задано, то для размера тома сервиса Метрики при установке будут приняты следующие значения по умолчанию:
Суффикс Gi обязателен для указания. |
| Переменная, позволяющая определить срок ожидания копирования метрик в минутах из тома Ядра LogAnalyzer 3.4 в новый том метрик в LogAnalyzer 4.0. Значение по умолчанию: 120m. Суффикс m обязателен для указания. |
Блок kuma
В этом блоке вы можете указать параметры компонентов KUMA, развернутых вне кластера Kubernetes. Блок kuma может содержать следующие разделы:
vars–переменные, которые распространяются на все хосты, указанные в блокеkuma.children– группы параметров компонентов:kuma_core– параметры Ядра LogAnalyzer.ansible_port– переменная для указания нестандартных портов для SSH в ходе установки. Следует указывать для каждого хоста в файле инвентаря, даже если на всех хостах используются одинаковые порты. Необязательный параметр.raft_node_addr– адрес, который будет использоваться для кластера узлов с сервисом Ядра LogAnalyzer, должен быть публичным и известным для других узлов. После того, как Ядро LogAnalyzer было запущено в первый раз с этим адресом, адрес больше не может меняться в будущем для этого узла. Значение параметра следует указывать в следующем формате: <FQDN>:<порт>. Если значение параметра не указано явно, то в качестве <FQDN> по умолчанию принимается FQDN, где разворачивается Ядро LogAnalyzer, а <порт> - 7209. Параметрraft_node_addrследует задавать вместе с параметромraft_node_listen на каждом сервере с Ядром LogAnalyzer в том случае, если DNS настроен таким образом, что сервер содержит несколько FQDN. Необязательный параметр.raft_node_listen– адрес, на котором узел будет слушать сообщения от соседей по кластеру. Значение параметра следует указывать в следующем формате <IP-адрес сервера, на котором установлено Ядро LogAnalyzer в формате IPv4 или IPv6>:<порт>. Адрес может меняться. Параметрraft_node_listenследует задавать вместе с параметромraft_node_addr на каждом сервере с Ядром LogAnalyzer. Необязательный параметр.
kuma_core_peers– параметры дополнительных Ядер LogAnalyzer. Установщик подготавливает серверы, перечисленные в группеkuma_core_peers, для последующей установки дополнительных сервисов Ядра LogAnalyzer. В этой группе можно указать только четное количество серверов. Если группаkuma_core_peersотсутствует в файле инвентаря или не заполнена, выполняется обычная процедура установки или обновления с одним Ядром LogAnalyzer. На каждом сервере в группеkuma_core_peersдопускается установка только одного сервиса Ядра LogAnalyzer.Использование группы kuma_core_peers при разных вариантах использования установщика
raft_node_addr– адрес, который будет использоваться для кластера узлов с сервисом Ядра LogAnalyzer, должен быть публичным и известным для других узлов. После того, как Ядро LogAnalyzer было запущено в первый раз с этим адресом, адрес больше не может меняться в будущем для этого узла. Значение параметра следует указывать в следующем формате: <FQDN>:<порт>. Если значение параметра не указано явно, то в качестве <FQDN> по умолчанию принимается FQDN, где разворачивается Ядро LogAnalyzer, а <порт> - 7209. Параметрraft_node_addrследует задавать вместе с параметромraft_node_listenна каждом сервере с Ядром LogAnalyzer в том случае, если DNS настроен таким образом, что сервер содержит несколько FQDN. Необязательный параметр.raft_node_listen– адрес, на котором узел будет слушать сообщения от соседей по кластеру. Значение параметра следует указывать в следующем формате <IP-адрес сервера, на котором установлено Ядро LogAnalyzer в формате IPv4 или IPv6>:<порт>. Адрес может меняться. Параметрraft_node_listenследует задавать вместе с параметромraft_node_addr на каждом сервере с Ядром LogAnalyzer. Необязательный параметр.
kuma_collector– параметры коллекторов LogAnalyzer. Вы можете указать несколько хостов.ansible_port– переменная для указания нестандартных портов для SSH в ходе установки. Следует указывать для каждого хоста в файле инвентаря, даже если на всех хостах используются одинаковые порты. Необязательный параметр.
kuma_storage– параметры узлов хранилища LogAnalyzer. Вы можете указать несколько хостов, а также идентификаторы шарда, реплики и кипера для хостов с помощью следующих параметров:ansible_port– переменная для указания нестандартных портов для SSH в ходе установки. Следует указывать для каждого хоста в файле инвентаря, даже если на всех хостах используются одинаковые порты. Необязательный параметр.shard– идентификатор шарда.replica– идентификатор реплики.keeper– идентификатор кипера.
Указанные идентификаторы шарда, реплики и кипера используются, только если вы разворачиваете демо-сервисы при новой установке LogAnalyzer. В остальных случаях используются идентификаторы шарда, реплики и кипера, которые вы указали в веб-интерфейсе LogAnalyzer при создании набора ресурсов для хранилища.
Блок kuma_k0s
В этом блоке вы можете указать параметры кластера Kubernetes, использование которого обеспечивает отказоустойчивость LogAnalyzer. Этот блок указан только в файле инвентаря, основанном на шаблоне файла инвентаря k0s.inventory.yml.template.
Для тестовой и демонстрационной установки в окружениях с ограниченными вычислительными ресурсами вам нужно указать переменную low_resources: true в блоке all. В этом случае минимальный объем директории для установки ядра LogAnalyzer будет снижен до 4 ГБ и ограничения для других вычислительных ресурсов не будут указаны.
Для каждого хоста в блоке kuma_k0s должен быть указан уникальный FQDN и IP-адрес с помощью переменной ansible_host, кроме хоста в разделе kuma_lb. Для хоста в разделе kuma_lb должен быть указан только FQDN. Хосты в группах не должны повторяться.
Для демонстрационной установки допустимо совместить контроллер с рабочим узлом. Такая конфигурация не обеспечивает отказоустойчивости Ядра LogAnalyzer и служит для демонстрации возможностей или проверки программной среды.
Минимальная конфигурация для обеспечения отказоустойчивости составляет 3 контроллера, 2 рабочих узла и 1 балансировщик нагрузки nginx. Для промышленной эксплуатации рекомендуется использовать отдельные рабочие узлы и контроллеры. Если контроллер кластера находится под рабочей нагрузкой и под (англ. pod) с Ядром LogAnalyzer размещается на контроллере, выключение контроллера приведет к полной потере доступа к Ядру LogAnalyzer.
Блок kuma_k0s может содержать следующие разделы:
vars– переменные, которые распространяются на все хосты, указанные в блокеkuma.сhildren– параметры кластера Kubernetes, использование которого обеспечивает отказоустойчивость KUMA.
В таблице ниже приведен список возможных переменных в разделе vars и их описание.
Список возможных переменных в разделе vars
Группа переменных | Описание | |
|---|---|---|
| FQDN балансировщика нагрузки. Вы можете установить балансировщик нагрузки nginx или сторонний TCP-балансировщик нагрузки. Если вы устанавливаете балансировщик нагрузки nginx, вы можете указать параметр Если вы устанавливаете сторонний TCP-балансировщик нагрузки, вам нужно вручную настроить его до установки KUMA. | |
| Хост, выполняющий роль главного контроллера в кластере. | Группы для указания главного контроллера. Вам нужно указать хост только для одной группы. |
| Хост, совмещающий роль главного контроллера и рабочего узла в кластере. Для каждого контроллера кластера, совмещенного с рабочим узлом, в файле инвентаря должен быть указан параметр | |
| Хосты, выполняющие роль контроллера в кластере. | Группы для указания второстепенных контроллеров. |
| Хосты, совмещающие роль контроллера и рабочего узла в кластере. Для каждого контроллера кластера, совмещенного с рабочим узлом, в файле инвентаря должен быть указан параметр | |
| Рабочие узлы кластера. Для каждого рабочего узла в файле инвентаря должен быть указан параметр | |
| Если на рабочих узлах кластера одновременно используется несколько сетевых интерфейсов, переменная Например, если вы хотите использовать для связи между рабочими узлами кластера только сетевые интерфейсы с названием ethN (где N – это номер сетевого интерфейса), вы можете указать переменную следующим образом:
В таком случае кластер будет использовать сетевой интерфейс с названием, совпадающим с маской Если название сетевого интерфейса на каждом рабочем узле одинаково, например, eth0, вы можете указать переменную без маски:
Подробнее см. в документации Calico Open Source. | |