Я пытаюсь запустить новый узел шеф-повара, запустив:
knife bootstrap <server ip> -x lewis -N gitlab --sudo
Но я получаю следующий результат:
[Mon, 03 Sep 2012 14:45:17 +0000] INFO: *** Chef 10.12.0 ***
[Mon, 03 Sep 2012 14:45:17 +0000] INFO: Client key /etc/chef/client.pem is not present - registering
[Mon, 03 Sep 2012 14:45:17 +0000] INFO: HTTP Request Returned 401 Unauthorized: Failed to authenticate. Ensure that your client key is valid.
[Mon, 03 Sep 2012 14:45:17 +0000] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out
[Mon, 03 Sep 2012 14:45:17 +0000] FATAL: Net::HTTPServerException: 401 "Unauthorized"
Мой шеф-повар-сервер работает под управлением Ubuntu 12.04 x32, а машина, которую я пытаюсь загрузить, работает под управлением CentOS 6.3 x64
Есть идеи, что не так?
У меня была такая же проблема, и я исправил ее из этой темы http://comments.gmane.org/gmane.comp.sysutils.chef.user/2718
либо ssh на свой потенциальный клиентский компьютер и удалите /etc/chef/client.pem
или беги быстро
ssh -t name@new.client.net "sudo rm /etc/chef/client.pem"
Бегать knife bootstrap
снова, и он должен работать. Возможно, вы уже зарегистрировали эту машину на другом сервере Chef.
Это сработало для меня http://wiki.opscode.com/display/chef/Common+Errors#CommonErrors-401Unauthorized( usingvalidatorAPIclient)
Вам необходимо удалить validation.pem и перезапустить chef-server, так как он по умолчанию сломан в текущем пакете chef-server ubuntu.
Чтобы нож-бутстрап работал, добавьте записи в свой ~/.chef/knife.rb
как это:
validation_client_name "chef-validator"
validation_key "#{ENV["HOME"]}/.chef/validation.pem"
и поместите копию /etc/chef/validation.pem
файл с сервера Chef, скопированный в $HOME/.chef/validation.pem
.
Если вам не нравится нож-бутстрап, есть несколько других способов настроить его автоматически.
В прошлом я умеренно успешно использовал cloud-init, но у него есть свои особенности.