Всем здравствуйте. Является ли best practices разносить конфиги по серверам?

На текущий момент у меня есть сервер с loki/prometheus/grafana, хочу копировать с помощью ansible конфиги на другие сервера (где требуется), правильно ли это, или есть более лучший вариант реализации?
P.S я понимаю что ansible это система управления конфигурациями

9 ответов

18 просмотров

делаете темплейт конфига, а переменные выносите в инвентарь

best practice - иметь 1 точку правды. даже не practice, это по логике. best practice - это версионирование и иммутабельность. в данном примере, конфиг с сервера храните в registry с зафискированной чексуммой и скачиваете на каждый сервер из одного источника без изменений

Deff- Автор вопроса
Игорь
best practice - иметь 1 точку правды. даже не prac...

на текущий момент необходимые конфиги расположены в git, задача их вытащить и положить в определенное место. Просто когда таких конфигов 10-15, то playbook становится очень большим, это как раз таки и волнует) вдруг есть что-то по лучше

Deff
на текущий момент необходимые конфиги расположены ...

роли, темплейты, инвентарь, имхо) не надо храниь файлики

Deff
на текущий момент необходимые конфиги расположены ...

если тебя волнует факт наличия большого колва tasks в плейбуке по поставке конфигов, плейбук можно оптимизировать сгруппировав типовые задачи по поставке конфигов через модуль copy и loop, где src/dest будут передаваться как list

Deff- Автор вопроса
Кирилл
если тебя волнует факт наличия большого колва task...

да, я думал так сделать, и даже пробовал но путь к файлам везде разный + разные названия файлов (их же тоже надо указывать). Разный в плане что к примеру loki конфиг надо в /etc/loki/loki-default.ini, а Prometheus например/etc/prometheus/prometheus.yml

Deff
да, я думал так сделать, и даже пробовал но путь к...

готового примера под рукой нет, но аналогия думаю понятна - name: Add several users ansible.builtin.user: name: "{{ item.name }}" state: present groups: "{{ item.groups }}" loop: - { name: 'testuser1', groups: 'wheel' } - { name: 'testuser2', groups: 'root' }

Deff- Автор вопроса
Кирилл
готового примера под рукой нет, но аналогия думаю ...

а loop можно указывать словарем? (вроде он) просто сейчас у меня loop это loop: - test1 - test2

Похожие вопросы

Обсуждают сегодня

Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
всем привет помогите пожалуйста используя CDN (GCP) у игроков из вьетнама загружается конфиг (размер 999 bytes) загружается 5 и более минут н а других CDN сервисах такой пробл...
Andrew Krw.
1
Добрый день. Мне посоветовали обратиться к вам в чат за помощью. Ситуация описана на скрине. Как мне сказали, мне на бота навесили флудвейт. Есть ли возможность снять его ра...
OVERLINK
7
Просто по очереди выпиливаешь на ручной маппинг? По методу за раз
Andrii Kurdiumov
7
Приветствую. А не подскажете какие ограничения есть на использования api метода setMyName ? Несколько раз сменил имя бота и получил бан на 2 месяца на смену имени.
Slick Slack
8
И? Все равно глазами проверять надо каждое поле
Andrii Kurdiumov
4
Ну есть у нас десяток компаний которым надо. Остальным то зачем?
Andrii Kurdiumov
4
Всем привет! Взялся портировать модули на 18 версию, лезет _logger.log(log_level, 'no translation language detected, skipping translation %s', frame, stack_info=True) А чт...
Max Lit
3
Привет, коллеги! Возникла задача ограничить максимальный размер вложений для определённых расширений, например, чтобы для изображений лимит был 10 МБ, а для видео — 100 МБ. Ог...
Andro
1
Доброе утро, а кто то делал Google аналитику через php ? curl_setopt($ch, CURLOPT_NOSIGNAL, true); Это должно быть async без ожидания ответа. Вообще php нормально с таким с...
Max Dubovsky
9
Карта сайта