我的问题是关于BootStrapping和在给定节点上运行Chef构建。
假设我使用以下命令引导机器:
knife bootstrap <FQDN or IP Address> -x root -r "recipe[myRecipe]" --sudo -E environmentFile
问题:
knife bootstrap
命令进行后续部署是一种好习惯吗?比knife bootstrap
更好地使用以下命令:
knife ssh <FQDN or IP Address> 'sudo chef-client' --manual-list "recipe[myRecipe]" -x root -E environmentFile
答案 0 :(得分:1)
knife ssh
用于在多台计算机上运行命令。因此,您不会给它一个主机名,它会将Chef搜索查询作为参数。正如您所料,knife bootstrap
是引导事物的正确方法。
答案 1 :(得分:0)
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命令。