厨师 - 刀子引导对刀ssh

时间:2015-01-15 20:04:05

标签: chef knife

我的问题是关于BootStrapping和在给定节点上运行Chef构建。

假设我使用以下命令引导机器:

knife bootstrap <FQDN or IP Address> -x root -r "recipe[myRecipe]" --sudo -E environmentFile

问题:

  1. 使用上述knife bootstrap命令进行后续部署是一种好习惯吗?
  2. knife bootstrap更好地使用以下命令:

    knife ssh <FQDN or IP Address> 'sudo chef-client' --manual-list "recipe[myRecipe]" -x root -E environmentFile
    

2 个答案:

答案 0 :(得分:1)

knife ssh用于在多台计算机上运行命令。因此,您不会给它一个主机名,它会将Chef搜索查询作为参数。正如您所料,knife bootstrap是引导事物的正确方法。

答案 1 :(得分:0)

当您需要向Chef服务器注册节点时,

knife bootstrap命令仅使用一次,但是它也很有可能在引导时运行配方。所以,如果你在命令

下面运行
"knife bootstrap <FQDN or IP Address> -x root -r "recipe[myRecipe]" --sudo -E environmentFile"

没有问题,但有时你需要在所有机器上手动干预后执行一些配方,在这种情况下你应该使用

knife ssh "serachquery" 'chef-client -o recipe[myRecipe]' -x root

它将在所有机器上运行提供的配方。 每当你需要部署你的更改而不是刀引导命令时,需要运行knife ssh命令。