我输入knife node show test
,结果显示
Node Name: test
Environment: _default
FQDN: ip-xxx-xxx-xxx-xxx.us-west-2.compute.internal
IP: xxx.xxx.xxx.xxx
Run List: recipe[hello_chef_server]
Roles:
Recipes: hello_chef_server, hello_chef_server::default
Platform: ubuntu 14.04
Tags:
所以我看到节点测试"有一个运行列表"。该协会在哪里实际存储?也就是说,它在哪里物理存储了节点" test"有运行列表"配方[hello_chef_server]"?它是在厨师服务器或厨师节点上吗?它是在一个文件中(如果是这样,在文件系统中的哪个位置)?它是否存储在厨师服务器的postgres DB中(如果是,有人知道它存储在哪个表中)?
答案 0 :(得分:1)
这是我能想到的最好的:
在我刚刚在Ubuntu AWS上创建的厨师服务器上,Chef的嵌入式postgres数据目录为/var/opt/opscode/postgresql/9.2/data
。当我SELECT serialized_object FROM nodes
时,我真正得到一个巨大的序列化对象,在反序列化之前是无法解读的。
我相信我所寻找的答案的原因是基于this description in Chef documentation:
要了解模板的工作原理,您应该先了解一下 更多关于节点。回想一下节点代表一个服务器而且是 通常是虚拟机或物理服务器 - 基本上任何计算 您的基础架构中由Chef管理的资源。当你 引导您的节点, Chef服务器创建了所谓的节点 对象。此节点对象包含许多属性 描述节点,这些属性保存在Chef服务器上。
当配方运行时,节点对象将加载到程序中。的厨师 将节点的属性从Chef服务器加载到内存。对于我们 主页,我们要显示服务器的完全限定域名 (FQDN)。为此,我们访问节点对象的fqdn属性。