如何将食谱添加到厨师 运行 列表中?

How do I add a recipe to a chef run list?

我有一个主厨节点,我正在尝试向其添加食谱。目前,此节点在 运行 列表中有一个配方:

$ knife node show mynode
Node Name:   mynode
Environment: _default
FQDN:        mynode.domain
IP:          10.8.16.214
Run List:    recipe[mycb::myrecipe1]
Roles:
Recipes:     mycb::myrecipe1, ms_dotnet::ms_dotnet4, ms_dotnet::default, windows::default
Platform:    windows 6.3.9600
Tags:

我正在尝试将新配方 (mycb::recipe2) 添加到此节点的 运行 列表中:

$ knife node run_list add mynode 'recipe[mycb::myrecipe2]'
mynode:
  run_list:
    recipe[mycb::myrecipe1]
    recipe[recipes]

这个新食谱recipe[recipes]很奇怪。我没有名为 recipes 的食谱:

$ knife recipe-list
chef-sugar
chef_handler
chef_handler::json_file
mycb
mycb::myrecipe1
mycb::myrecipe2
ms_dotnet
ms_dotnet::ms_dotnet2
ms_dotnet::ms_dotnet3
ms_dotnet::ms_dotnet4
ms_dotnet::regiis
openssl
openssl::upgrade
sql_server
sql_server::client
sql_server::server
windows
windows::reboot_handler

我也没有一本名为食谱的食谱:

$ knife cookbook list
chef-sugar     3.1.0
chef_handler   1.1.9
mycb           0.1.0
ms_dotnet      2.3.0
openssl        4.0.0
sql_server     2.2.3
windows        1.37.0

这是从哪里来的,我该如何添加正确的配方?

我猜你在使用 PowerShell?请参阅 https://docs.chef.io/knife_node.html#id19 关于转义 knife node run_list add 调用

Note: For other users that are not using PowerShell.

knife --version returns Chef: 13.6.4

时,我能够重现相同的 recipe[recipes] 问题
  • recipe[my_cookbook]

    周围缺少 ' 损坏的 knife 语法命令
    knife node run_list add mynode recipe[my_cookbook]
    
  • ' 围绕 recipe[my_cookbook]

    更正 knife 语法命令
    knife node run_list add mynode 'recipe[my_cookbook]'