0

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

原因是某些配置需要我添加 NAT ip 地址,使用 ohai 我只能获取内部 ip,但不能获取 openstack 在运行时分配的公共 ip/NAT ip/浮动 ip。

任何帮助

4

2 回答 2

3

这是我为 HP 的 OpenStack 所做的(免责声明:HP 员工),尽管它需要 ohai gem 的候选发布版本中的新提示系统。如果您为 openstack 创建提示(即 touch /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 软件包,那么上手可能会有点困难。

于 2013-07-22T01:03:36.650 回答
1

您是否在您的环境中创建了公共网络?如果你这样做了,你需要创建一个路由器,然后将公共网络与内部网络相关联。在此之后,您可以将浮动 ip 与内部 ip 关联起来。最后,实例通过 NAT 方式与 Internet 联系。你可以查看这个博客。希望这可以帮助你。

于 2013-07-21T12:27:47.577 回答