0

Da AWS Opsworks Support für Chef 12 zu Opsworks hinzugefügt hat, scheint es Unterstützung für Chef-Umgebungen zu geben. Ich bin ziemlich neu im Koch. Wie ich verstanden habe, sind Chef-Umgebungen im environments/-Ordner in meinem Kochbuch Repo gespeichert. Dies ist, wo ich so eine test.json Datei mit dem Namen-Attribut mit diesem genauen Namen erstellt. Ich habe die Vorlage vom Koch Doku bekommen.Chef-Umgebungen in AWS Opsworks

Ich habe ein chef_environment-Attribut im benutzerdefinierten JSON meines Test-Stacks definiert, indem ich diese Umgebung auf "testing" (meine Umgebung) setze.

Ich verwende berks package, um die Kochbücher in einem Tarball zu verpacken. Ich ziehe diese über S3 in meinen Beispiel-Opsworks-Stack. Ich lief update_custom_cookbooks auf meinem Stapel, der mit der Nachricht fehlschlug, dass Chef die Umweltprüfung nicht finden konnte.

Ich bemerkte zuerst, dass berks package die Umgebung/-Ordner nicht enthält, da es kein Kochbuch ist. Daher habe ich den Ordner Umgebungen zum Tarball hinzugefügt. Ich habe versucht, die Kochbücher wieder zu aktualisieren, die mit derselben Nachricht fehlschlugen.

Also was ist mein Missverständnis hier? Was versucht mir Opsworks zu sagen?

Antwort

1

OpsWorks Stacks unterstützt keine Chef-Umgebungen. Da es auf Chef Solo basiert, gibt es nicht wirklich viel Unterstützung. Der Hauptunterschied zwischen Rollen und Envs in normalen Chefs ist, dass envs Cookbook-Versionsanforderungen angeben kann. Da Solo jedoch erfordert, dass Sie zuvor die Abhängigkeitsauflösung behandelt haben (über berks package in Ihrem Fall), kann diese Funktion nicht verwendet werden. Sie können eine Rolle mit denselben Attributinformationen erstellen und diese stattdessen verwenden. Dies kann ein wenig ärgerlich sein, wenn man mit env-bewussten Kochbüchern arbeitet, die auch Chef-Suche verwenden, aber da diese selten auf OpsWorks-Stacks funktionieren, kommt dies nicht viel.

Verwandte Themen