使用厨师从openstack获取NAT IP

时间:2013-07-17 11:06:57

标签: chef openstack-nova openstack-horizon

如何获取opnestack服务器实例的NAT IP地址,我使用knife-openstack命令创建新实例并引导它。

原因是有些配置要求我添加NAT IP地址,使用ohai我只能获得内部ip而不是openstack在运行时分配的公共ip / NAT ip / floating ip。

任何帮助

2 个答案:

答案 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。 希望这可以帮助你。