2017-10-10 121 views
0

假设我们有一个节点,名为mycomputer。它在run_list中有一个作用,如myrole节点如何读取角色文件?

现在,MYCOMPUTER想访问和读取文件的作用,这是目前在它的run_list。

有没有办法做到这一点?


我试图

knife role show myrole 

,因为它不具备knife.rb和用户key.pem文件(.chef目录),因此它不能访问它。


请让我知道是否有方法来访问角色文件, myrole

回答

1

正如你所写的那样,节点“我的电脑”在其应用的运行列表中具有给定的作用,所包含的信息有种“自动”可用。确切地说,属性(和其他运行列表条目)会自动与其他属性(从环境,食谱等)合并。

因此,如果您的角色“myrole”定义以下属性:通过

node['apache2']['listen_ports'] 

属性

default_attributes 'apache2' => { 
    'listen_ports' => [ '80', '443' ] 
} 

这将是您的节点上的厨师运行期间访问的是厨师的基本概念并且应该解决你的问题,以便在一个角色中定义一些信息,并在某个节点上运行的主厨期间读取它。

您可以在关于Attribute Precedence的文档中找到关于该概念的更多信息。没有真正的方法来阅读纯文件 - 如果你真的认为你需要这样做,你用错误的方式使用厨师。更好的状态与你的下一个问题,你的最终目标是什么。

+0

我的要求是从角色文件访问属性。是的,你是对的,它们会与* node *中的属性合并。我忽略了这部分,确实使用了“厨师以错误的方式”。感谢您耐心地帮助我:) – srajappa