我是厨师和亚马逊网络服务的新手,我正在学习如何将一个集群部署到亚马逊网络服务Ec2。为此,我使用chef-provisioning-aws。
我从我的工作站直接向亚马逊网络服务执行chef-client,我没有chef-server (使用chef-zero)。我是这样执行的:
chef-client -z -r "role[example_cluster]"
是的,我在群集中有一个角色,在run_list中我有"recipe[example::aws_setup]", "recipe[example::create_cluster]"
在example::create_cluster配方上,我使用machine_batch创建机器并调用以下配方:
recipe 'example::recipe_1' recipe 'example::recipe_2'
我还定义了一些属性,并在角色文件中覆盖了其中的一些属性,但在执行chef-client时,example::aws_setup和example::create_cluster上的属性是我在角色文件中覆盖的属性,但example::recipe_1和example::recipe_2中使用的属性是默认属性。
有没有导游或者能帮我一下?
提前谢谢。
发布于 2016-01-06 06:02:33
我想我昨晚在IRC上回答了你的问题,但以防万一:
运行配给过程的服务器(在本例中为工作站)的节点数据与EC2中新创建的节点之间没有关系。如果您想要将角色或其他内容应用于它们,则需要在创建计算机时在您的配置配方中执行此操作。
发布于 2016-01-06 21:29:54
Chef属性具有“优先级”顺序。请参考answer相关的厨师属性优先级,这将有助于理解,当我们运行食谱时,将考虑哪些属性值。
您需要调用正确的属性方法,同时覆盖属性值。
https://stackoverflow.com/questions/34601574
复制相似问题