Salt (програма)
Salt (іноді згадується як SaltStack Platform) відкрите програмне забезпечення для керування конфігурацією та віддаленого виконання написане на Python. Підтримує підхід "Infrastructure as Code" до розгортання і керування хмарами. Основними аналогами є Puppet, Chef, та Ansible.[4]
Тип | Керування конфігурацією та Інфраструктура як код |
---|---|
Розробник | Thomas S Hatch |
Стабільний випуск | 2016.11.6 (10 травня, 2017[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.
Див. також
- Порівняння відкритих систем керування конфігурацією
- Інфраструктура як код
- CFEngine
- Puppet
- Ansible
- Chef
- cdist
Зноски
- Releases - saltstack/salt. Процитовано 12 травня 2017 — через GitHub.
- Salt 3004 (Silicon) Is Here! — 2021.
- https://github.com/saltstack/salt/releases/tag/v3004 — 2021.
- Review: Puppet vs. Chef vs. Ansible vs. Salt. 21 листопада 2013.
- FLOSS Weekly 191: Salt. TwitTV. Процитовано 19 березня 2011.
- Salt 2014.7.0 Release Notes - Codename Helium.
- red45.wordpress.com salt configuration management. red45.wordpress.com. Процитовано 29 травня 2011.
- Salt Release Notes - 0.9.3. saltstack. Процитовано 6 листопада 2011.
- salt documentation - Writing Modules. saltstack. Процитовано 3 листопада 2011.
Посилання
- Офіційний сайт
- Saltstack Tutorial for beginners.
- Jaber, German (25 липня 2014). Salt - Beginners Tutorial. talPor.