厨师服务器显示引导节点的错误IP地址

时间:2014-12-23 07:50:29

标签: chef configuration-management

我最近开始学习厨师并尝试使用3个节点。我设法在ubuntu上设置我的工作站(不是很明显),现在引导2个节点。但在此图像下方,其IP地址设置为127.0.0.1。

chef server nodes tab

我使用以下方法提升他们:

$knife bootstrap xxxx.xxxx.com -x root -P xxxxxxxx -N xxxxxxxx

看起来很好,它出现在厨师服务器上但是当我执行以下操作强制运行chef-client时,它会抛出一些错误,如下所示。

$ knife ssh "name:logsmanager" "chef-client" -x root -a xxxx.xxxx.com
FATAL: 1 node found, but does not have the required attribute to establish the connection. Try setting another attribute to open the connection using --attribute.

此外,我了解客户端节点默认情况下每30分钟检查一次,但在我的主厨服务器节点选项卡上,它显示最后一次检查是在6天前和13小时前检查过的。

这是否意味着客户端节点不检查主厨服务器,或者它类似于源版本检查,结帐术语?

如果有人可以为我点亮这件事,我将不胜感激。谢谢

编辑:

运行上面的命令后,我遇到了另一个问题:

$ knife ssh "name:logsmanager" "chef-client" -x root -a fqdn
WARNING: Failed to connect to my.domain.com -- Net::SSH::AuthenticationFailed: Authentication failed for user root@my.domain.com@my.domain.com .Seems to understant root@my.domain.com as username for my.domain.com fqdn.

2 个答案:

答案 0 :(得分:1)

-a的{​​{1}}参数应该是"虚线路径"中的节点属性。语法,如knife sshfqdn。默认情况下,cloud.public_ipv4将使用节点的FQDN连接到。

Knife将运行您提供的搜索查询,然后使用给定的属性查找要传递给knife ssh的名称。

答案 1 :(得分:1)

默认情况下,Chef客户端不检查Chef服务器上的更改。它是手动完成的。

要使节点运行chef-client定期检查此选项:

-i SECONDS, --interval SECONDS
The frequency (in seconds) at which the chef-client runs. When the chef-client is run at intervals, --splay and --interval values are applied before the chef-client run. Default value: 1800.

有关chef-client的其他选项的更多信息,您可以find here

关于提供属性,您必须提供要用于SSH的属性,而不是实际值。这意味着:

$ knife ssh "role:web" "uptime" -x ubuntu -a public_hostname

public_hostname - 表示名为public_hostname

的节点属性