Horizon介紹
Dashboard服務,這里具體的產品就是Horizon
1、它提供一個Web界面操作Openstack的系統
2、使用Django框架基於Openstack API開發
3、支持將Session 存儲在DB、Memcached
4、支持集群
安裝和配置Horizon
[root@linux-node1 ~]# yum install openstack-dashboard -y Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.163.com * epel: mirror01.idc.hinet.net * extras: mirrors.163.com * updates: mirrors.163.com Package 1:openstack-dashboard-9.0.1-1.el7.noarch already installed and latest version Nothing to do [root@linux-node1 ~]#
[root@linux-node1 ~]# vim /etc/openstack-dashboard/local_settings [root@linux-node1 ~]#



啟用對域的支持
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True

通過儀表盤創建用戶時的默認域配置為 default :
OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = "default"

OPENSTACK_NEUTRON_NETWORK = { ... 'enable_router': False, 'enable_quotas': False, 'enable_distributed_router': False, 'enable_ha_router': False, 'enable_lb': False, 'enable_firewall': False, 'enable_vpn': False, 'enable_fip_topology_check': False, }

[root@linux-node1 ~]# systemctl restart httpd.service memcached.service [root@linux-node1 ~]# [root@linux-node1 ~]# systemctl reload httpd [root@linux-node1 ~]#
網頁登錄和操作
瀏覽器輸入
http://192.168.56.11/dashboard
打開如下界面





點擊切換標簽,可以看到網絡和實例名字














可以登錄控制台

虛擬機的創建流程介紹

第一階段
用戶通過keystone認證,獲得一個token,就可以請求別的服務了
比如創建虛擬機。nova-api拿着這個token去keystone對比,是否合法
然后nova-api把創建虛擬機這個事件寫到庫里
第一階段完成了
第二階段是nova組件之間的交互
通過rabbitmq消息隊列,nova-api把創建虛擬機消息發到消息隊列里
其它的nova-compute,nova-conductor以及nova-scheduler是訂閱了消息隊列這個主題的,不是api主動通知它們,而是它們監聽消息隊列自己取消息
nova-scheduler先過濾符合條件的計算節點,然后根據權重選擇一個最佳的節點
計算權重有一個默認算法,資源使用率低的先創建。以及從數據庫里取計算節點數據,然后把計算結果存到數據庫里。
其實它計算完畢,還會發消息發送到消息隊列里,然后nova-compute從消息隊列里取事件(上面圖用雙向表示了,其實可以再分解詳細的)
nova-compute取到創建虛擬機事件,要去數據庫里取創建虛擬機的屬性(配置等)(圖上第9步)
這個圖是老圖了,因為現在M版的nova-compute不能直接連接數據庫的,其實是通過nova-conductor連接數據庫的
由此可以看到消息隊列的樞紐中心作用。它掛了不影響現網,但是影響創建虛擬機
第三階段
最后獲取鏡像,網絡,存儲資源,分別校驗。nova-compute帶着token請求的。
比如鏡像,它拿着這個token去keystone驗證,有沒有效。成功后才獲得鏡像許可
第四階段
nova-compute通過api調用libvirt創建kvm,同時nova-api不停的輪詢查詢數據庫,看kvm的狀態,更新狀態給消息隊列,然后dashboard取得最新數據狀態
圖里沒畫出來