Salt (програма)

Salt (іноді згадується як SaltStack Platform) відкрите програмне забезпечення для керування конфігурацією та віддаленого виконання написане на Python. Підтримує підхід "Infrastructure as Code" до розгортання і керування хмарами. Основними аналогами є Puppet, Chef, та Ansible.[4]

Salt
Тип Керування конфігурацією та Інфраструктура як код
Розробник Thomas S Hatch
Стабільний випуск 2016.11.6 (10 травня, 2017 (2017-05-10)[1])
Версії 3004 (18 жовтня 2021)[2][3]
Репозиторій github.com/saltstack/salt
Операційна система Unix-like, OS X, Windows
Мова програмування Python
Ліцензія Apache 2.0
Вебсайт saltstack.com


Історія

Salt з'явився через потребу швидкого збирання даних та виконання завдань в середовищах системного адміністрування. Автор Salt, Томас С. Гатч, раніше створив кілька внутрішніх продуктів компанії для вирішення цієї проблеми, але цього, та інших продуктів з відкритим кодом виявилося не достатньо.[5] Гатч вирішив використати бібліотеку обміну повідомленнями ØMQ і створив Salt використовуючи ØMQ для всіх рівнів мережі.

В липні 2014-го (в релізі "Helium") був додана надійна транспортна система RAET (Reliable Asynchronous Event Transport Protocol) на основі черги. Вона була створена в партнерстві з кількома великими підприємствами, щоб Salt мала альтернативу для ZeroMQ та можливість маштабування понад десятки тисяч серверів.[6]

Стани

Наприкінці травня 2011, були зроблені перші кроки до розробки централізованого керування конфігурацією в Salt.[7] Ця система керування конфігурацією базується на збереженні всіх даних конфігурації (або "стану") всередині просто зрозумілої структури даних. Цей функціонал увійшов в стабільний реліз в Salt 0.9.3 в листопаді 2011.[8]

Архітектура

Salt був спроектований бути модульним і легко розширюваним, щоб його можна було сформувати по різному для різних застосувань.[5] Архітектура Salt дозволяє створювати модулі Python які відповідають за певні аспекти наявних систем Salt.

Типи модулів

Модулі керують віддаленим виконанням та керуванням станами в Salt. Їх можна поділити на шість груп:

  • Модулі виконання (англ. Execution modules) - "робочі конячки" функціоналу Salt. Вони описують функції доступні для виконання на віддалених машинах. Ці модулі містять специфічну крос-платформну інформацію яка використовується Salt для забезпечення переносимості, і складають ключове API з системних функцій що використовуються в Salt.[9]
  • Модулі станів (англ. State modules) компоненти що утворюють бекед для системи керування конфігурацією Salt.

Див. також

Зноски

  1. Releases - saltstack/salt. Процитовано 12 травня 2017 через GitHub.
  2. Salt 3004 (Silicon) Is Here! — 2021.
  3. https://github.com/saltstack/salt/releases/tag/v3004 — 2021.
  4. Review: Puppet vs. Chef vs. Ansible vs. Salt. 21 листопада 2013.
  5. FLOSS Weekly 191: Salt. TwitTV. Процитовано 19 березня 2011.
  6. Salt 2014.7.0 Release Notes - Codename Helium.
  7. red45.wordpress.com salt configuration management. red45.wordpress.com. Процитовано 29 травня 2011.
  8. Salt Release Notes - 0.9.3. saltstack. Процитовано 6 листопада 2011.
  9. salt documentation - Writing Modules. saltstack. Процитовано 3 листопада 2011.

Посилання

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.