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?

loddy1234
quelle
Ü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 [email protected] "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.

mraaroncruz
quelle
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
2

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.

OlegYch
quelle
Hallo @OlgeYch, obwohl wir Links zu Tutorials oder externen Quellen schätzen, bitten wir Sie, die Zusammenfassung der Seite oder des Prozesses in Ihre Antwort aufzunehmen.
Jacob
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.

Tim Potter
quelle
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