openstack作为云计算平台要提供用户管理虚拟机的功能,VNC远程图形界面直观而简便,自然是合适的选择。vnc有C/S B/S两种模式,B/S需要:服务器端:具有支持websockets连接的vnc server(x11vnc/libvncserver or pcketvnc), 或者vnc server+ websocket to tcp socket proxy
客服端:浏览器需要支持html5 websocket(chrome firefox...)
在openstack中采取B/S的第二种模式,即后台运行vnc server + websocket proxy,nova-vncproxy提供websocket proxy,
需要在nova.conf中配置novavnc:# Vnc configurationnovnc_enabled=true
novncproxy_base_url= //vnc proxy server的地址 即运行openstack-nova-vncproxy的服务器IP
novncproxy_port=6080 相应端口,默认6080
vncserver_proxyclient_address=ip_client本compute节点ip
vncserver_listen=0.0.0.0其proxy过程是 ip_server:6080->ip_client:590x x为vnc端口号,具体为nova启动虚拟机时的参数vnc :x,
猜想客服端连接vnc流程:
vnc请求,服务器查询当前虚拟机所在的compute node ip以及建立虚拟机时所对应的vnc 端口,调用webproxy,建立连接,最终提供给用户API
阅读(1907) | 评论(0) | 转发(0) |