Обзор платформы
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 Client
Chef Infra спроектирован так, что большая часть вычислительных усилий происходит на узлах, а не на сервере Chef Infra. Узел представляет собой любую управляемую вами систему, как правило, виртуальную машину, контейнерный экземпляр или физический сервер. В основном, это любой вычислительный ресурс в вашей инфраструктуре, управляемый Chef Infra. На всех узлах установлен Chef Infra Client, и Chef Infra Client доступен для нескольких платформ, включая Linux, macOS, Windows, AIX и Solaris.
Периодически Chef Infra Client обращается к серверу Chef Infra для получения последних кулинарий. Если (и только если) текущее состояние узла не соответствует тому, что должно быть указано в кулинарии, Chef Infra Client выполняет инструкции кулинарии. Этот итеративный процесс гарантирует, что вся сеть сходится к состоянию, предусмотренному политикой бизнеса.
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, 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/