如何获取 opnestack 服务器实例的 NAT ip 地址,我使用 knife-openstack 命令创建新实例并引导它。
原因是某些配置需要我添加 NAT ip 地址,使用 ohai 我只能获取内部 ip,但不能获取 openstack 在运行时分配的公共 ip/NAT ip/浮动 ip。
任何帮助
如何获取 opnestack 服务器实例的 NAT ip 地址,我使用 knife-openstack 命令创建新实例并引导它。
原因是某些配置需要我添加 NAT ip 地址,使用 ohai 我只能获取内部 ip,但不能获取 openstack 在运行时分配的公共 ip/NAT ip/浮动 ip。
任何帮助
这是我为 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 软件包,那么上手可能会有点困难。
您是否在您的环境中创建了公共网络?如果你这样做了,你需要创建一个路由器,然后将公共网络与内部网络相关联。在此之后,您可以将浮动 ip 与内部 ip 关联起来。最后,实例通过 NAT 方式与 Internet 联系。你可以查看这个博客。希望这可以帮助你。