websocket nova vnc proxy

來源:互聯網
上載者:User

標籤:c   style   class   java   a   http   

1. vnc proxy的實現原理

vnc 是nova提供的用來訪問虛擬機器的一項重要功能,使用者可以通過websocket來訪問,也可以通過java用戶端來訪問。通過websket訪問虛擬機器 的功能已經整合到horizon中,而通過java用戶端則需要先安裝相應的軟體。為了方便使用者訪問虛擬機器,nova通過有一個proxy來實 現,proxy通常放在一個所有人都可以訪問的IP地址。

vnc訪問的實現方法如下,首先是啟動一個虛擬機器時啟用vnc,這可以通過給kvm加上vnc參數即可。這樣,kvm就會啟動一個vncserver監聽虛擬機器。通過websocket來訪問虛擬時,其步驟如下:
1. 通過nova-api擷取訪問url,url的格式是:http://ip:port/?token=xxx,該地址實際上就是vnc proxy的地址。
2. 瀏覽器串連到vnc proxy
3. vnc proxy串連到nova-consoleauth來驗證token,並將token映射到虛擬機器所在的宿主機的ip地址和某個連接埠,該連接埠就是虛擬機器啟動時所監聽的連接埠。
4. vnc proxy與虛擬機器所在的宿主機的vncserver建立串連,並開始代理,直到瀏覽器session結束。
在 nova.conf中,計算節點可以指定vncserver的監聽地址及vnc proxy應該通過那個地址串連到vncserver,該選項就是vncserver_proxyclient_address。vnc proxy充當了公網和計算節點之間的橋樑,此外還需要對vnc協議進行封裝。

2. vnc proxy配置方法

通常情況下,為了提供完整的vnc功能,需要部署三個服務:
nova-consoleauth: 提供token驗證,維護token與ip地址、連接埠號碼的映射。
nova-novncproxy: 支援基於瀏覽器的vnc 用戶端,通常與nova-api部署在一起。
nova-xvpvncproxy: 支援基於java的vnc用戶端,,通常與nova-api部署在一起。
此外還需要對計算節點進行設當的配置。具體如下:

  • vnc_enabled=True   啟用虛擬機器的vnc功能。
  • vncserver_listen=0.0.0.0   預設是127.0.0.1,即只可以從本機進行訪問,通常情況下是配置為管理網的IP地址。設定為0.0.0.0主要是考慮到動態遷移時,目的宿主機沒有相應的IP地址,動態遷移會失敗。
  • vncserver_proxyclient_address  該地址指明vnc proxy應該通過那個IP地址來串連vncserver,通常是管理網IP地址。
  • novncproxy_base_url=http://$SERVICE_HOST:6080/vnc_auto.html  指定瀏覽器client應該串連的地址。$SERVICE_HOST通常是一個公網IP地址。
  • xvpvncproxy_base_url=http://$SERVICE_HOST:6081/console  指定java client應該串連的地址。$SERVICE_HOST通常是一個公網IP地址。

vnc proxy的配置則相對簡單,只需要設定其監聽的主機和連接埠即可。具體如下:
novncproxy_host=$SERVICE_HOST  通常為一個公網IP。
novncproxy_host=6080
xvpvncproxy_host=$SERVICE_HOST 通常為一個公網IP。
xvpvncproxy_port=6081

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.