Chef Bootstrap gibt 401 nicht autorisiert


7

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?


Überprüfen Sie Datum und Uhrzeit auf Ihrem Chef Server und Client

Antworten:


6

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.pemoder führen Sie diesen Quicky aus

ssh -t name@new.client.net "sudo rm /etc/chef/client.pem"

Führen Sie knife bootstraperneut aus und es sollte funktionieren. Möglicherweise haben Sie dieses Gerät bereits bei einem anderen Chef-Server registriert.


Ich habe den gleichen Fehler wie die Operation und es gibt keine client.pem auf dem Knoten.
OlegYch

Ja, es heißt tatsächlich, dass die Fehlermeldung keine client.pem enthält. Meine Antwort war auf eine andere Frage ... oops.
mraaroncruz


0

Um den Messer-Bootstrap zum Laufen zu bringen, fügen Sie folgende Einträge hinzu ~/.chef/knife.rb:

validation_client_name  "chef-validator"
validation_key          "#{ENV["HOME"]}/.chef/validation.pem"

und legen Sie eine Kopie der /etc/chef/validation.pemDatei 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

  • Erstellen Sie ein Betriebssystem-Image, z. B. ein benutzerdefiniertes AMI, wobei die Validierungsdatei bereits vorhanden ist
  • Verwenden Sie das Cloud-Init-Paket, das Teil von Ubuntu ist, um das Image mit der Validierungsdatei zu versehen

Ich habe Cloud-Init in der Vergangenheit mäßig erfolgreich eingesetzt, aber es hat seine Macken.


Hmm, ich habe alles aus dem /etc/chefVerzeichnis entfernt und versucht, den Befehl erneut
auszuführen

Hallo - Entschuldigung, ich habe Ihre Frage leicht falsch verstanden und die Antwort neu geschrieben. Probieren Sie es jetzt aus.
Tim Potter

Nein, immer noch kein Glück, wieder der gleiche Fehler. Zur Verdeutlichung kommt der obige Fehler von dem Knoten, den ich booten möchte. Soll ich das auf dem Knoten oder auf dem Chef-Server tun? (Ich habe beide ausprobiert)
loddy1234

@ loddy1234 Der Knoten. Du hattest es richtig.
mraaroncruz
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.