Size: a a a

2020 October 22

KP

Kirill Proskurin in Saltstack
Да pillarstack очень хорош и если есть опыт с hiera  то прям как дома окажешся.
источник

GG

George Gaál in Saltstack
++++
источник

GG

George Gaál in Saltstack
pillar огонь
источник

GG

George Gaál in Saltstack
Roman
Если у кого есть статьи / видео или какие-то еще материалы на тему организации рабочего процесса по работе с Солтом (как разработка так и эксплуатация) - поделитесь пожалуйста. Как-то в сети мало подобного, в официальной доке тоже лишь базовые вещи. Обдумываю организацию новой среды, хочется изучить чужой опыт.
Сейчас использую что-то вроде "монорепо" - не достаточно гибко все же.
ну, все как с кубером - дикий запад
источник

GG

George Gaál in Saltstack
делай как умеешь
источник

R

Roman in Saltstack
Kirill Proskurin
Да pillarstack очень хорош и если есть опыт с hiera  то прям как дома окажешся.
я правильно понимаю что stack получает от солта данные обычных пилларов и потом уже сам отрабатывает?
источник

R

Roman in Saltstack
George Gaál
делай как умеешь
умение развивать надо :)
источник

s

sam in Saltstack
а кто как делает кластеры на салте? а то надо что то изменить в конфиге, накатывешь на группу и он рестартует все ноды. и усе, няма кластера)
источник

KP

Kirill Proskurin in Saltstack
Roman
я правильно понимаю что stack получает от солта данные обычных пилларов и потом уже сам отрабатывает?
по дефолту да но лично мы выключили нативные пилары совсем - у нас их нет
источник

R

Roman in Saltstack
sam
а кто как делает кластеры на салте? а то надо что то изменить в конфиге, накатывешь на группу и он рестартует все ноды. и усе, няма кластера)
так от кластера зависит, т.е. это кластер чего, какого ПО?
источник

s

sam in Saltstack
дык у меня и кафка, и кликхаус, вот в патрони надо это как то предусмотреть
источник

R

Roman in Saltstack
Kirill Proskurin
по дефолту да но лично мы выключили нативные пилары совсем - у нас их нет
В принципе, учитывая что пилларстак умеет брать данные из своих же, уже подгруженных файлов, обычные пиллары особо и не нужны. Понятно.
источник

R

Roman in Saltstack
sam
дык у меня и кафка, и кликхаус, вот в патрони надо это как то предусмотреть
у меня постгря и патрони - написан свой модуль для патрони, посредством этого модуля Солт умеет обращается к лидеру патрони и говорить ему сделать рестарт постгри, кластер при этом никуда не разваливается
источник

R

Roman in Saltstack
Что-то не пойму, как используя pillarstack, переиспользовать некий набор данных.
Допустим хочу создать пользователя myuser на некоторых хостах.
С обычными пилларами все просто

'minionA':
 - myuser
'minionB':
 - myuser
'minionC':
 - myuser
 - anotheruser

итого имею один файл myuser.sls - подключаю его многократно по необходимости.

С помощью stack подобный маппинг возможен?
источник

KP

Kirill Proskurin in Saltstack
в пиларстеке ты можешь обращатся к предыдущим слоям иерархии через словарь stack.

то есть ты можешь обьявить на самом базовом уровне что-то типа
users:
 - userA

потом сделать файл и инклюдить его только для minionA где ты переопределишь это:
users:
 - userB

(смотри на стратегии мержа - можно добится разного поведения)

и тд
источник

KP

Kirill Proskurin in Saltstack
ща покажу наш пример
источник

KP

Kirill Proskurin in Saltstack
$ cat salt/stack/stack.cfg
{# This file trying to load each string as a path so no comments are allowed #}

{# Secrets #}
secrets.yaml

{# default settings #}
defaults/*.yaml

{# OS specific overrides settings #}
os/{{ __grains__['os'] }}.yaml

{# Formulas specific settings #}
formula/*.yaml

{# env_type [dev, pre, prod] settings #}
{{ stack.common.env_type }}/defaults/*.yaml

{# Custom settings per customer #}
{{ stack.common.env_type }}/{{ stack.common.customer_name }}/defaults/*.yaml

{# Custom settings per cluster #}
{{ stack.common.env_type }}/{{ stack.common.customer_name }}/{{ stack.common.cluster_name }}/*.yaml

{# Customizations per minion #}
{{ stack.common.env_type }}/{{ stack.common.customer_name }}/{{ stack.common.cluster_name }}/minions/{{ minion_id }}.yaml

{# Everything else that needs to be done when all configuration are in place #}
post.yaml
источник

R

Roman in Saltstack
Kirill Proskurin
в пиларстеке ты можешь обращатся к предыдущим слоям иерархии через словарь stack.

то есть ты можешь обьявить на самом базовом уровне что-то типа
users:
 - userA

потом сделать файл и инклюдить его только для minionA где ты переопределишь это:
users:
 - userB

(смотри на стратегии мержа - можно добится разного поведения)

и тд
> и инклюдить его только для minionA
вот как раз этот момент не ясен, как мне инклудить один файл к нескольким произвольным миньонам? Не создавая множества отдельных файлов типа {{ minion_id }}/users.yml с разным содержанием.
источник

KP

Kirill Proskurin in Saltstack
{% if minion_id in SOME_LIST %}
file.yaml
{% endif %}

?
источник

R

Roman in Saltstack
Ага, идею понял, сделать отдельный файл с маппингом, а потом на его основе отрендерить список подключаемых файлов.

Т.е. по сути сделать то же самое что происходит в top файле, только вручную.
источник