2016-02-16 98 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

使用角色和環境,不要複製節點。只需創建環境和節點並將其分配給特定節點。這是推薦的方法。如果已將配置分配給節點,請將其移至角色和/或環境。

相關問題