1

I am trying to automate a service on my VM (which is on openstack cloud) for which I need the floating IP of that machine. Is there a command or anything for that matter which can help me get it?

4

2 回答 2

4

只是为了澄清:当您“想要获得”浮动IP时,您想从实例内部了解附加到它的浮动IP?如果是这种情况,只需直接使用“curl”来使用元数据服务,或者如果您在实例上安装了 cloud-init 工具,请使用“ec2metadata”命令。

如果您想将 FIP 自动分配给实例,那么上面的答案是正确的。

于 2016-09-30T19:55:20.287 回答
0

安装 che openstackcli。我使用了 cli 版本openstack 2.6.0

首先创建一个浮动IP。您需要提供公共网络的名称。就我而言,名称是public。如果不确定网络的名称,您可以通过以下方式获得浮动 ip

openstack network list 

创建浮动ip

$ openstack ip floating create public
+---------------------+--------------------------------------+
| Field               | Value                                |
+---------------------+--------------------------------------+
| fixed_ip_address    | None                                 |
| floating_ip_address | 86.119.0.163                         |
| floating_network_id | 7313f148-f340-49b4-9d76-89de0702e801 |
| headers             |                                      |
| id                  | bba11a1b-9a31-4d67-a339-2fdbb3b74d11 |
| port_id             | None                                 |
| project_id          | 0009b5ca32594503b2d64ded05bbe0a8     |
| router_id           | None                                 |
| status              | DOWN                                 |
+---------------------+--------------------------------------+
$

现在您有了一个浮动 IP,您可以使用虚拟机名称将其关联到虚拟机。您可以使用命令检查虚拟机名称

openstack server list

关联浮动IP

openstack ip floating add 86.119.0.163 vmname

如果您再次执行此操作,openstack server list您将看到现在列出了与 VM 关联的 IP。

我想你现在对

openstack server show vmname -f json

将返回大量有关 VM 的信息以及地址。检查-f标志,格式化程序比json多

于 2016-08-18T07:29:40.423 回答