Spec-Zone.ru › Chef 16

Обзор клиента Chef Infra

[редактировать на GitHub]

Примечание

Для инструмента командной строки chef-client см. chef-client (исполняемый файл). Исполняемый файл Chef Infra Client может запускаться как демон.

image

Chef Infra Client — это агент, который работает локально на каждом узле, управляемом сервером Chef Infra Server. При запуске Chef Infra Client выполняет все необходимые шаги для приведения узла в ожидаемое состояние, включая:

  • Регистрацию и аутентификацию узла с сервером Chef Infra Server
  • Синхронизацию кулинарных книг с сервера Chef Infra Server на узел
  • Компиляцию коллекции ресурсов путём загрузки всех необходимых кулинарных книг, включая рецепты, атрибуты и все другие зависимости
  • Выполнение необходимых действий по настройке узла на основе рецептов и атрибутов
  • Отчёт о сводке выполнения в Chef Automate
Chef Infra Client аутентифицируется на сервере Chef Infra Server с помощью пар публичных и частных ключей RSA каждый раз, когда ему требуется доступ к данным, хранящимся на сервере Chef Infra Server. Это предотвращает доступ любого узла к данным, к которым он не должен иметь доступ, и гарантирует, что управлять могут только узлы, должным образом зарегистрированные на сервере Chef Infra Server.

Запуск клиента Chef Infra

«Запуск клиента Chef Infra» — это термин, используемый для описания шагов, которые выполняет Chef Infra Client для настройки узла при запуске команды chef-client. На следующей диаграмме показаны различные этапы, происходящие во время запуска Chef Infra Client.

image

Во время каждого запуска Chef Infra Client происходит следующее:

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

Обновление объекта узла, обработка исключений и обработчиков отчётов

После выполнения всех действий, определённых ресурсами в коллекции ресурсов, и успешного завершения работы Chef Infra Client обновляет объект узла на сервере Chef Infra Server объектом узла, созданным во время запуска Chef Infra Client. (Этот объект узла будет загружен Chef Infra Client во время следующего запуска.) Это делает объект узла (и данные в объекте узла) доступными для поиска.

Chef Infra Client всегда проверяет коллекцию ресурсов на наличие обработчиков исключений и отчётов. Если таковые имеются, каждый из них обрабатывается должным образом.

Остановка, ожидание следующего запуска После завершения всей настройки и запуска Chef Infra Client, Chef Infra Client останавливается и ожидает следующего запуска.

Связанные материалы

  • Chef Infra Client (исполняемый файл)
  • Chef Infra Server
  • Кулинарные книги
  • Узлы
  • Списки задач

Дальнейшие шаги

  • Установка Chef Workstation
  • Инициализация узлов

© 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/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API