web-dev-qa-db-ja.com

Ansibleのようなシェフの動的在庫?

Ansibleでは、シェルスクリプトを使用して、構成するホストのリストを提供できます。Chefでは、ChefServerが同様の機能を提供することを知っていました。

ただし、この機能だけを提供するために重いサーバーをインストールしたくないので、AnsibleのようなChefで同様のことを実行できるようにするための回避策はありますか?

2
Ryan

Chefサーバーがchefソロよりも提供する重要な点は、特定のクエリに基づいてサーバー/ノードを見つけることができる検索機能です。

この機能を取得するために独自のChefサーバーをホストしたくないことを理解しています。それを提供するための可動部品がたくさんあります、erlangとrabbitmqそして...

幸いなことに chef zero 、または現在知られているchef-clientの--localモードは検索をサポートし、それ自体のミニサーバーのように機能しますが、一時的なものです。

正しいディレクトリ構造のjsonnode/environment/roleファイルから読み取り、chefの実行が完了するまでAPIエンドポイントとして機能します。

この構造では、レシピで検索を使用して他のノードを見つけることに加えて、knife search --local 'role:web-server AND chef_environment:production'を使用して一致するノードを一覧表示したり、knife ssh --local 'role:web-server AND chef_environment: production' 'ssh_command'を使用してすべてのサーバーでコマンドを実行したりできます。

したがって、これは正確にAnsibleスタイルの動的インベントリシステムではありませんが、それを使用して多くのことを実行できます。

1
jedifans