11

次のコマンドを使用して、chef-repo ディレクトリ内から Chef データ バッグを作成しようとしました。

knife data bag create users deployer

そして、私は応答を受け取ります:

Created data_bag[users]
Created data_bag_item[deployer]

しかし、データ バッグユーザーとそのデータ バッグ アイテムを見つけることができません。それは data_bags フォルダーや、私が見ることができる他の場所にはありません。私がする場合

knife data bag show users

データバッグのアイテム名が表示されます。したがって、どこかに保存する必要があります。ドキュメントによると、データ バッグは、chef-repo -> data_bags -> usersフォルダーにある必要があります。しかし、私の data_bags フォルダーは空のようです。では、作成したばかりのデータ バッグはどこにあるのでしょうか。

4

2 に答える 2

14

Chef では、ローカル コンピューター (「ワークステーション」と呼ばれる) とリモートの Chef Server の間に不一致があります。あなたの場合、コマンドはリモート Chef Serverknifeにデータバッグを作成しました。

それがいかに誤解を招く可能性があるかを理解しています。データ バッグは、1 つまたは複数の.jsonファイルを含むフォルダーにすぎません。通常、この構造はワークステーションで (GUI または端末を使用して) 手動で生成します。

したがって、あなたの例では、説明したフォルダー ( chef-repo -> data_bags -> users) を作成chef-repo/data_bags/users/deployer.jsonし、クックブックで説明されているスキーマを使用してファイルを作成します。

于 2014-01-19T04:44:43.057 に答える
12

使用するとき

knife data bag create users deployer

knife は、chef-server にそのデータ バッグを作成します。ローカルのシェフ ワークステーションでは利用できません。ただし、このデータ バッグはローカル ワークステーションにダウンロードできます。次のコマンドを使用するだけです

ナイフ ダウンロード data_bags

このコマンドは、chef-repo/data_bags/users/deployer.jsonにデータ バッグをダウンロードし ます。そこに移動して、この JSON ファイルを直接更新できます。完了したら、このデータ バッグを「ナイフ アップロード」で再度アップロードすることを忘れないでください。

于 2015-04-16T07:05:49.097 に答える