Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Chef infra 厨师-刀架与刀架_Chef Infra_Knife - Fatal编程技术网

Chef infra 厨师-刀架与刀架

Chef infra 厨师-刀架与刀架,chef-infra,knife,Chef Infra,Knife,我的问题是关于在给定节点上引导和运行Chef构建 假设我使用以下命令引导一台机器: knife bootstrap <FQDN or IP Address> -x root -r "recipe[myRecipe]" --sudo -E environmentFile ? ssh用于在多台机器上运行命令。因此,您没有给它一个单一的主机名,而是将Chef搜索查询作为参数。正如您所料,刀引导是引导事物的正确方式。刀引导命令仅在您需要向chef server注册节点时使用一次,但它也不保

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

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

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


ssh
用于在多台机器上运行命令。因此,您没有给它一个单一的主机名,而是将Chef搜索查询作为参数。正如您所料,
刀引导
是引导事物的正确方式。

刀引导命令仅在您需要向chef server注册节点时使用一次,但它也不保证在引导时运行菜谱。所以如果你在命令下面运行

"knife bootstrap <FQDN or IP Address> -x root -r "recipe[myRecipe]" --sudo -E environmentFile"
它将在所有机器上运行提供的配方。
刀子ssh命令将需要在每次需要部署您的更改时运行,而不是刀子引导命令。

因此
刀子引导
是需要运行的命令,如果我们每次需要将新更改部署到box?不,这是您运行以“引导”机器的命令,意味着安装Chef并向Chef服务器注册。要聚合机器,只需运行
sudo chef client
。您可以为此使用ssh,也可以使用任何其他方式运行您喜欢的命令(ssh、RunDeck、Fabric、Push作业、MCollective),或者让chef客户端每隔X分钟运行一次,以使其聚合。
"knife bootstrap <FQDN or IP Address> -x root -r "recipe[myRecipe]" --sudo -E environmentFile"
knife ssh "serachquery" 'chef-client -o recipe[myRecipe]' -x root