Русская Википедия:SaltStack

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Карточка программы SaltStack — система управления конфигурациями и удалённого выполнения операций. Является программным обеспечением с открытым исходным кодом, написанным на Python. Проект начат в 2011 году Томасом Хатчем (Thomas Hatch)Шаблон:Sfn. Поддерживает подход IaaS для развёртывания и управления облачными вычислениями[1].

Аналог Puppet, Chef и Ansible.

Архитектура

Двумя главными компонентами SaltStack являются Salt Master («мастер») и Salt Minion («ставленник», «приближённый», «миньон»). Мастер является центральной службой, к которой подключаются «ставленники» для получения конфигурации. Две основных идеи SaltStack: удалённое выполнение операций (remote execution) и управление конфигурациями. Удалённое выполнение функций Python является основой для построения повторяемой и управляемой конфигурации машин, с установленными на них «ставленниками»Шаблон:Sfn.

Мастер и «ставленники» общаются через промежуточное программное обеспечение, ориентированное на обработку сообщений: мастер запускает сообщения в очередь, из которой их получают «ставленники». Для обратной связи используется другая очередь. Первоначально для обмена сообщениями использовался ZeroMQ, но кластеры обслуживаемых серверов подчас имеют более десяти тысяч машин, поэтому на смену ZeroMQ был задуман основанный на UDP RAET (Шаблон:Lang-en — «надёжный асинхронный протокол для транспорта событий»)Шаблон:Sfn.

В 2014 году в состав Salt был включён Salt Cloud, добавляющий в SaltStack уровень абстракции для работы с различными поставщиками облачных платформШаблон:Sfn.

Команды

Команда salt для запуска удалённого выполнения принимает следующие основные параметрыШаблон:Sfn:

Состояния

SaltStack использует модули состояния (States) для описания требуемых состояний хостов-«ставленников». Состояния системы записываются в виде файлов с расширением .sls в синтаксисе YAML, например:Шаблон:Sfn

 openssh-client:
   pkg.installed

Модули состояния отличаются от исполняемых модулей тем, что описывают требуемые состояния и их работа заключается в достижении описанного состояния. Исполняемые же модули выполняют заложенные в них действия каждый разШаблон:Sfn.

Описания состояний могут быть расширены использованием языка шаблонов Jinja2, а конфиденциальные данные конкретных «ставленников» могут быть защищены (от других «ставленников») подсистемой PillarШаблон:Sfn.

Примечания

Шаблон:Примечания

Литература

Ссылки