厨师新的网络节点食谱

时间:2014-05-29 15:45:46

标签: ip chef knife

我是一名厨师新手,正在研究一个新的网络节点"从头开始创建服务器的配方,并在达到所需状态之前对其执行许多操作。我得到了这个部分,到目前为止一切都很好,但我还需要做另一项任务,而且我在使用厨师时感到很困惑。 每当我创建新的Web节点时,我还需要在另一台服务器上编辑php .conf文件,方法是将新的web节点的ip地址添加到该php conf文件的变量字符串中。

这就是我目前的做法:

 # knife rackspace server create --server-name chef-node1 --node-name chef-node1 --flavor performance1-2 --image 042395fc-728c-4763-86f9-9b0cacb00701

创建服务器后,我将配方添加到它并在新节点上运行chef客户端

# knife node run_list add chef-node1 recipe[new-web-node::default]
# knife ssh -a ipaddress 'name:chef-node1' 'chef-client'

我的问题是我如何在其他服务器上编辑php .conf文件,而不创建我必须在其他服务器上手动运行的新配方? 如何一次完成?

1 个答案:

答案 0 :(得分:1)

使用search搜索"其他"基于某个角色,配方或属性的节点。然后将该其他节点的IP地址放在模板中,创建您的php配置文件。

想象一下,您的网络节点具有web角色,然后此代码在您的"其他" node会为您提供第一个Web节点的IP地址:

web = search(:node, "role:web")
ip = web.first[:ipaddress]

然后可以将其解析为模板。

相关问题