Обзор платформы
Chef — компания, занимающаяся автоматизацией. С момента основания в 2008 году мы объединяем разработчиков и системных администраторов с нашим продуктом Chef Infra. С годами понятие автоматизации расширилось. Сегодня Chef предлагает комплексное решение для автоматизации инфраструктуры и приложений, охватывающее весь цикл разработки, от разработки до производства. Вот полное решение Chef.
Chef Infra
Chef Infra — мощная платформа автоматизации, которая превращает инфраструктуру в код. Независимо от того, работаете ли вы в облаке, локально или в гибридной среде, Chef Infra автоматизирует конфигурирование, развертывание и управление инфраструктурой по всей вашей сети любого размера.
На этом рисунке показано, как вы разрабатываете, тестируете и развертываете код Chef Infra.
Использование Chef Workstation
Chef Workstation позволяет создавать кулинарные книги и администрировать вашу инфраструктуру. Chef Workstation работает на компьютере, который вы используете ежедневно, будь то Linux, macOS или Windows.
Chef Workstation поставляется с инструментами тестирования Cookstyle, ChefSpec, Chef InSpec и Test Kitchen. С их помощью вы можете убедиться, что ваш код Chef Infra делает то, что вы задумали, прежде чем развертывать его в средах, используемых другими, таких как предварительная версия или производство.
При написании кода вы используете ресурсы для описания вашей инфраструктуры. Ресурс соответствует какому-либо элементу инфраструктуры, например, файлу, шаблону или пакету. Каждый ресурс объявляет, в каком состоянии должна находиться часть системы, но не как этого добиться. Chef Infra обрабатывает эти сложности за вас. Chef Infra предоставляет множество готовых к использованию ресурсов. Вы также можете использовать ресурсы, поставляемые в кулинарных книгах сообщества, или создавать собственные ресурсы, специфичные для вашей инфраструктуры.
Рецепт Chef Infra — это файл, который группирует связанные ресурсы, например, все необходимое для настройки веб-сервера, сервера базы данных или балансировщика нагрузки. Кулинарная книга Chef Infra предоставляет структуру вашим рецептам и, как правило, помогает вам поддерживать организацию.
Chef Workstation включает другие командные инструменты для взаимодействия с Chef Infra. К ним относятся knife для взаимодействия с сервером Chef Infra и chef для взаимодействия с локальным репозиторием кода chef (chef-repo).
Загрузка вашего кода на сервер Chef Infra
После завершения разработки и тестирования кода на вашем локальном рабочем столе вы можете загрузить его на сервер Chef Infra. Сервер Chef Infra служит центром данных конфигурации. Он хранит кулинарные книги, политики, применяемые к системам вашей инфраструктуры, и метаданные, описывающие каждую систему. Команда knife позволяет взаимодействовать с сервером Chef Infra с вашего рабочего стола. Например, с её помощью вы загружаете кулинарные книги.
Настройка узлов с помощью клиента Chef Infra
Chef Infra разработан таким образом, что большая часть вычислительной работы выполняется на узлах, а не на сервере Chef Infra. Узел представляет собой любую управляемую вами систему, обычно виртуальную машину, контейнер или физический сервер. В основном, это любой вычислительный ресурс вашей инфраструктуры, управляемый Chef Infra. На всех узлах установлен клиент Chef Infra, а клиент Chef Infra доступен для нескольких платформ, включая Linux, macOS, Windows, AIX и Solaris.
Периодически клиент Chef Infra связывается с сервером Chef Infra, чтобы получить последние кулинарные книги. Если (и только если) текущее состояние узла не соответствует тому, что указано в кулинарной книге, клиент Chef Infra выполняет инструкции кулинарной книги. Этот итеративный процесс обеспечивает схождение всей сети к состоянию, задуманному в политике бизнеса.
Chef Habitat
Chef Habitat предлагает новый подход к развертыванию приложений, называемый автоматизацией приложений. Автоматизация приложений означает, что автоматизация упаковывается вместе с приложением и перемещается вместе с ним, независимо от того, где это приложение развернуто. Единицей развертывания становится приложение и его связанная автоматизация. Среда выполнения, будь то контейнер, bare metal или PaaS, никоим образом не определяет приложение.
Chef Habitat состоит из формата упаковки и супервизора. Формат определяет пакеты Chef Habitat, которые изолированы, неизменяемы и проверяемы. Супервизор Chef Habitat знает, как взять пакеты и запустить их. Он знает о взаимоотношениях пакетов, стратегии обновления и политиках безопасности. Чтобы узнать все о Chef Habitat, перейдите на веб-сайт Chef Habitat по адресу https://www.habitat.sh.
Chef InSpec
Chef InSpec — это открытый инструмент тестирования с удобочитаемым для человека и машины языком для определения требований к соответствию, безопасности и политике. Когда соответствие выражено в виде кода, вы можете интегрировать его в свою конвейерную систему развертывания и автоматически проверять соблюдение политик безопасности.
Код Chef InSpec может работать на нескольких платформах. Вы можете выполнять одни и те же тесты локально, с помощью удалённых команд, использующих SSH или WinRM, или с помощью внешних механизмов, таких как API Docker.
С помощью Chef InSpec вы можете сделать больше, чем просто убедиться, что ваши физические серверы соответствуют требованиям. Вы можете, например, оценить данные в базе данных или проверить конфигурацию виртуальных ресурсов с помощью их API.
Чтобы понять, как работает язык Chef InSpec, вот несколько примеров. Это правило Chef InSpec гарантирует, что небезопасные службы и протоколы, такие как telnet, не используются.
describe package('telnetd') do
it { should_not be_installed }
end
describe inetd_conf do
its('telnet') { should eq nil }
end
Chef Automate
Chef Automate предоставляет полный набор возможностей для предприятий для визуализации узлов и соблюдения соответствия. Chef Automate интегрируется с открытым исходным кодом Chef Infra Client, Chef InSpec и Chef Habitat. Chef Automate поставляется с комплексной круглосуточной поддержкой всей платформы, включая компоненты с открытым исходным кодом.
Chef Automate обеспечивает вам непрерывное соответствие и безопасность на всех уровнях, а также позволяет просматривать ваши приложения и инфраструктуру.
Узлы
Chef Automate предоставляет вам хранилище данных, которое принимает входные данные от Chef Server, Chef Habitat и рабочих процессов и соответствия Chef Automate. Он предоставляет представления событий работы и рабочих процессов. Язык запросов доступен через пользовательский интерфейс и настраиваемые панели.
Вот пример панели Chef Automate.
Соответствие
Chef Automate создаёт настраиваемые отчеты, которые выявляют проблемы соответствия, риски безопасности и устаревшее программное обеспечение. Вы можете писать свои собственные правила соответствия в Chef InSpec или быстро начать работу, используя встроенные профили, которые являются предопределёнными наборами правил для различных рамок безопасности, таких как эталоны Центра по безопасности интернета (CIS), включенные в Chef Automate.
Дополнительную информацию о встроенных возможностях отчётности в Chef Automate см. в Обзоре соответствия.
Высокая доступность
Chef Automate включает сервер Chef Infra с высокой доступностью и отказоустойчивостью, немедленно согласующиеся результаты поиска и точные данные в реальном времени о вашей инфраструктуре. Chef Automate также предоставляет графический консольный менеджер для сервера Chef Infra.
Дополнительные сведения
Если вы хотите получить практический опыт, перейдите на https://learn.chef.io/, чтобы узнать о руководствах, курсах обучения и ресурсах сообщества.
© 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/platform_overview/