我有一个现有的厨师节点:
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:
如何在另一个名为LOCAL
的环境中使另一个节点与此节点相同我将运行列表从节点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:
问题:
我可以像“运行列表”那样对“角色”,“食谱”和“数据包”应用相同的步骤吗?这是查看角色的数组结构并添加它,做一把“刀”节点编辑dt-linux-dev111“,附加所需的角色和食谱,以及数据包,然后运行sudo chef-client
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 :(得分:0)
角色和食谱集体只是运行列表条目,你可以"复制"它们通过def isPrime(n):
for i in range(2,math.sqrt(n)):
if n%i ==0 :
return False
return True
#limits calculated using prime number theory by hand
primes=[]
for num in range(104319,114319):
if isPrime(num):
primes.append(num)
或任何其他操纵运行列表的刀具命令。没有什么特别的复制从一个到另一个,只是复制意大利面串行。成功运行knife node edit
至少一次后,刀输出中的Roles:
和Recipes:
值将被更新,它们是上次运行时的缓存输出(存储在节点中的大多数值)数据)。
数据包未附加到特定节点或环境,它们是全局对象,因此此处没有交互。
答案 1 :(得分:0)
使用角色和环境,不要复制节点。只需创建环境和节点并将它们分配给特定节点。这是推荐的方法。如果已将配置分配给节点,请将其移至角色和/或环境。