Обзор платформы
Chef — это компания по автоматизации. С момента основания в 2008 году мы объединяем разработчиков и системных администраторов с нашим продуктом Chef Infra. Со временем понимание автоматизации расширилось. Сегодня Chef предлагает комплексное решение для автоматизации инфраструктуры и приложений, охватывающее весь цикл разработки, от разработки до производства. Вот полное решение Chef.
Chef Infra
Chef Infra — это мощная платформа для автоматизации, которая превращает инфраструктуру в код. Независимо от того, работаете ли вы в облаке, на локальных серверах или в гибридной среде, Chef Infra автоматизирует конфигурирование, развертывание и управление инфраструктурой по всей вашей сети, независимо от ее размера.
На этом рисунке показано, как вы разрабатываете, тестируете и развёртываете свой код Chef Infra.
Использование Chef Workstation
Chef Workstation позволяет вам создавать кулинарные книги (cookbooks) и администрировать вашу инфраструктуру. 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/