Перейти к содержанию

Chef (программа)

Материал из Википедии — свободной энциклопедии
Chef
Логотип программы Chef
Тип configuration manager[вд]
Разработчик Chef[вд]
Написана на Ruby[1] и 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].

Примечания

[править | править код]
  1. https://github.com/EvanLi/Github-Ranking/blob/master/Data/github-ranking-2025-07-06.csv — 2025.
  2. Release 16.0.0 — 2023.
  3. https://github.com/chef/chef-server/blob/master/LICENSE
  4. Chef & Puppet (англ.). Wired (октябрь 2011). Дата обращения: 28 сентября 2017. Архивировано 24 марта 2014 года.
  5. Puppet vs Chef battle wages (англ.) (недоступная ссылка история). scriptrock.com.
  6. Lueninghoener, C. (Апрель 2011). Getting Started with Configuration Management (PDF). login: (англ.). 36 (2). Usenix. Архивировано (PDF) 9 октября 2022. Дата обращения: 23 ноября 2012.
  7. Taylor, Vargo, 2014, What Is Configuration Management?

Литература

[править | править код]