Клиенты и валидаторы повара

Я пытаюсь понять концепцию клиентов-шеф-поваров и валидаторов, а также их связь с процессом начальной загрузки.

Согласно этой статье, chef-клиент будет использовать закрытый ключ /etc/chef/validation.pem для аутентификации для первоначального запуска, потому что /etc/chef/client.pem не существует все же. Этот первоначальный запуск каким-то образом приведет к созданию client.pem, которое затем будет использоваться для всех последующих клиентских запросов.

Мои вопросы:

  • Какой процесс размещает файл /etc/chef/validation.pem на шеф-клиенте node в первую очередь? Бутстреп? Может ли кто-нибудь представить пример команды ножа, которая сделает это?
  • Тот же вопрос, но для файла /etc/chef/client.pem.
  • Что диктует имена шеф-повара и его шеф-валидатора?

Ответ 1

Отвечая на ваши обновленные вопросы

1) Validation.Pem(и client.rb) будет создан после процесса начальной загрузки. вам нужно запустить команду (кликер настройки ножа), показанный ниже, чтобы создать этот файл. как только эти файлы создаются в каталоге ~/.chef, вам необходимо переместить их в /etc/chef

 knife configure client ~/.chef  
 sudo su
 mkdir -p /etc/chef
cp ~/.chef/client.rb /etc/chef
cp ~/.chef/validation.pem /etc/chef

и выход будет

Создание конфигурации клиента Написание client.rb Написание validation.pem

2) Client.pem будет создан во время первого запуска chef-client. Выдержки из документального оформления шеф-повара

"Во время первого запуска chef-client этот (клиент .pem) закрытый ключ не существует. Вместо этого chef-клиент будет пытаться использовать закрытый ключ, назначенный валидатору chef, расположенный в /etc/chef/validation.pem. (Если по какой-либо причине шеф-валидатор не может выполнить аутентифицированный запрос на сервер шеф-повара, начальный прогон chef-client завершится с ошибкой.)"

Например, я обычно делаю это следующим образом. как только клиент настроен (впервые), и я запускаю рецепт шеф-повара на этом node с помощью команды chef-client, как показано ниже, он автоматически создаст client.pem

chef-client -o Cookbook_name::Recipe_Name

3) УБЕДИТЕСЬ, ЧТО ВАШЕ ХОЗЯЙСТВО УНИКАЛЬНО/ПРАВИЛЬНО ДО ТОГО, ЧТОБЫ ДЕЛАТЬ ЭТО. В Centos измените файл /etc/sysconfig/network и используйте перезапуск /etc/init.d/network для повторной проверки всего.

Мой ответ на первый вопрос - это решение здесь. После запуска команды (обычно эта команда запускается после начальной загрузки)

knife configure client ~/.chef 

имя хоста клиента node будет автоматически создано в chef-сервере.


Ответы на ваш первый и второй вопросы (до редактирования вопроса)

1) Все, что вы видите по следующей ссылке http://mychefserver.example.com/clients, - это отправленные узлы (физические машины), которые зарегистрированы на этом конкретном шеф-сервере. Chef-Client - это агент, который будет работать на каждом из node, который будет зарегистрирован в chef-сервере. Шеф-клиент используется для запуска рецептов на соответствующих узлах. Ниже приведен способ запуска рецепта шеф-повара на node с помощью клиента шеф-повара.

chef-client -o Cookbook_name::Recipe_Name

Объединение клиентов - это набор узлов, которые подключены к chef-server chef-client - это агент, работающий во всех узлах и используемый для регистрации node с шеф-сервером, чтобы принести node в желаемое состояние. Существует много других применений шеф-повара. Для получения дополнительной информации посетите страницу [Chef-Client] [1] на странице документации.

2) Бутстрап - это процесс, который устанавливает chef-client в целевой системе, чтобы он мог работать как chef-клиент и общаться с сервером Chef.

В противном случае процесс начальной загрузки - это способ установить chef-client на node (аппаратный компьютер) и сделать этот node одним из клиентов этого шеф-сервера. только после завершения процесса начальной загрузки конкретный node будет отображаться в списке клиентов в

http://mychefserver.example.com/clients