a. openstack网络分类
- OpenStack的网络主要有两类,内部网络和外部网络。其中,内部网络包括管理网络和数据网络,外部网络包括互联internet网络和API管控网络。
管理网络:用于OpensStack内部各组件之间的互联。”Used for internal communication between OpenStack components. The IP addresses on this network should be reachable only within the data center.”
数据网络:用于虚拟机之间的通信。”Used for VM data communication within the cloud deployment. The IP addressing requirements of this network depend on the OpenStack Networking plugin in use.”
外部网络:外部网络用于云平台与其它网络相连,配置客户真实物理网络的FloatingIP段地址。”Provides VMs with Internet access in some deployment scenarios. The IP addresses on this network should be reachable by anyone on the Internet. “
无论是用户访问OpenStackAPI还是虚拟机访问外网,或者外网访问虚拟机,都需要外部网络。
b.浮动IP
在创建实例时如果不设置浮动ip,这是实例会被赋予固定ip,这是并不能保证实例会马上可以从外面被访问到。
一般来说需要配置防火墙来允许公共ip,然后建立一条NAT规则。
浮动ip(虚拟网络对应的外部网络上的IP)是一些可以从外部访问的ip列表,需要用户手动从地址池里抓取然后赋予给实例。
浮动ip是配置在router的外网interface上,而非实例上。
c.在界面创建一个实例会用到什么组件
- 一个用户需要创建一个新的VM,首先他就需要向keystone发送一些他的认证信息,通过keystone的认证,返回一个token,用户就可以发送创建VM的请求(+token),发送给Nova,Nova首先到keystone上进行验证,对请求进行处理,向Glance请求一个镜像,Glance验证token,查询相应的image,返回给nova,nova向neutron(quantum)申请相应的网络资源,Neutron验证token,返回资源给nova,nova创建VM.
- 以上为一个虚拟机及一个实例的建立的原理,在实际应用中,Horizon将用户的HTTP请求转换为RESTful请求,然后将求其发送给NovaAPI,实例创建。