...
Section |
---|
Column |
---|
ResourceResource はプロビジョニング先の "ある部分" の "あるべき状態" を宣言的に記述する DSL です。 Chef でのプロビジョニングは、Resource があるべき状態に収束されることを意味します。 RecipeRecipe は Resource を記述するためのファイルです。 Ruby のコードをそのまま使って Resource を定義できます。 プロビジョニングを実行すると、Recipe がコンパイルされ、Recipe に定義した Resource が Resource Collection に登録されます。 Resource の収束は、基本的には Resource Collection に登録された順で行われます。 CookbookCookbook は Recipe を意味のある単位で取りまとめたものです。 Cookbook は複数の環境で使いまわすことができ、たいていの場合はインストールするアプリケーションやサービス単位で作成されます。 |
Column |
---|
Drawio |
---|
| |
---|
diagramName | chef 用語.drawio |
---|
revision | 1 |
---|
|
|
|
Cookbook をつくる
Cookbook のひな形の生成
...
Recipe には Resource を定義していきます。
Resource とは、プロビジョニング先の ”ある部分” の ”あるべき状態” を宣言的に定義したもので、具体的には以下の要素で構成されます。を宣言する DSL で、具体的には以下の要素で構成されます。
Section |
---|
Column |
---|
ResourceTypeResource の型を表します。 yum パッケージの状態を定義する yum_package、任意のコマンドの実行状態を定義する execute などがあります。 ResourceType によって、指定できる Attribute や Action は異なります。 詳細は各 ResourceType の公式ドキュメントに記載されているので、確認するようにしてください。 NameResource の名前です。 ユニークな名前を指定します。 AttributeResource の属性です。 Resource がどのような状態であるべきか、詳細な情報を指定します。 yum_package であれば package_name や version などを指定できます。 yum_package では Resource の Name がそのまま package_name に指定される仕様になっています。 ActionResource の収束のされ方です。 yum_package であれば、インストールされている状態(:install)、アンインストールされている状態(:remove)などを指定できます。 |
Column |
---|
Drawio |
---|
| |
---|
diagramName | yum_package.drawio |
---|
revision | 1 |
---|
|
|
|
ヒント |
---|
ResourceType についての公式ドキュメントは Chef の公式ドキュメントから辿ると非常に見つけにくいです。 Google で「Opscode <ResourceType 名>」などと検索したほうが早く見つけられたりします。 また、Mac であれば Dash に Chef のドキュメントがあるので、これを使うのもオススメです。 |
...