Chef infra 厨师-刀架与刀架
我的问题是关于在给定节点上引导和运行Chef构建 假设我使用以下命令引导一台机器: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注册节点时使用一次,但它也不保
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