当我引导在Google Cloud和Rackspace上创建的VM时,运行Chef的knife bootstrap命令可通过Ohai成功填充cloud_v2属性,但在Azure VM上通过刀引导进行引导时,cloud_v2哈希值非常空-它仅填充了一个属性:provder: azure

相比之下,Ohai使用以下内容成功填充了Google Cloud和Rackspace节点:
cloud_v2: public_ipv4_addrs 0: xxx.xxx.xxx.85 local_ipv4_addrs 0: 10.240.0.2 provider: gce local_hostname: myhostname.projectname.internal public_ipv4: xxx.xxx.xxx.85 local_ipv4: 10.240.0.2
这是Azure的Ohai插件中的错误吗?如何获得Knife bootstrap命令以包含更多默认的Ohai属性?最具体地说,我需要public_ipv4,以便可以使用此属性运行knife ssh命令。

最佳答案

Ohai仅支持limited auto-detection of Azure。如果您触摸提示文件(mydir -p /etc/chef/ohai/hints && touch /etc/chef/ohai/hints/azure.json),它应该会更好。如果您使用相关的knife-$cloud插件,通常会自动为您处理,但是对于纯knife bootstrap,您需要通过--hint选项或如上所述手动进行。

09-27 09:40