Horizon介紹
Horizon是一個web接口,使得雲平台管理員以及用戶可以管理不同的OpenStack資源以及服務。
- 提供一個Web界面操作OpenStack系統
- 使用Django框架基於OpenStack API開發
- 支持將session存儲在DB、Memcached
- 支持集群
虛擬機創建流程

- 第一步,圖形界面輸入用戶名密碼到keystone進行認證,認證通過之后會分配一個token,然后使用該token即可訪問其他服務;
- 第二步,將創建虛擬機的REST API請求發送給nova-api(攜帶token);
- 第三部,nova-api拿着此token到keystone查詢是否合法;
- 第四步,nova-api和數據庫進行交互,將要創建的虛擬機信息寫入到數據庫;
- 第五步,nova-api發送請求至rabbitMQ消息隊列;
- 第六步,nova scheduler監聽消息隊列,獲取請求信息,根據算法指定的具體的計算節點,將虛擬機生成信息放入消息隊列;
- 第七步,nova scheduler和數據庫進行交互,將虛擬機生成的信息寫入到數據庫;
- 第八步,被指定的nova computer監聽消息隊列,獲取nova scheduler消息,進行虛擬機創建;
- 第九步和第十步,新版的openstack,nova computer到數據庫查詢需要通過nova conductor,nova computer與nova conductor通過消息隊列進行交互;
- 第十一步,nova conductor更新數據庫信息,然后nova computer從數據庫獲取到虛擬機的創建信息后進行下一步創建虛擬機的操作;
- 第十二步,聯系glance獲取鏡像;
- 第十三步,glance聯系keystone進行認證;
- 第十四步,聯系neutron獲取網絡;
- 第十五步,neutron聯系keystone進行認證;
- 第十六步,nova computer聯系cinder獲取磁盤;
- 第十七步,cinder聯系keystone進行認證;
- 最終,nova computer調用KVM創建虛擬機。
部署
- 安裝軟件包
yum install openstack-dashboard -y
配置
編輯文件 /etc/openstack-dashboard/local_settings 並完成如下動作
- 在控制節點上配置儀表盤以使用 OpenStack 服務
OPENSTACK_HOST = "192.168.137.11"
- 啟用第3版認證API
OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST
- 配置角色

OPENSTACK_KEYSTONE_DEFAULT_ROLE = "user"
- 允許所有主機訪問儀表板
ALLOWED_HOSTS = ['*', ]
- 配置API版本
OPENSTACK_API_VERSIONS = {
# "data-processing": 1.1,
"identity": 3,
"volume": 2,
"compute": 2,
}
- 啟用對域的支持
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
- 創建用戶時的默認域配置為 default
OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = 'default'
- 使用單一扁平網絡,禁用支持3層網絡服務
OPENSTACK_NEUTRON_NETWORK = {
'enable_router': False,
'enable_quotas': False,
'enable_ipv6': False,
'enable_distributed_router': False,
'enable_ha_router': False,
'enable_lb': False,
'enable_firewall': False,
'enable_vpn': False,
'enable_fip_topology_check': False,
- 修改時區
TIME_ZONE = "Asia/Shanghai"
- Apache服務重啟
systemctl restart httpd
- 頁面訪問
訪問地址:http://192.168.137.11/dashboard
默認域:default 用戶名:demo 密碼:demo

