Size: a a a

2021 April 10

TL

Timofey Larkin in Saltstack
Подскажите, как в солте разруливаются вложенные зависимости, типа
1. по глоб-матчу minion id проставляет какой-то пиллар типа key: value
2. Через стейт grains.present миниону с пилларом key: value назначается grain role: somerole
3. В пилларах по матчингу по грейнам миниону назначается пиллар k8s: True; k8sversion: v1.20.5
4. В стейтах миньон с грейном k8s: True ставить kubelet версии {{ pillar.get(k8sversion) }}

Я правильно понимаю, что чтобы довести миньон до конечного состояния, мне придётся сделать
salt \* saltutil.refresh_pillar
salt \* state.apply
salt \* saltutil.refresh_pillar
salt \* state.apply
?
источник

KP

Kirill Proskurin in Saltstack
Как вариант грейны можно передать миньену через конфиг
источник

KP

Kirill Proskurin in Saltstack
это немного надежней
источник

GG

George Gaál in Saltstack
Доставка конфига тогда все равно необходима - как будешь делать ?
источник

KP

Kirill Proskurin in Saltstack
провиженинг системой
источник

GG

George Gaál in Saltstack
Я так понимаю, что у @lllamnyp не очень динамичная система под капотом - вероятно железки?
источник

TL

Timofey Larkin in Saltstack
Не совсем
источник

TL

Timofey Larkin in Saltstack
Как раз таки, когда под капотом были железки, я имел в пилларах ямлик, в котором я записывал таблицу типа
hostname:
 cluster:
 roles:
 - ...
 - ...
 - ...

и с кое какой джинжа магией я назначал вспомогательные пиллары, с обратным индексом, типа
by_roles:
 controlplane:
 - hostname2
 - hostname3
 - hostname5
источник

TL

Timofey Larkin in Saltstack
Теперь ситуация иная, у меня инфра динамическая, хостнеймы могут меняться, и вообще, cattle, not pets
источник

GG

George Gaál in Saltstack
Ты при создании вм определяешь роль ?
источник

GG

George Gaál in Saltstack
Тогда ты ее можешь в метаданные того же опенстека класть
источник

GG

George Gaál in Saltstack
Дальше динамический инвентарь и поехали
источник

TL

Timofey Larkin in Saltstack
Да, я могу сказать, что все миньоны с айдишником по глобу
'k8smaster*':
 roles:
 - controlplane

но как строить обратный индекс?
источник

TL

Timofey Larkin in Saltstack
мне, допустим, в конфиге хапроски нужно будет получить список всех хостов с ролью контролплейн.
источник

GG

George Gaál in Saltstack
Реально сделай как @kvaps - служебный менеджмент кластер и кластера тупо helm install )
источник

GG

George Gaál in Saltstack
Катить из образов - пакером ты легко нарежешь базовые образа нужных версий
источник

YZ

Yerzhan Zhiyentayev in Saltstack
Я через оркестртейт делал. Позже могу скинуть
источник

GG

George Gaál in Saltstack
А дальше - остаётся обновление узлов (у тебя же стейтлес?)
источник

TL

Timofey Larkin in Saltstack
ну, по большому счёту, да.
источник

TL

Timofey Larkin in Saltstack
ну как, стейтлесс. Терраформом нарезаю виртуалки.
источник