成功引导后
bundle exec knife zero bootstrap root@139.59.210.225
我正在尝试将我的食谱应用于远程使用
bundle exec knife zero converge "name:ily"
但得到
WARNING: Failed to connect to ily.localdomain -- SocketError: getaddrinfo: Name or service not known
ERROR: NoMethodErrorundefined method `forward' for nil:NilClass
ERROR: /home/razor/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/knife-zero-1.16.0/lib/knife-zero/bootstrap_ssh.rb:32:in `block in ssh_command'
我的节点配置如下所示:
{
"name": "ily",
"normal": {
"knife_zero": {
"host": "139.59.210.225"
},
"tags": [
]
},
"automatic": {
"knife_zero": {
"host": "139.59.210.225"
},
"hostname": "ily",
"machinename": "ily",
"fqdn": "ily.localdomain",
"domain": "localdomain",
"current_user": "root",
... other attributes
}
}
我正在使用数字海洋实例并且没有真实的主机名,我猜,fqdn 名称是在引导过程中生成的。如果我只有 ip,我应该使用哪个域?
我遇到了这个问题,这是解决它的方法:
使用以下行更新 chef 存储库中的knife.rb
文件:
# Use host IP address instead of FQDN to connect via SSH?
knife[:ssh_attribute] = 'knife_zero.host'
然后刀零将使用节点的 IP 地址,而不是尝试解析其名称。