2016-07-22 2 views
0

Ist es möglich, den Chef-Client im lokalen Modus zu verwenden, ohne Kochbücher auf den Knoten herunterzuladen, sondern stattdessen z. Kochbuch-Repository URI?Ist es möglich, Chef-Client im lokalen Modus mit externen Repository als Quelle für Kochbücher zu verwenden?

Ich frage mich, ob es möglich wäre, meine Kochbücher z.B. auf GitHub und verwenden Sie sie mit lokalem Modus.

+0

Das klingt wie der Punkt der Koch-Solo zu besiegen, das ist in der Lage zu sein, isoliert von einem lokalen Tarball zu laufen (Remote wird auch unterstützt, aber die Grundidee, Serverless zu sein, ist die Fähigkeit, isoliert zu sein). – Tensibai

+0

Ich wollte mir nur die Notwendigkeit sparen, Skript zu schreiben, das das Kochbuch herunterladen wird. Ich weiß, dass ich Chef Server hier verwenden könnte (vielleicht sollte), aber ich möchte einfach kein anderes Stück haben, das ich verwalten muss, ich habe nur ein paar einfache Maschinen und Chef-Server sieht hier wie ein Overkill aus. – Progress1ve

+1

Der recipe-URL-Parameter akzeptiert HTTP-URLs eines Tarballs, berks-Paket klingt wie der Weg, um das Paket zu bauen, mit einer Art Upload kurz danach, dann wird Chef-Zero/Solo so Tarball von einem zentralen Punkt für Sie herunterladen ohne einen Wrapper (nur Befehlszeilenargumente) – Tensibai

Antwort

1

Nein, das ist keine Funktion von Chef. Ein üblicherer Ansatz besteht darin, berks vendor oder chef export in einem Skript auf dem Knoten zu verwenden, um die erforderlichen Kochbücher herunterzuladen und danach chef-solo einzubeziehen. Sie können den gesamten Prozess in ein Skript einbinden, um es zu vereinfachen, oder Sie können sich Management-Tools ansehen, die dies bereits tun, wie zum Beispiel .

+0

Danke für Ihre Antwort, ich werde in Tools, die Sie erwähnt haben, schauen. – Progress1ve

1

Ja, mit dem Berkshelf-Tool, das in der ChefDK

Beispiel

Erstellen Sie eine Datei namens "Berksfile" mit folgendem Inhalt enthalten:

source 'https://supermarket.chef.io' 

cookbook 'java' 

Dieses Beispiel lädt die „java "Kochbuch und seine Abhängigkeiten von der Chef supermarket. Wenn Sie die doco überprüfen gibt es auch für git Repositories unterstützen, Github und sogar Chef-Server,

So installieren Sie Java die folgenden Befehle ausführen:

berks vendor cookbooks 
sudo chef-client -z -o java 
+0

Klingt cool, aber ich muss noch eine Art Wrapper-Kochbuch erstellen und irgendwie auf den Knoten laden, oder? – Progress1ve

+1

@ Progress1ve Nein. Erstellen Sie eine Datei namens "Berksfile" (wie oben) und führen Sie die beiden Befehle aus. Es wird das Standardrezept der Community "Java" Kochbuch zur Installation von Java ausgeführt. Das "Java" -Kochbuch und all seine Abhängigkeiten werden von berkshelf in ein lokales "Kochbuch" -Verzeichnis heruntergeladen, das der Koch-Klient im lokalen Modus (-z) verwenden kann. Die Berkshelf-Dateisyntax unterstützt die Verwendung eines lokalen Wrapper-Kochbuchs oder einfach das Herunterladen der Kochbücher von einer Remote-Site. Versuch es. –

+0

Ok, ich habe es, vielen Dank. – Progress1ve