2016-02-16 43 views
0

我有一个现有的厨师节点:如何复制一个节点在一个特定的chef_environment

Node Name: app1 
Environment: DEMO 
FQDN:  el-demo-app1 
IP:   xx.xxx.xxx.xxx 
Run List: recipe[yum_el2], role[Dep], recipe[crypto], role[mule-server], role[activemq], recipe[tomcat-conf], role[tomcat] 
Roles:  activemq, tomcat 
Recipes:  yum_el, crypto, yum, java, activemq, tomcat-conf, el_conf::commonservices, java::oracle,iptables::default 
Platform: redhat 6.6 
Tags: 

如何使相同的这一个在另一个环境命名的本地

我下载了游程的另一个节点从节点app1到本地json文件的列表直到食谱和角色,它们似乎已经在git repo中,那么,我是否会将它们上传到厨师服务器?然后将它们应用到节点?我该做同样的用于数据包(来自环境= DEMO),其具有键

What i WAS able to do is to: 
1. download a recipe from supermarket 
    - knife cookbook site search ack 
    - knife cookbook site download ack 
2. add it to git in my branch 
    git add ack , in the cookbooks folder 
3. upload that to the chef server 
    - knife cookbook upload ack 
4. apply that as a run-list 
    - sudo chef-client --runlist "ack" 
and it worked 
5. test it 
    $ack --help 

一个需要是相同的节点APP1看起来当前节点等:

$ knife search node chef_environment:LOCAL 
1 items found 

Node Name: dt-linux-dev111 
Environment: LOCAL 
FQDN:  dt-linux-dev111 
IP:   yy.yyy.yyy.yyy 
Run List: recipe[nodejs] 
Roles: 
Recipes:  nodejs, nodejs::default, environment_elis2::default, nodejs::packages 
Platform: redhat 6.7 
Tags: 

问题:

我可以像“Run-list”一样对“角色”,“食谱”和“数据包”应用相同的步骤吗?它正在查看角色的阵列结构并添加它,做一把“刀子节点编辑dt-linux-dev111“,附加所需的角色和食谱以及数据包,然后运行sudo chef-cli耳鼻喉科

How do i add multiple roles to a node? 

How do i add multiple Recipes to a node ? 

How do i add multiple data-bags to a node ? 

回答

0

角色和食谱统称只需运行列表中的条目,并且你可以通过knife node edit或任何操作运行列表中的另一把刀命令“拷贝”出来。没有什么具体的从一个复制到另一个,只是复制面食的字符串数组。在您至少运行chef-client至少一次后,刀输出中的Roles:Recipes:值将被更新,它们是最后一次运行的缓存输出(如存储在节点数据中的大部分值)。

数据包未附加到特定的节点或环境,它们是全局对象,因此这里没有交互。

0

使用角色和环境,不要复制节点。只需创建环境和节点并将其分配给特定节点。这是推荐的方法。如果已将配置分配给节点,请将其移至角色和/或环境。

相关问题