Обзор клиента Chef Infra
Примечание
chef-client см. chef-client(исполняемый файл). Новое в Chef Infra Client 17
Фаза соответствия клиента Chef Infra Client позволяет автоматически выполнять проверки соответствия и отображать результаты в качестве части любого выполнения Chef Infra Client. Фаза соответствия заменяет устаревший кулинарный справочник аудита и работает с существующими атрибутами кулинарного справочника аудита. Также можно настроить Фазу соответствия для новых кулинарных справочников. Для обновления см. документацию по Фазе соответствия.
| Chef Infra Client — это агент, который работает локально на каждом узле, управляемом сервером Chef Infra. При запуске Chef Infra Client он выполняет все необходимые шаги для приведения узла к ожидаемому состоянию, включая:
|
Выполнение Chef Infra Client
«Выполнение Chef Infra Client» — это термин, используемый для описания шагов, которые Chef Infra Client выполняет для настройки узла при запуске команды chef-client. Следующая диаграмма показывает различные этапы, происходящие во время выполнения Chef Infra Client.
Во время каждого выполнения Chef Infra Client происходит следующее:
| Этапы | Описание |
|---|---|
| Получение данных конфигурации | Chef Infra Client получает данные конфигурации процесса из файла client.rb на узле, а затем получает данные конфигурации узла из Ohai. Важным элементом данных конфигурации является имя узла, которое находится в атрибуте node_name в файле client.rb или предоставляется Ohai. Если Ohai предоставляет имя узла, обычно это FQDN узла, который всегда уникален в организации. |
| Аутентификация на сервере Chef Infra | Chef Infra Client аутентифицируется на сервере Chef Infra с помощью закрытого ключа RSA и API сервера Chef Infra. Имя узла требуется в рамках процесса аутентификации на сервере Chef Infra. Если это первое выполнение Chef Infra Client для узла, chef-validator будет использован для генерации закрытого ключа RSA. |
| Получение, перестроение объекта узла | Chef Infra Client извлекает объект узла с сервера Chef Infra и затем перестраивает его. Объект узла состоит из системных атрибутов, обнаруженных Ohai, атрибутов, установленных в Policyfiles или кулинарных справочниках, и списка выполняемых кулинарных справочников. В первый раз при запуске Chef Infra Client на узле он создаёт объект узла из стандартного списка выполнения. Узел, на котором ещё не выполнялось выполнение Chef Infra Client, не будет иметь объект узла или запись на сервере Chef Infra для объекта узла. При последующих выполнениях Chef Infra Client перестроенный объект узла также будет содержать список выполнения из предыдущего выполнения Chef Infra Client. |
| Расширение списка выполнения | Chef Infra Client расширяет список выполнения из перестроенного объекта узла и компилирует полный список рецептов в точном порядке их применения к узлу. |
| Синхронизация кулинарных справочников | Chef Infra Client запрашивает все файлы кулинарных справочников (включая рецепты, шаблоны, ресурсы, поставщики, атрибуты и библиотеки), которые ему нужны для каждого действия, указанного в списке выполнения, с сервера Chef Infra. Сервер Chef Infra отвечает Chef Infra Client полным списком файлов. Chef Infra Client сравнивает список файлов с файлами, которые уже существуют на узле из предыдущих запусков, а затем загружает копию каждого нового или изменённого файла с сервера Chef Infra. |
| Сброс атрибутов узла | Все атрибуты в перестроенном объекте узла сбрасываются. Все атрибуты из файлов атрибутов, Policyfiles и Ohai загружаются. Атрибуты, определённые в файлах атрибутов, сначала загружаются в соответствии с порядком кулинарных справочников. Для каждого кулинарного справочника сначала загружаются атрибуты в файле default.rb, а затем дополнительные файлы атрибутов (если они есть) загружаются в лексикографическом порядке. Если файлы атрибутов находятся в каких-либо кулинарных справочниках, которые указаны в качестве зависимостей в файле metadata.rb, они также загружаются. Все атрибуты в перестроенном объекте узла обновляются данными атрибутов в соответствии с приоритетом атрибутов. После обновления всех атрибутов перестроенный объект узла завершен. |
| Компиляция коллекции ресурсов | Chef Infra Client определяет каждый ресурс в объекте узла и создаёт коллекцию ресурсов. Библиотеки загружаются в первую очередь, чтобы обеспечить доступность всех языковых расширений и классов Ruby для всех ресурсов. Затем загружаются атрибуты, а затем — пользовательские ресурсы. Наконец, все рецепты загружаются в порядке, указанном в расширенном списке выполнения. Это также называется «фазой компиляции». |
| Схождение узла | Chef Infra Client настраивает систему на основе собранной информации. Каждый ресурс выполняется в порядке, определённом списком выполнения, а затем в порядке перечисления каждого ресурса в каждом рецепте. Каждый ресурс определяет действие для выполнения, которое настраивает определённую часть системы. Этот процесс также называется схождением. Это также называется «фазой выполнения». |
Обновление объекта узла, обработчики исключений и отчётов |
Когда все действия, определённые ресурсами в коллекции ресурсов, выполнены, и Chef Infra Client завершается успешно, Chef Infra Client обновляет объект узла на сервере Chef Infra с объектом узла, созданным во время выполнения Chef Infra Client. (Этот объект узла будет загружен Chef Infra Client во время следующего выполнения Chef Infra Client.) Это делает объект узла (и данные в объекте узла) доступными для поиска. Chef Infra Client всегда проверяет коллекцию ресурсов на наличие обработчиков исключений и отчётов. Если они присутствуют, каждый из них обрабатывается надлежащим образом. |
| Получение и выполнение профилей соответствия Chef InSpec | После завершения выполнения Chef Infra Client он запускает Фазу соответствия, которая представляет собой выполнение Chef InSpec внутри Chef Infra Client. Chef InSpec извлекает тесты из устаревшего кулинарного справочника аудита или текущего профиля InSpec. |
| Отправка или сохранение отчёта о соответствии | Когда все тесты InSpec завершаются, Chef InSpec проверяет обработчики отчётов, определённые в устаревшем кулинарном справочнике аудита или в текущем профиле InSpec, и обрабатывает их надлежащим образом. |
| Остановка, ожидание следующего выполнения | Когда всё настроено и выполнение Chef Infra Client завершено, Chef Infra Client останавливается и ожидает следующего запуска. |
Связанные материалы
- Chef Infra Client (исполняемый файл)
- Chef Infra Server
- Кулинарные справочники
- Узлы
- Списки выполнения
Следующие шаги
© 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/chef_client_overview/