open stack如何将ip分配给虚拟机?

open stack如何将ip分配给虚拟机?,ip,virtual-machine,openstack,Ip,Virtual Machine,Openstack,我想知道openstack如何将ip分配给虚拟机?以及如何找出VM使用的端口和IP。我们是否有可能找到VM内部运行的应用程序所使用的IP和端口?这一特定的官方文档可能是一个良好的开端: “每个实例可以有一个专用或固定的IP地址和一个公用或浮动的IP地址。 私有IP地址用于实例之间的通信,公共IP地址用于与外部世界的通信 启动实例时,会自动为其分配一个私有IP地址,该地址在您显式终止该实例之前保持不变。重新启动实例对该私有IP地址没有影响 OpenStack Compute中有一个由云运营商配置的

我想知道openstack如何将ip分配给虚拟机?以及如何找出VM使用的端口和IP。我们是否有可能找到VM内部运行的应用程序所使用的IP和端口?

这一特定的官方文档可能是一个良好的开端:

“每个实例可以有一个专用或固定的IP地址和一个公用或浮动的IP地址。
私有IP地址用于实例之间的通信,公共IP地址用于与外部世界的通信

启动实例时,会自动为其分配一个私有IP地址,该地址在您显式终止该实例之前保持不变。重新启动实例对该私有IP地址没有影响

OpenStack Compute中有一个由云运营商配置的浮动IP池

您可以为一个项目分配一定数量的浮动IP地址:每个项目的最大浮动IP地址数量由配额定义

您可以将此集合中的浮动IP地址添加到项目实例中。浮动IP地址可以随时动态解除关联并与同一项目的其他实例关联。
在将浮动IP地址分配给实例之前,必须先将浮动IP分配给项目。将浮动IP地址分配给当前项目后,可以将其分配给正在运行的实例

您可以一次为一个实例分配一个浮动IP地址。”

当然,还有更深层次的问题需要研究

关于如何了解端口和IP,您有两个选项:命令行界面或API
例如,如果您使用的是Neutron*,并且希望了解与以下设备一起使用的IP或网络:

  • 以及使用:
您可以对端口和子网使用类似的命令,但是我个人还没有测试过您是否可以通过这种方式获得有关在VM中运行的应用程序的信息

*检查您正在运行的OpenStack版本。如果是旧的,很可能是使用计算节点(Nova)进行联网。

这一特定的官方文档可能是一个良好的开端:

“每个实例可以有一个专用或固定的IP地址和一个公用或浮动的IP地址。
私有IP地址用于实例之间的通信,公共IP地址用于与外部世界的通信

启动实例时,会自动为其分配一个私有IP地址,该地址在您显式终止该实例之前保持不变。重新启动实例对该私有IP地址没有影响

OpenStack Compute中有一个由云运营商配置的浮动IP池

您可以为一个项目分配一定数量的浮动IP地址:每个项目的最大浮动IP地址数量由配额定义

您可以将此集合中的浮动IP地址添加到项目实例中。浮动IP地址可以随时动态解除关联并与同一项目的其他实例关联。
在将浮动IP地址分配给实例之前,必须先将浮动IP分配给项目。将浮动IP地址分配给当前项目后,可以将其分配给正在运行的实例

您可以一次为一个实例分配一个浮动IP地址。”

当然,还有更深层次的问题需要研究

关于如何了解端口和IP,您有两个选项:命令行界面或API
例如,如果您使用的是Neutron*,并且希望了解与以下设备一起使用的IP或网络:

  • 以及使用:
您可以对端口和子网使用类似的命令,但是我个人还没有测试过您是否可以通过这种方式获得有关在VM中运行的应用程序的信息


*检查您正在运行的OpenStack版本。如果是旧的,很可能是使用计算节点(Nova)进行网络连接。

要将IP分配给虚拟机,可以使用以下命令:

openstack floating ip create public
要将VM与IP关联,请使用以下命令:

openstack server add floating ip your-vm-name your-ip-number
要列出应用程序使用的所有端口,请将ssh连接到实例并运行:

sudo lsof -i

要将IP分配给VM,可以使用以下命令:

openstack floating ip create public
要将VM与IP关联,请使用以下命令:

openstack server add floating ip your-vm-name your-ip-number
要列出应用程序使用的所有端口,请将ssh连接到实例并运行:

sudo lsof -i

假设您知道虚拟机的名称 请执行以下操作: 控制器运行时 nova接口列表VM-NAME

它将为您提供VM接口的端口id、IP地址和mac地址

您可以登录到VM并运行

netstat-tlnp查看VM内运行的应用程序正在使用哪些IP和端口


至于虚拟机如何获得IP,这取决于您的部署。在基本的openstack部署中,当您创建网络并在该网络下创建子网时,您将看到在网络节点上创建了dhcp命名空间。(在网络节点上不使用ip网络)。命名空间名称应为qdhcp-network-id。在dhcp命名空间内运行的dnsmasq进程将IP分配给VM。这只是VM获取IP的众多方式之一

假设您知道虚拟机名称 请执行以下操作: 控制器运行时 nova接口列表VM-NAME

它将为您提供VM接口的端口id、IP地址和mac地址

您可以登录到VM并运行

netstat-tlnp查看VM内运行的应用程序正在使用哪些IP和端口


至于虚拟机如何获得IP,这取决于您的部署。在基本的openstack部署中,当您创建网络并在该网络下创建子网时,您将看到在网络节点上创建了dhcp命名空间。(在网络节点上不使用ip网络)。命名空间名称应为qdhcp-network-id。在dhcp命名空间内运行的dnsmasq进程将IP分配给VM。这只是VM获取IP的众多方式之一

你的答案不是用户所说的