Ich versuche, einen neuen Chefknoten durch Ausführen zu booten:
knife bootstrap <server ip> -x lewis -N gitlab --sudo
Aber ich erhalte die folgende Ausgabe:
[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"
Auf meinem Chef-Server wird Ubuntu 12.04 x32 ausgeführt, und auf dem Computer, den ich booten möchte, wird CentOS 6.3 x64 ausgeführt
Irgendeine Idee, was falsch läuft?
Antworten:
Ich hatte gerade das gleiche Problem und habe es über diesen Thread behoben: http://comments.gmane.org/gmane.comp.sysutils.chef.user/2718
Entweder ssh in Ihren potenziellen Client-Computer und entfernen Sie den
/etc/chef/client.pem
oder führen Sie diesen Quicky ausFühren Sie
knife bootstrap
erneut aus und es sollte funktionieren. Möglicherweise haben Sie dieses Gerät bereits bei einem anderen Chef-Server registriert.quelle
Dies funktionierte für mich http://wiki.opscode.com/display/chef/Common+Errors#CommonErrors-401Unauthorized(usingvalidatorAPIclient)
Sie müssen validation.pem löschen und chef-server neu starten, da es im aktuellen Ubuntu-Chef-Server-Paket standardmäßig fehlerhaft ist.
quelle
Um den Messer-Bootstrap zum Laufen zu bringen, fügen Sie folgende Einträge hinzu
~/.chef/knife.rb
:und legen Sie eine Kopie der
/etc/chef/validation.pem
Datei vom Chef-Server ab, in den kopiert wurde$HOME/.chef/validation.pem
.Wenn Sie Messer-Bootstrap nicht mögen, gibt es eine Reihe anderer Möglichkeiten, dies automatisch einzurichten
Ich habe Cloud-Init in der Vergangenheit mäßig erfolgreich eingesetzt, aber es hat seine Macken.
quelle
/etc/chef
Verzeichnis entfernt und versucht, den Befehl erneut