我在 Linux 节点上安装了 Chef-client,它似乎已成功连接到我的 Chef 服务器。但是,当我这样做时:chef node list,它显示为“本地主机”。
为什么 Chef 不选择节点的正确名称?如果我询问更多详细信息,我会看到:
$ chef node show localhost
node Name: localhost
Environment: _default
FQDN: localhost
IP: 192.168.1.5
Run List:
Roles:
Recipes:
Platform: ubuntu 11.10
Run Code Online (Sandbox Code Playgroud)
它有一个正确的域名设置。例如,如果我这样做:hostname,它返回“mynodename”,而不是“localhost”。
Chef 如何确定节点的名称?为什么它在 FQDN 中显示正确的名称?
编辑:为了回应下面的 cjc,这里有一些输出ohai | grep host:
(注意:此节点运行在 EC2 上)
"fqdn": "localhost",
"hostname": "mynodename",
"public_hostname": "ec2-...-.amazonaws.com",
"local_hostname": "ip-...ec2.internal",
"hostname": "ip-...ec2.internal",
Run Code Online (Sandbox Code Playgroud)
此外,主机名 -s 给出了预期的输出:
$ hostname -s
mynodename
Run Code Online (Sandbox Code Playgroud)
原因似乎是 ohai 正在运行hostname --fqdn,它确实给出了“localhost”。
问题的根本原因似乎是我将主机名设置为“mynodename”而不是“mynodename.example.com”。如果我做:
sudo hostname mynodename.example.com
Run Code Online (Sandbox Code Playgroud)
然后当我这样做时它会做正确的事情: hostname --fqdn
| 归档时间: |
|
| 查看次数: |
11105 次 |
| 最近记录: |