通过chef中的client.rb分配角色/食谱

时间:2014-12-23 06:30:42

标签: chef chef-recipe chef-solo

我的Client.rb文件如下所示

On Node
cat client.rb 
log_level        :info
log_location     STDOUT
chef_server_url  "https://chef.my.com:443"
validation_client_name "mychef-validator"
environment "Rd-Staging"     

和环境" Rd-Staging"提到以下信息。

在Chef-workstation上:

knife environment show Rd-Staging
chef_type:           environment
cookbook_versions:
  apache-yum:         = 0.1.0
default_attributes:
description:         Rd-Staging
json_class:          Chef::Environment
name:                Rd-Staging
override_attributes:

之后每当我点击chef-client表单节点时。节点没有编译任何食谱,而我正在从Chef-workstation点击相同的厨师 - 客户端,在同一节点上编译相同的食谱。

如何通过client.rb分配配方/角色。我试图实现每当节点出现它将在特定环境下注册然后运行环境专用配方。请记住,我无法更改first-boot.json,因为那时需要为不同的项目创建多个first-boot.json。

1 个答案:

答案 0 :(得分:1)

您无法通过client.rb配置文件分配运行列表。一般来说,你不应该以这种方式设置环境,它主要用于厨师独奏。运行列表和环境数据位于Chef服务器上的Node对象中。您可以通过knife node edit或Chef Server Web界面编辑此数据。

更一般地说,环境不能附加运行列表数据,只有角色和节点才能获得。