1. 程式人生 > >openstack novnc 配置詳解

openstack novnc 配置詳解

由於雲主機instance所在的compute一般在內網執行,而instance的VNC埠,是繫結在compute的IP地址上。外網的客戶,需要訪問instance的VNC,就需要使用Proxy代理。客戶訪問VNC,一般有兩種方式的客戶端,分別對應兩種Proxy:

1、支援web socket的瀏覽器,比如 Chrome, FireFox等,使用 NoVNC
2、java客戶端代理,使用xvpvncproxy

為了客戶方便,一般使用第一種方式,這裡就講講第一種方式下的VNC配置。

1、安裝軟體
1)在控制節點 controller上,需要安裝:
nova-consoleauth
novnc
python-novnc

第一個軟體包,直接apt安裝,後面兩個軟體包,目前ubuntu下有問題,不能正常啟動,請使用我編譯的最新版本:

http://openstack.pubyun.com/ubuntu/

注:
也可以將控制節點放在內網,專門設定一個api節點,這時,nova-consoleauth就需要安裝在控制節點上,另外兩個軟體包安裝在api節點上。

2)計算節點compute上,不需要特別安裝什麼軟體,只要正確設定

2、配置

假定網路接入如下:

控制節點或者api節點: 公網地址 192.168.28.4 管理口內網地址:10.0.0.4
計算節點: 管理口內網地址: 10.0.0.6
例項VM的IP地址段:10.9.0.0/24

1)控制節點或 api 節點配置

vncserver_proxyclient_address=10.0.0.6
novncproxy_base_url=http://192.168.28.4:6080/vnc_auto.html
xvpvncproxy_base_url=http://192.168.28.4:6081/console

2)計算節點配置

vncserver_proxyclient_address=10.0.0.6
novncproxy_base_url=http://192.168.28.4:6080/vnc_auto.html
xvpvncproxy_base_url=http://192.168.28.4:6081/console

#設定 compute上,vnc繫結的IP
vncserver_listen=10.0.0.6

3、測試

1) 在控制節點上,要能夠連線計算節點的 vnc,比如第一個vnc埠是5900

# telnet 10.0.0.6 5900
Trying 10.0.0.6...
Connected to 10.0.0.6.
Escape character is '^]'.
RFB 003.008

2) 外網使用者,要能夠連線控制節點的6800埠

3)使用瀏覽器測試

注意,請使用 chrome 和 firefox 等支援 HTML5 和 websocket 的瀏覽器測試。IE至少需要 IE9 ,而且還可能有問題。

# nova get-vnc-console t1 novnc

+-------+-----------------------------------------------------------------------------------+
| Type | Url |
+-------+-----------------------------------------------------------------------------------+
| novnc | http://192.168.28.4:6080/vnc_auto.html?token=f5abd84d-708f-4486-af61-40c6e5a876c0 |
+-------+-----------------------------------------------------------------------------------+