【问题标题】:Chef knife configuration厨师刀配置
【发布时间】:2016-12-18 20:58:18
【问题描述】:

我觉得问这个问题很愚蠢,因为它似乎对大多数人来说都完美无缺,但我无法解决在 RHEL 6 上设置 Chef 服务器 12 和在我的 mac 上设置 ChefDK 0.6.0 后遇到的以下问题。

主厨服务器设置就像文档中描述的那样完美,完全没有错误。当我想使用我的机器作为工作站将食谱推送到服务器时,我总是收到错误“找不到您要查找的对象”。根据其他stackoverlfow 帖子(012),这可能是由于knife.rb 中的配置问题。尽管如此,我还是使用“刀配置”来设置刀.rb 文件并仔细检查路径中的任何拼写错误。另外,根据knife.rb文档页面,我正确使用了属性。

有人知道什么可能导致问题吗?

log_level                :info
log_location             STDOUT
node_name                "nodermatt"
client_key               "/Users/odermatt/chef-repo/.chef/nodermatt.pem"
validation_client_name   "Adobe-validator.pem"
validation_key           "/Users/odermatt/chef-repo/.chef/Adobe-validator.pem"
chef_server_url          "https://sj1010005158157.corp.adobe.com:443/organizations/Adobe"
syntax_check_cache_path  "/Users/odermatt/chef-repo/.chef/syntax_check_cache"
cookbook_path [ "/Users/odermatt/chef-repo/cookbooks" ]

【问题讨论】:

  • knife client list 是否返回客户列表?
  • 您好斯蒂芬,感谢您的评论。不,不幸的是,knife client list 打印的输出与其他命令相同,如下所示: $ knife client list 错误:找不到您要查找的对象 响应:ttp://www.w3.org/TR/xhtml1/DTD/xhtml1-sransitional.dtd" rel="nofollow" target="_blank">w3.org/TR/xhtml1/DTD/xhtml1-sransitional.dtd">
  • 然后你可以登录厨师服务器并访问“生成刀配置”菜单项吗?
  • 您的组织拼写正确吗?大写A?您可以使用例如检查您的客户是否存在厨师服务器的网页界面?
  • 看看这个帖子:*.com/questions/32255783/…

标签: ruby chef-infra


【解决方案1】:

您需要在 .chef 目录下执行刀命令。我在 .chef 目录下尝试的更改也有同样的问题,它正在工作。试试“knife client check”和“knife cookbook upload yourcookbook”。

在knife.rb 文件中,将chef_server_url 与您的组织名称一样,表示您需要上传食谱的组织。通常像“https://api.chef.io/organizations/orgname”并给出你的食谱目录的路径。

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,无法运行

    knife node run_list add nodename 'recipe[cron-delvalidate::default]' - cron-delvalidator recipe 到名为:chefnode 的节点

    读完后我发现它是Chefnode,而不是chefnode,大写“C”。这解决了我的问题。

    回复是:

    Chefnode:
      run_list: recipe[cron-delvalidate::default]
    

    【讨论】:

    • 那是另一个问题