Статьи по Salt и впечатления от использования

В прошлом году я сначала выбирал, потом изучал Salt в качестве системы Configuration Management and Remote Execution.

На данный момент могу сказать, что успешно её освоил и начал использовать в продакшине. Штука прекрасная. Хочу поделиться списком литературы, без которой успешное начало работы было бы невозможным, пока не потерялось. А также немного описать впечатления.

Итак.

С самого начала я вообще совершил ошибку: пытался усвоить туториалы из официальной документации солта и прочитать её от корки до корки. Из-за этого буксовал несколько месяцев, уж очень она перегружена. Кстати, часто натыкался на мнения коллег в интернетах, что Salt у них тяжело пошел именно из-за несовершенства оригинальной документации. В результате я записал ссылки на то, что мне помогло быстро освоиться:

В действительности, когда припекло, у меня заняло пару дней на чтение этих статей с практическими тестами. Еще неделю, чтобы написать необходимую функциональность для продакшина в первый раз используя всякие разные описания в grains&pillars и шаблонизацию на jinja в стейтах. Mine тоже за день освоил, однако пришлось еще за день переписать всё в пользу использования динамических pillar из-за безопасности.

Немного о впечатлениях:

  • За счет поддержания постоянных соединений через ZeroMQ работает нереально быстро. Десятки миньонов дергаются за доли секунд.
  • Вполне реально администрировать Windows. Есть, конечно, особенности. Например, вылезло, что юникод символы (кириллица) в именах файлов или описаниях YAML использовать не получится – бага питона на винде, чинится уже несколько лет. Получилось обойти костылём Reparse Points (иначе говоря английскими симлинками на кириллические папки).
  • Система идеально подходит для распределенного описания инфраструктуры:
    • Grains, которые миньон собирает при старте, содержат подробную информацию о железе и софте.
    • Grains, созданные вручную администратором сервера в файле /etc/salt/grains, позволяют задать ноде локальное описание: какие есть на ней данные и сервисы, например.
    • Pillars на мастер сервере, позволяют описывать для этих серверов sensitive данные, которые нельзя доверить описанию на самих серверах.
  • Без использования того же питона, awk, sed, bash не обошлось – все это смешивается вместе с jinja и yaml в нечто, что позволяет динамически генерировать описания и стейты.
  • После понимания, как оно в принципе работает и начала использования становится понятно, что 70-80% подходов в дальнейшем администрировании будут переработаны на использование Salt – возможности для творчества безграничны.

В общем: прозрение.

One thought on “Статьи по Salt и впечатления от использования

  1. Pingback: Puppet, Chef, Ansible, Salt – что попробовать для начала? | Журнал Жетмэна

Leave a Reply

Your email address will not be published. Required fields are marked *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.