如何获取opnestack服务器实例的NAT IP地址,我使用knife-openstack命令创建新实例并引导它。
原因是有些配置要求我添加NAT IP地址,使用ohai我只能获得内部ip而不是openstack在运行时分配的公共ip / NAT ip / floating ip。
任何帮助
答案 0 :(得分:3)
这是我为HP的OpenStack(免责声明:惠普员工)所做的事情,尽管它需要在ohai gem的候选版本中使用新的提示系统。如果你为openstack创建一个提示(即触摸/etc/chef/ohai/hints/openstack.json
)那么它应该也能正常工作。
$ sudo gem install ohai --version 6.18.0.rc.1
$ sudo mkdir -p /etc/chef/ohai/hints
$ sudo touch /etc/chef/ohai/hints/hp.json
$ sudo ohai
[lots deleted]
"cloud": {
"public_ipv4": "15.185.XXX.XXX",
"private_ips": [
"10.4.XXX.XXX"
],
"public_ips": [
"15.185.XXX.XXX"
],
"local_ipv4": "10.4.XX.XXX",
"provider": "hp",
"local_hostname": "precise",
"public_hostname": "precise"
}
这是使用这个Chef Omnibus安装程序。如果您正在使用opscode Ubuntu软件包,那么它可能会有点困难。
答案 1 :(得分:1)
您是否在您的环境中创建了公共网络?如果您已完成此操作,则需要创建路由器,然后将公共网络与内部网络关联。在此之后,您可以将浮动IP与内部IP关联。最后,实例通过NAT方法与Internet联系。 你可以查看this blog。 希望这可以帮助你。