Chef (программа)
| Chef | |
|---|---|
| Тип | configuration manager |
| Разработчик | Chef |
| Написана на | Ruby[2] и Erlang |
| Операционная система | GNU |
| Первый выпуск | 15 января 2009 |
| Последняя версия | |
| Репозиторий |
github.com/chef/chef-ser… github.com/chef/chef |
| Лицензия | Apache License 2.0[3] |
| Сайт | chef.io/chef/ |
Chef — система управления конфигурациями, написанная на Ruby (клиентская часть) и Erlang (серверная часть), с использованием предметно-ориентированного языка для описания конфигураций. Используется для упрощения задач настройки и поддержки множества серверов и может интегрироваться в облачные платформы, такие как Rackspace и Amazon EC2, для автоматизации процессов настройки новых серверов.
Пользователь Chef создаёт так называемые «рецепты» с описанием того, как управлять серверными приложениями (например, Apache, MySQL или Hadoop) и их настройками.
«Рецепт» — это описание состояния ресурсов системы, в котором она должна находиться в конкретный момент времени, включая установленные пакеты, запущенные службы и созданные файлы. Chef проверяет, что каждый из ресурсов системы настроен правильно, и пытается исправить состояние ресурса, если оно не соответствует ожидаемому.
Chef может работать как в режиме клиент-сервер, так и в режиме автономной конфигурации, называемом «chef-solo». В режиме клиент-сервер клиент передаёт на сервер различные свойства хоста, на котором он расположен. На стороне сервера используется Solr для индексирования свойств и предоставления API для запроса информации клиентом. «Рецепты» могут запрашивать эти свойства и использовать полученные данные для настройки хоста.
Обычно используется для управления узлами под управлением Linux, но последние версии поддерживают Windows[4].
Наряду с CFEngine, Bcfg2 и Puppet считается одной из наиболее популярных систем управления конфигурациями для Linux[5][6]. Другими примерами подобных систем являются Ansible, SaltStack, а также Desired State Configuration для Windows[7].
Примечания
- ↑ Release 16.0.0 — 2023.
- ↑ https://github.com/EvanLi/Github-Ranking/blob/master/Data/github-ranking-2025-07-06.csv — 2025.
- ↑ https://github.com/chef/chef-server/blob/master/LICENSE
- ↑ Chef & Puppet (англ.). Wired (октябрь 2011). Дата обращения: 28 сентября 2017. Архивировано 24 марта 2014 года.
- ↑ Puppet vs Chef battle wages (англ.) (недоступная ссылка — история). scriptrock.com.
- ↑ Lueninghoener, C. (Апрель 2011). Getting Started with Configuration Management (PDF). login: (англ.). 36 (2). Usenix. Архивировано (PDF) 9 октября 2022. Дата обращения: 23 ноября 2012.
- ↑ Taylor, Vargo, 2014, What Is Configuration Management?
Литература
- Stephen Nelson-Smith. Test-Driven Infrastructure with Chef. — 2nd Edition. — O'Reilly Media, Inc., 2013. — 308 p. — ISBN 978-1-4493-7220-0.
- Matthias Marschall. Chef Infrastructure Automation Cookbook. — Packt Publishing, 2013. — 276 p. — ISBN 978-1-84951-922-9.
- Matthew Helmke; Andrew Hudson; Paul Hudson. Chapter 35. Managing Sets of Servers, Chef // Ubuntu Unleashed 2014 Edition: Covering 13.10 and 14.04. — Ninth Edition. — Sams, 2013. — 900 p. — ISBN 978-0-672-33693-5.
- Mischa Taylor, Seth Vargo. Learning Chef. — O'Reilly Media, Inc., 2014. — 366 с. — ISBN 978-1-4919-4493-6.
Ссылки
- getchef.com — официальный сайт Chef
- Проект Chef (программа) на сайте GitHub