Wie fange ich mit Chef an?

15

Die Kochdokumentation ist ziemlich schlecht. Und Google hilft mir nicht.

Kann mich jemand auf einen anständigen Artikel oder etwas hinweisen, das mir den Einstieg erleichtern würde?

Meine spezifischen Probleme sind:

  • Wie lasse ich einen Client meine Konfiguration lesen? Chef-Solo scheint der beste Start zu sein (ich möchte keinen OpenID-Server oder Merb betreiben)
  • Wie konfiguriere ich Apache für Django? Ich weiß bereits, wie man dies über die reguläre Serverkonfiguration macht, aber ich denke, ein Beispiel für ein Kochrezept wäre ein guter Anfang.
Brad Wright
quelle
2
"Morgen Koch, wie kann ich helfen?" :)
Chopper3
1
Für einen Moment dachte ich, ich könnte endlich "Hello World Souffle" antworten. hier in SF: en.wikipedia.org/wiki/Chef_%28programming_language%29
Janne Pikkarainen

Antworten:

19

Aktualisierung

  • Chef Version ist 0.10.8
  • Das Chef Wiki hat eine Menge Überarbeitungen durchlaufen, seitdem dies ursprünglich gefragt wurde.
  • Die Opscode-Plattform heißt jetzt Opscode Hosted Chef
  • Chef wird in Kürze zusätzlich zu den RubyGems- und Debian-Paketen als Full-Stack-Installation vertrieben .
  • Vagrant ist ein guter Einstieg in die Arbeit mit Chef.

Die ursprüngliche Antwort folgt

Zum jetzigen Zeitpunkt ist die neueste Version von Chef 0.9.8 . Opscode vertreibt Chef als RubyGems und hat auch aktuelle Debian / Ubuntu-Pakete . RPMs für die neueste Version werden von einem Mitglied der Community veröffentlicht .

Zweitens wird OpenID ab Version 0.8.x nicht mehr für die Authentifizierung benötigt . Merb ist für den Server erforderlich, da es sich um eine Merb-Webanwendung handelt.

Opscode hostet einen Chef Server als Dienst namens The Opscode Platform. Sie können sich anmelden und loslegen . Es ist kostenlos während der "Feature Beta" und sobald es die Beta verlässt, ist es für bis zu 5 Knoten kostenlos . Wenn Sie sich anmelden gibt es eine Kurzanleitung auf Opscode Hilfe - Website.

Übersicht über die ersten Schritte:

  • Holen Sie sich Chef installiert . Der einfachste Weg, dies zu tun, besteht darin, ein Ubuntu 10.04-System entweder in einer VM oder auf EC2 usw. auszuführen. Der erste Schritt besteht darin, Ruby zu installieren und dann Chef selbst zu installieren.
  • Richten Sie die lokale Benutzerumgebung für die Kommunikation mit der Opscode-Plattform oder Ihrem eigenen Chef Server ein. Sie können Ihren eigenen Server einrichten, indem Sie die Opscode Chef- Bootstrap-Konfiguration für RubyGems verwenden .
  • Richten Sie ein Chef Repository ein , um Ihre Kochbücher und andere Infrastrukturkonfigurationen zu speichern.
  • Laden Sie die gewünschten Kochbücher in das Verzeichnis "cookbooks" im Repository herunter.
  • Laden Sie Kochbücher auf den Chef Server hoch, fügen Sie die Rezepte zur Ausführungsliste eines Knotens hinzu und beobachten Sie, wie sie konfiguriert werden.

Wie für Django und Apache2:

Sie müssen einen Code schreiben, der Ihren Django-Anwendungscode implementiert. Das Apache2-Kochbuch enthält eine Definition, mit deren Hilfe ein virtueller Host für Webanwendungen eingerichtet werden kann .

Sie können zur Verbesserung der Dokumentation beitragen, indem Sie ein Ticket in der Komponente "Dokumentation" des Chef-Projekts einreichen . Wenn Sie Probleme mit dem Open Source Chef Server haben, können Sie am besten die Chef Mailing List oder den #chef IRC-Kanal auf FreeNode um Hilfe bitten. Wenn Sie sich für die Plattform anmelden, haben Sie Zugriff auf die Hilfeseite, um Supportanfragen zu senden.

Offenlegung: Ich arbeite für Opscode.

jtimberman
quelle
Die Verpackung für Ubuntu 9.10 ist im Moment kaputt, was enttäuschend ist, wenn die offizielle Zeile von Opscode so aussieht, als ob "Warum läuft ihr nicht klar?" :( lists.opscode.com/sympa/arc/chef/2010-07/msg00221.html
Philip Reynolds
2
Die offizielle Aussage von Opscode ist, dass wir aus Ressourcengründen nicht alle Pakete zurückportiert haben, die erforderlich sind, um den Chef Server auf Karmic zu installieren. Lucid funktioniert gut und gilt als unterstützt, Karmic nicht. Wir können Karmic in Zukunft unterstützen.
Jtimberman
Wenn Sie Koch mit lokalen VMs ausprobieren möchten, kann ich Vagrant empfehlen . Es verwaltet VirtualBox-VMs und lässt sich in Chef integrieren.
Lethargy
Schauen Sie sich auch
sethvargo
6

Spät aber: http://ericholscher.com/blog/2010/nov/8/building-django-app-server-chef/

Als ich Chef ansah, fand ich es unglaublich komplex und es fehlte an grundlegender Dokumentation. Dies wird meine Erfahrung sein, Chef beim Einrichten eines einzelnen Servers zu verstehen. Diese Strategie kann mit ein wenig Optimierungsaufwand auf mehreren Servern angewendet werden.

Steve Eley
quelle