nova vnc proxy基本原理

时间:2014-06-21 18:22:56   收藏:0   阅读:268

先上图

bubuko.com,布布扣

VNC Proxy的功能:

VNC Proxy的部署

 

VNC Proxy的运行过程:

  1. 一个用户试图从浏览器里面打开连接到虚拟机的VNC Client
  2. 浏览器向nova-api发送请求,要求返回访问vnc的url
  3. nova-api调用nova-compute的get vnc console方法,要求返回连接VNC的信息
  4. nova-compute调用libvirt的get vnc console函数
  5. libvirt会通过解析虚拟机运行的/etc/libvirt/qemu/instance-0000000c.xml文件来获得VNC Server的信息
  6. libvirt将host, port等信息以json格式返回给nova-compute
  7. nova-compute会随机生成一个UUID作为Token
  8. nova-compute将libvirt返回的信息以及配置文件中的信息综合成connect_info返回给nova-api
  9. nova-api会调用nova-consoleauth的authorize_console函数
  10. nova-consoleauth会将instance –> token, token –> connect_info的信息cache起来
  11. nova-api将connect_info中的access url信息返回给浏览器:http://172.24.1.1:6080/vnc_auto.html?token=7efaee3f-eada-4731-a87c-e173cbd25e98&title=helloworld%289169fdb2-5b74-46b1-9803-60d2926bd97c%29
  12. 浏览器会试图打开这个链接
  13. 这个链接会将请求发送给nova-novncproxy
  14. nova-novncproxy调用nova-consoleauth的check_token函数
  15. nova-consoleauth验证了这个token,将这个instance对应的connect_info返回给nova-novncproxy
  16. nova-novncproxy通过connect_info中的host, port等信息,连接compute节点上的VNC Server,从而开始了proxy的工作

nova vnc proxy基本原理,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!