首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在knife.rb中设置本地机器的fqdn

如何在knife.rb中设置本地机器的fqdn
EN

Stack Overflow用户
提问于 2015-01-09 11:14:28
回答 3查看 654关注 0票数 0

这是我的knife.rb文件。在这种情况下,我想将node_name设置为本地机器的fqdn。我不想手动键入它。

因为我得用这个来处理n台机器。我只需编写默认属性来获得机器的fqdn。

它提供了ruby 语法错误

代码语言:javascript
复制
log_level                :info

log_location             STDOUT

client_key               '/etc/chef/client.pem'

node_name                '#node['fqdn']'

chef_server_url          'myserverurl'


SyntaxError: /root/.chef/knife.rb:5: syntax error, 
unexpected tIDENTIFIER, expecting end-of-input
node_name                '#node['fqdn']'
                                     ^

相关文件内容:

代码语言:javascript
复制
  4: client_key               '/etc/chef/client.pem'

  5: node_name                '#node['fqdn']'

  6: chef_server_url          'myserverurl'
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-01-10 15:06:09

我同意Tensibai和coderanger的观点,这不是你最好的方法,但如果你真的想这么做,那么我建议你伸出手来问一问。

代码语言:javascript
复制
node_name `hostname --fqdn`

代码语言:javascript
复制
node_name `hostname`

取决于你是否想要fqdn。当然,两者都假设主机上有一个有效的主机名集。

票数 0
EN

Stack Overflow用户

发布于 2015-01-09 11:41:54

节点属性是主厨配方,它们不存在配置(在通常无效的Ruby语法之上)。幸运的是,FQDN已经是默认的node_name,所以根本不指定一个!

票数 0
EN

Stack Overflow用户

发布于 2015-01-09 12:54:43

如评论所述:

如果你真的想要的话,用厨师生成knife.rb文件。

coderanger说,使用烹饪书中的模板资源,它将从一个knife.rb文件中生成.erb,您将在其中包括<%= node['fqdn'] %>

但是我强烈建议不要这样做,因为您的供应系统应该已经处理了一个节点的破坏/重新创建,所以它更像是在主厨中管理节点和客户端的地方,而不是节点本身。

旧:

为什么要在所有节点上使用刀?

刀是一种管理工具,用于工作站管理节点、炊具等。

请解释您的用例,以便我们可以编辑和指导您的努力实现什么。这是一个XY问题(问题在工具上,而不是在问题上)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27859312

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档