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

时间:2014-03-25 12:40:02

标签: ip virtual-machine openstack

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

3 个答案:

答案 0 :(得分:0)

要为VM分配IP,您可以使用以下命令:

openstack floating ip create public

要关联您的VM和IP,请使用以下命令:

openstack server add floating ip your-vm-name your-ip-number

列出应用程序使用的所有端口,ssh到您的实例并运行:

sudo lsof -i

答案 1 :(得分:0)

假设您知道VM名称 请执行下列操作: 在控制器上运行 nova interface-list VM-NAME

它将为您提供VM接口的port-id,IP地址和mac地址。

您可以登录VM并运行

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

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

答案 2 :(得分:-3)

这篇特别End User page的官方文件可能是一个好的开始:

  

"每个实例都可以拥有私有或固定的IP地址以及公共或浮动的IP地址   私有IP地址用于实例之间的通信,公共IP地址用于与外界通信。

     

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

     

由云运营商配置的浮动IP池可在OpenStack Compute中使用。

     

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

     

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

     

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

当然,this section of the Admin Guide

中有更深层次的内容

关于如何查找端口和IP,您有两种选择:命令行界面或API。
例如,如果您正在使用Neutron *并希望找到与API一起使用的IP或网络:

 GET v2.0/networks 
  • 并使用CLI
$ neutron net-list

您可以对端口和子网使用类似的命令,但是如果您可以通过这种方式获取有关在VM中运行的应用程序的信息,我还没有亲自测试过。

*查看您正在运行的OpenStack版本。如果它是旧的,可​​能会使用Compute节点(Nova)进行联网。