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

Chef infra 通过chef中的client.rb分配角色/食谱,chef-infra,chef-recipe,chef-solo,Chef Infra,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阶段”已提到以下信息 在Chef工作站上: knife environ

我的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阶段”已提到以下信息

在Chef工作站上:

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客户端表单节点时。当我从chef工作站访问同一个chef客户端时,Node没有编译任何cookbook,而是在同一节点上编译同一个cookbook


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

您不能通过
client.rb
配置文件分配运行列表。一般来说,你也不应该这样设置环境,它主要是为主厨索洛准备的。运行列表和环境数据位于Chef服务器上的节点对象中。您可以通过
knife node edit
或通过Chef Server web界面编辑此数据

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