Interested Article - SaltStack

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

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

Архитектура

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

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

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

Команды

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

Состояния

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

 openssh-client:
   pkg.installed

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

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

Примечания

  1. — 2006.
  2. , Preface.
  3. (21 ноября 2013). 2 марта 2015 года.
  4. , Introducing Salt.
  5. , Chapter 7. Understanding the RAET Protocol.
  6. , Chapter 7. Using Salt Cloud to Manage Virtual Minions.
  7. , The structure of a remote execution command.
  8. , Chapter 4. Defining the State of Your Infrastructure.
  9. , Chapter 5. Expanding Our States with Jinja2 and Pillar.

Литература

Ссылки

Источник —

Same as SaltStack