如何从刀搜索中找到辅助 IP 地址

How to find secondary IP addresses from a knife search

我正在检查 chef,当这部分出现时可以将搜索查询放入食谱文件中,我在尝试获取节点的辅助 IP 地址时遇到了问题。 当我尝试获取主 IP 地址时,我可以得到

>> knife node show web1 -a ipaddress
web1:
  ipaddress: 10.0.2.15

但是当我尝试获取辅助 IP 地址时,我可以看到密钥本身就是辅助 IP。

>> knife node show web1 -a network.interfaces.eth0.addresses
web1:
  network.interfaces.eth0.addresses:
    08:00:27:6E:B1:DB:
      family: lladdr
    192.168.10.43:
      broadcast: 192.168.10.255
      family:    inet
      netmask:   255.255.255.0
      prefixlen: 24
      scope:     Global
    fe80::a00:27ff:fe6e:b1db:
      family:    inet6
      prefixlen: 64
      scope:     Link
      tags:

在这种情况下,如何直接提取辅助 IP 字段,即 192.168.10.43

knife searchknife node show 显示完整的对象数据,不适用于脚本。我们为简单的 Ruby 脚本提供 knife exec,为更复杂的事情提供像 chef-apiPyChef 这样的库。