如何以 json 的形式从 Chef 服务器获取所有节点对象?

How do I get all node objects from chef server in the form of json?

我可以使用此命令从 Chef 服务器 return 一个节点对象:

knife node show -l --format=json <node_name>

我想获取所有节点对象(如json)以便能够编写我自己的报告。

有没有办法直接查询厨师数据库?

在 unix 管道的帮助下,我们可以很容易地实现这一点。

获取所有节点名称很容易

knife node list

结合一些过滤器

knife node list | grep myhost

获取您感兴趣的所有主机的节点

knife node list | grep myhost | xargs -n 1 knife node show -l -Fj

knife search '*:*' --format=json 可能更符合您的要求。另请查看 knife download nodes/ 以将它们作为文件获取。