Как стать автором
Обновить

Комментарии 15

А как вы определяете роль? Предсозданием файла /etc/salt/grains на миньенах?
Можно так, как Вы указали — непосредственно в момент бутстраппинга миниона;
можно создать отдельный стейт для этого файла (/etc/salt/grains) с перезапуском миниона.
В моем случае, это все делает salt-cloud при автоматизированном создании инстансов в Amazon EC2.
Я вот поставлю огромный и жирный плюс. Ну наболело, простите. У нас пропали специалисты, которые что-то внедряют. У нас ( простите за мой француский ) дохуя пиздоделов. Это статья человека, который реально с нуля сделал. Спасибо.
Спасибо за признательность. Действительно — почти все приходится делать с самого нуля т.к. реально работающих примеров и техник не так уже и много найдется среди гигабайтов сырых перепечаток документации и туториалов.
А тег Python? Где он здесь, Вы его как-то применяли?
Вполне может показаться, что его (я про Python) тут и нету, но, как говорят, дьявол кроется в мелочах: любое описание стейта для SaltStack — микс YAML/Jinja2/Python funcs — что неразрывно связанно с языком Python. Конечно же, в этом материале не будет описаний революционных методик написания кода на питоне, но связь в любом случае присутствует.
НЛО прилетело и опубликовало эту надпись здесь
Судя по живому интересу сетевого сообщества к последним разработкам в области систем управления и автоматизации (я имею ввиду SaltStack и Ansible — как флагманы, также недавно переработанный Chef) таки есть удачные внедрения и, думается, достаточно много.
Из своего личного опыта могу сказать, что пределов применения подобных систем почти нету, к примеру, — сейчас я использую SaltStack для создания тестовых окружений для приложения работающего с BigData провайдерами (Apache Hadoop, Horton Works, MapR) с применением автоматизированного создания этих окружений в публичных/приватных облачных провайдерах (Amazon, GoGrid, OpenStack). Если слышали что-то про указанные технологии, то понимаете, сколько административной работы пришлось бы затратить на создание этого «добра» в ручном режиме. С помощью грамотно созданных автоматизаций этот процесс занимает 20-30 минут для кластера из 10 машин.
В любом случае — каждый выбирает для себя что автоматизировать. Можно даже, банально накладывать security патчи на 100 серверов одновременно и в этом уже большой профит от таких систем.
А не пробовали использовать что-нибудь из service discovery штук для подобной задачи, типа etcd/serf/consul? Вроде они как раз для этого, поднялась машина, serf приаттачился к кластеру, остальные получили нотификацию и подправили свои конфиги. Сам вот сейчас думаю над подобной задачей в ansible и прихожу к тому что надо попробовать service discovery разверуть.
Идея с consul звучит прекрасно и очень подходит для уже существующих систем которым необходимы модификации в живую инфраструктуру. Конкретно в моем случае — все создается «с нуля» и в уже подготовленной конфигурации — т.е. масштабирование не входит в задачу для SaltStack. В любом случае — использовать или нет service discovery очень специфичный вопрос во многом зависящий от того, какую инфраструктуру оно будет обслуживать. К примеру, CHD (одна из реализаций стека Apache Hadoop от Cloudera) управляет своим кластером не требуя внешних приложений.
ну наконец начали писать про salt =)
несколько вопросов:
а как вы поддерживайте top.sls… динамическая генерация например?
используйте ли шину… например для мониторинга, статистики? кастомное тэгирование и отправка например в splunk.
есть ли какие-нибудь связки с cmdb… например хранить state by host и маппить через pillar?

В 2019.2.0 версии из

{% for node, fqdn_data in salt['mine.get']('*', 'grains.item', еxpr_form='glob').items() %}
cluster-node-{{fqdn_data['fqdn']}}:

нужно убрать еxpr_form='glob'
{% for node, fqdn_data in salt['mine.get']('*', 'grains.item').items() %}
cluster-node-{{fqdn_data['fqdn']}}:

иначе выдает ошибку
failed: Jinja error: get() got an unexpected keyword argument 'expr_form'
Спасибо за комментарий. Статья была написана 4-ре года назад и, естественно, с тех пор много чего поменялось в таком динамично развивающемся продукте как SaltStack. К сожалению следить за изменениями и подгонять статью под современную версию Солта нету времени, да и необходимости — тоже: статья задумывалась как обзорная, — просто для подачи концепта.
Надеюсь Ваш комментарий будет полезен всет тем, кто читает статью в 19-году.
Для этого и написал коммент) новых статей не так много) общее дело делаем)
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.