0

我目前正在使用 OpenStack API 以编程方式创建 OpenStack 虚拟机。我需要将浮动 IP 与创建的服务器相关联。我不清楚这方面的 API 文档。计算 API 说它已被弃用,尽管我尝试使用它,但我不确定如何正确使用它。没有 API 可以首先创建浮动 IP - 使用浮动 IP 的计算 API。我也尝试过使用 Neutron 网络 API 进行浮动 IP,这也没有显示如何将浮动 IP 关联到新服务器。它要求一个端口号,而创建服务器 API 的响应不返回端口号,也不返回 IP 地址。

有人可以指导我吗?

4

1 回答 1

0

您应该将 neutron-API 用于浮动 IP。nova 版本确实被贬低了,是从那时起的遗留物,当时 nova 和 neutron 是一个单一的组件,直到它们将大部分网络内容移到中子中。

创建服务器是一个异步过程,几秒钟后获取它的 IP 地址。因此,您应该创建一个循环,该循环针对新的服务器 ID 运行 get-requests 并检查服务器的状态,直到他变得活跃并拥有 ip ( https://docs.openstack.org/api-ref/compute/ ?expanded=show-server-details-detail#show-server-details并检查OS-EXT-STS:vm_state活动状态)。在此之后,您可以请求所有端口并检查结果,哪个 port-id 属于新创建的服务器的 ip ( https://docs.openstack.org/api-ref/network/v2/?expanded=list- ports-detail#list-ports并检查fixed_ips服务器的 ip)。使用此端口 ID,您应该能够创建您的浮动 IP。

也许有一个更简单的方法,但这是我第一次尝试,当我必须解决这个任务时。

于 2020-07-22T08:56:49.057 回答