从配方编辑节点的run_list并在其他节点上启动chef-client。

时间:2015-02-14 17:52:07

标签: chef

我有一个场景,要将新节点添加到现有群集,这需要在特定序列中的群集的所有现有节点上进行配置更改。

要解决此问题,可以在新创建的上运行配方,暂时更改其他节点的运行列表(通过搜索机制找到)并启动chef-client运行,然后在完成后将其还原。 / p>

处理此类场景的最佳方法是什么,其中群集的一个节点中的更改应触发另一个节点上的更改。

1 个答案:

答案 0 :(得分:0)

使用Chefbook中的Chef搜索功能,根据角色等共享属性动态确定群集成员。一个例子是HA proxy cookbook

pool_members = search("node", "role:appserver AND chef_environment:#{node.chef_environment}") || []

在这种情况下,您需要启动"每当添加新节点时,负载平衡节点上的Chef客户端:

knife bootstrap new_node ....
knife ssh "role:loadbalancer AND chef_environment:app1" "chef-client"