3

成功引导后

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,我应该使用哪个域?

4

1 回答 1

0

我有这个问题,这里是如何解决它:

knife.rb使用以下行从您的 chef 存储库更新您的文件:

# Use host IP address instead of FQDN to connect via SSH?
knife[:ssh_attribute] = 'knife_zero.host'

然后零刀将使用您节点的 IP 地址,而不是尝试解析其名称。

于 2020-03-20T12:50:36.467 回答