О рабочей станции Chef
Рабочая станция Chef содержит всё необходимое для начала работы с Chef Infra и Chef InSpec:
- Клиент Chef Infra
- Chef InSpec
- Утилиты командной строки chef и knife
- Инструменты тестирования, такие как Test Kitchen, ChefSpec и Cookstyle
- Всё остальное, необходимое для создания кулинарных книг и их загрузки на сервер Chef Infra
Рабочая станция Chef заменяет ChefDK, объединяя все существующие функции с новыми, такими как поддержка задач ad-hoc и новое приложение для рабочего стола Chef Workstation. Chef продолжит поддержку ChefDK, но новые разработки будут осуществляться в Chef Workstation без обратной портирования функций.
Начало работы
Chef Infra — это фреймворк для автоматизации инфраструктуры систем и облака, который упрощает развертывание серверов и приложений в любом физическом, виртуальном или облачном месте, независимо от размера инфраструктуры. Каждая организация состоит из одной (или нескольких) установок Chef Workstation, одного сервера и каждого узла, который будет настраиваться и обслуживаться клиентом Chef Infra. Кулинарные книги (и рецепты) используются для указания клиенту Chef Infra того, как каждый узел в вашей организации должен быть настроен. Клиент Chef Infra — который установлен на каждом узле — выполняет фактическую настройку.
Процесс разработки кулинарных книг
Chef Infra определяет общий процесс разработки кулинарных книг:
- Создайте каркасную кулинарную книгу, выполнив chef generate cookbook MY_COOKBOOK_NAME. Это создаст кулинарную книгу с одним рецептом и настройками тестирования с помощью ChefSpec и режима доставки локально.
- Напишите рецепты или ресурсы кулинарной книги и отлаживайте эти рецепты по мере их написания, используя Cookstyle и Test Kitchen. Это, как правило, итерационный процесс, в котором кулинарные книги тестируются по мере их разработки, ошибки быстро исправляются, а затем кулинарные книги тестируются снова. Для создания файлов в кулинарной книге используется текстовый редактор — Visual Studio Code, Atom, vim или любой другой предпочтительный текстовый редактор.
- Выполните тесты принятия. Эти тесты не выполняются в среде разработки, а выполняются против полного сервера Chef Infra с использованием среды, максимально приближенной к производственной среде.
- Когда кулинарные книги пройдут все тесты принятия и подтверждено, что они работают в нужном порядке, разверните кулинарные книги в производственной среде.
Инструменты
Рабочая станция Chef упаковывает все инструменты, необходимые для успешной работы с Chef Infra и InSpec. Эти инструменты объединены в родные пакеты для распространённых операционных систем и включают все зависимости, необходимые для начала работы.
Наиболее важные инструменты, включенные в Chef Workstation:
| Инструмент | Описание |
|---|---|
| Chef CLI | Инструмент для работы с Chef. |
| Клиент Chef Infra | Агент, выполняющий Chef. |
| ChefSpec | Фреймворк для модульного тестирования, тестирующий ресурсы локально. |
| Cookstyle | Инструмент проверки, помогающий создавать лучшие кулинарные книги Chef Infra, обнаруживая и автоматически исправляет ошибки стиля, синтаксиса и логики в вашем коде. |
| Delivery CLI | Инструмент командной строки для непрерывной доставки. Используется для настройки и выполнения задач фаз на сервере Chef Automate. |
| Test Kitchen | Инструмент фреймворка для интеграционного тестирования, тестирующий кулинарные книги на разных платформах. |
| kitchen-dokken | Плагин Test Kitchen, предоставляющий драйвер, транспорт и провайдер для быстрого тестирования кулинарных книг и разработки контейнеров с использованием Docker и Chef. |
| kitchen-vagrant | Плагин Test Kitchen для локального тестирования кулинарных книг с использованием Vagrant с гипервизорами VirtualBox, Parallels, VMware и Hyper-V. |
| kitchen-ec2, kitchen-google, kitchen-azurerm | Драйверы Test Kitchen для тестирования кулинарных книг на распространённых облачных провайдерах. |
| Ruby | Язык по умолчанию для Chef Infra и InSpec. |
© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/workstation/