Ich bin im Prozess der Platzierung aller meiner Server unter der Kontrolle von Chef für SCM mit Chef-Server. Es funktioniert super .... Ich liebe es. Ich denke, ich fange an, das Zen zu bekommen, aber ich brauche immer noch ein besseres Verständnis.Best Practice für Chef, ec2, Messer und reduzieren die Zeit zu booten und ami im Falle eines Failover
Vorher, auf ec2 habe ich ami's gebaut und ich habe immer wieder ami's umgebaut, aber zumindest booten sie schnell.
Mit Chef, ich versammle mich, ist immer mit einer Barebones-Instanz zu beginnen und Messer zu verwenden, um Ihre Ami zu bauen.
Es dauert etwa 20 Minuten, um ein AMI zu starten, von dem Installationschef ist etwa 5-6 Minuten.
Problem Ich habe ist, dass ich 4 Server, zwei Redis, Master und Slave und zwei Nginx-Server unter Lastausgleich laufen.
Auf einem Remote-Computer habe ich Python-Skripte, die immer überprüfen, ob ein Redis Master oder Slave ist und für den Load Balancer, wenn die Nginx-Server, wenn sie gesund sind.
Jetzt, unter Chef, wenn ein Server ausfällt, muss ich zusätzliche 15+ Minuten warten, wo unter vorgefertigten Amis die Zeit war die Zeit, um eine neue Instanz zu booten.
Fragen habe ich die folgenden:
1) Gibt es eine Python-API mit Messer zu interagieren? In Python habe ich Boto benutzt, um ein Ami zu booten. Jetzt muss ich ein Popen verwenden, um Messer auszuführen. Mein Code hängt davon ab, wann das Ami läuft und weiterarbeitet.
2) Ist es am besten, eine Ami zu haben, in der der Chef-Client vorinstalliert ist? Das würde ungefähr 6 Minites rasieren.
3) endlich, was fehlt mir noch? Jeder Rat wäre großartig.