nova vnc proxy基本原理

2021-08-15 19:59:49 字數 2145 閱讀 1599

一 nova vnc proxy原理**

二 vnc proxy的功能

1 將公網(public network)和私網(private network)隔離

2 vnc client執行在公網上,vncserver執行在私網上,vnc proxy作為中間的橋梁將二者連線起來

3 vnc proxy通過token對vnc client進行驗證

4 vnc proxy不僅僅使得私網的訪問更加安全,而且將具體的vnc server的實現分離,可以支援不同hypervisor的vnc server但不影響使用者體驗

三 vnc proxy的部署

1 在controller節點上部署nova-consoleauth 程序,用於token驗證

2 在controller節點上部署nova-novncproxy 服務,使用者的vnc client會直接連線這個服務

3 controller節點一般有兩張網絡卡,連線到兩個網路,一張用於外部訪問,我們稱為public network,或者api network,這張網絡卡的ip位址是外網ip,如圖中172.24.1.1,另外一張網絡卡用於openstack各個模組之間的通訊,稱為management network,一般是內網ip,如圖中10.10.10.2

4 在compute節點上部署nova-compute,在nova.conf檔案中有下面的配置

vnc_enabled=true

vncserver_listen=0.0.0.0 //vnc server的監聽位址

vncserver_proxyclient_address=10.10.10.2 //nova vnc proxy是通過內網ip來訪問vnc server的,所以nova-compute會告知vnc proxy用這個ip來連線我。

novncproxy_base_url= //這個url是返回給客戶的url,因而裡面的ip是外網ip

四 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資訊返回給瀏覽器:?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基本原理

先上圖 vnc proxy的功能 vnc proxy的部署 vnc proxy的執行過程 乙個使用者試圖從瀏覽器裡面開啟連線到虛擬機器的vnc client 瀏覽器向nova api傳送請求,要求返回訪問vnc的url nova api呼叫nova compute的get vnc console方法...

nova vnc proxy基本原理

先上圖 vnc proxy的功能 vnc proxy的部署 vnc proxy的執行過程 乙個使用者試圖從瀏覽器裡面開啟連線到虛擬機器的vnc client 瀏覽器向nova api傳送請求,要求返回訪問vnc的url nova api呼叫nova compute的get vnc console方法...

mysql的基本原理 Mysql 基本原理

mysql 基本原理 mysql是一種關聯式資料庫管理系統,關聯式資料庫將資料儲存在不同的表中,而不是將所有資料放在乙個大倉庫內,這樣就增加了速度並提高了靈活性 ysql是資料庫登入命令 uroot預設超級使用者登入 p 預設沒密碼 中寫密碼 mysqladmin uroot password 12...