Salt (програма)
Salt (іноді згадується як SaltStack Platform) відкрите програмне забезпечення для керування конфігурацією та віддаленого виконання написане на Python. Підтримує підхід "Infrastructure as Code" до розгортання і керування хмарами. Основними аналогами є Puppet, Chef, та Ansible.[4]
Тип | Керування конфігурацією та Інфраструктура як код |
---|---|
Розробник | Thomas S Hatch |
Стабільний випуск | 2016.11.6 (10 травня, 2017[1]) |
Версії | 3005 (25 серпня 2022)[2] і 3006.1 (5 травня 2023)[3] |
Операційна система | Unix-like, OS X, Windows |
Мова програмування | Python |
Ліцензія | Apache 2.0 |
Репозиторій | github.com/saltstack/salt |
Вебсайт | 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.
Цей розділ потребує доповнення. (липень 2017) |
Див. також
ред.Зноски
ред.- ↑ Releases - saltstack/salt. Архів оригіналу за 6 листопада 2020. Процитовано 12 травня 2017 — через GitHub.
- ↑ Release 3005 — 2022.
- ↑ v3006.1
- ↑ Review: Puppet vs. Chef vs. Ansible vs. Salt. 21 листопада 2013. Архів оригіналу за 2 березня 2015. Процитовано 11 липня 2017.
- ↑ а б FLOSS Weekly 191: Salt. TwitTV. Архів оригіналу за 18 листопада 2011. Процитовано 19 березня 2011.
- ↑ Salt 2014.7.0 Release Notes - Codename Helium. Архів оригіналу за 4 липня 2017. Процитовано 11 липня 2017.
- ↑ red45.wordpress.com salt configuration management. red45.wordpress.com. Архів оригіналу за 1 червня 2011. Процитовано 29 травня 2011.
- ↑ Salt Release Notes - 0.9.3. saltstack. Архів оригіналу за 25 квітня 2012. Процитовано 6 листопада 2011.
- ↑ salt documentation - Writing Modules. saltstack. Архів оригіналу за 28 квітня 2013. Процитовано 3 листопада 2011.
Посилання
ред.- Офіційний сайт
- Saltstack Tutorial for beginners. Архів оригіналу за 20 березня 2020. Процитовано 20 березня 2020.
- Jaber, German (25 липня 2014). Salt - Beginners Tutorial. talPor. Архів оригіналу за 9 травня 2016. Процитовано 11 липня 2017.