如何获取应用于Chef节点的配方列表?

hei*_*ert 9 chef-infra

我想知道给定的配方是否已应用于管理到Chef的N个节点的列表.我怎么能轻易做到这一点.

Jor*_*son 6

您可以使用刀轻松完成此操作(刀是您的朋友!)。

要获取所有节点的列表:

knife node list
Run Code Online (Sandbox Code Playgroud)

要获取给定环境中所有节点的列表:

knife node list --environment <ENVIRONMENT>
Run Code Online (Sandbox Code Playgroud)

有了节点列表,您就可以使用以下方法显示节点的详细信息:

knife node show <NODE_ID>
Run Code Online (Sandbox Code Playgroud)

刀节点显示,将显示:

Node Name:   
Environment: 
FQDN:        
IP:          
Run List:    
Roles:       
Recipes:     
Platform:    
Tags:   
Run Code Online (Sandbox Code Playgroud)

食谱:行是已经施加到一个节点的食谱的列表。

使用Knife search,您可以搜索一组满足特定条件的节点。使用它,您可以找到应用或不应用特定配方的节点。


Jam*_*son 5

我怀疑你正在寻找这样的东西:

knife search node "recipes:<recipe_name>"
Run Code Online (Sandbox Code Playgroud)

这将适用于显式运行列表以及扩展(隐式)运行列表.

这里有关于刀搜索的更详细文档:

http://docs.opscode.com/knife_search.html