十五、Horazion儀表盤集羣部署
https://docs.openstack.org/horizon/train/install/
OpenStack儀表板Dashboard服務的項目名稱是Horizon,它所需的唯一服務是身份服務keystone,開發語言是python的web框架Django。
儀表盤使得通過OpenStack API與OpenStack計算雲控制器進行基於web的交互成爲可能。
Horizon 允許自定義儀表板的商標;並提供了一套內核類和可重複使用的模板及工具。
安裝Train版本的Horizon有以下要求
Python 2.7、3.6或3.7
Django 1.11、2.0和2.2
Django 2.0和2.2支持在Train版本中處於試驗階段
Ussuri發行版(Train發行版之後的下一個發行版)將使用Django 2.2作爲主要的Django版本。Django 2.0支持將被刪除。
1. 安裝dashboard
在全部控制節點安裝dashboard服務,以controller01節點爲例
yum install openstack-dashboard memcached python3-memcached -y
2. 配置local_settings
#備份配置文件/etc/nova/nova.conf
cp -a /etc/openstack-dashboard/local_settings{,.bak}
grep -Ev '^$|#' /etc/openstack-dashboard/local_settings.bak >/etc/openstack-dashboard/local_settings
#配置文件中要將所有註釋取消
[root@controller01 ~]# vim /etc/openstack-dashboard/local_settings
#指定在網絡服務器中配置儀表板的訪問位置;默認值: "/"
WEBROOT = '/dashboard/'
#配置儀表盤在controller節點上使用OpenStack服務
OPENSTACK_HOST = "10.15.253.88"
#允許主機訪問儀表板,接受所有主機,不安全不應在生產中使用
ALLOWED_HOSTS = ['*', 'localhost']
#ALLOWED_HOSTS = ['one.example.com', 'two.example.com']
#配置memcached會話存儲服務
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': 'controller01:11211,controller02:11211,controller03:11211',
}
}
#啓用身份API版本3
OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST
#啓用對域的支持
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
#配置API版本
OPENSTACK_API_VERSIONS = {
"identity": 3,
"image": 2,
"volume": 3,
}
#配置Default爲通過儀表板創建的用戶的默認域
OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = "Default"
#配置user爲通過儀表板創建的用戶的默認角色
OPENSTACK_KEYSTONE_DEFAULT_ROLE = "user"
#如果選擇網絡選項1,請禁用對第3層網絡服務的支持,如果選擇網絡選項2,則可以打開
OPENSTACK_NEUTRON_NETWORK = {
#自動分配的網絡
'enable_auto_allocated_network': False,
#Neutron分佈式虛擬路由器(DVR)
'enable_distributed_router': False,
#FIP拓撲檢查
'enable_fip_topology_check': False,
#高可用路由器模式
'enable_ha_router': True,
#下面三個已過時,不用過多瞭解,官方文檔配置中是關閉的
'enable_lb': False,
'enable_firewall': False,
'enable_vpn': False,
#ipv6網絡
'enable_ipv6': True,
#Neutron配額功能
'enable_quotas': True,
#rbac政策
'enable_rbac_policy': True,
#路由器的菜單和浮動IP功能,Neutron部署中有三層功能的支持;可以打開
'enable_router': True,
#默認的DNS名稱服務器
'default_dns_nameservers': [],
#網絡支持的提供者類型,在創建網絡時,該列表中的網絡類型可供選擇
'supported_provider_types': ['*'],
#使用與提供網絡ID範圍,僅涉及到VLAN,GRE,和VXLAN網絡類型
'segmentation_id_range': {},
#使用與提供網絡類型
'extra_provider_types': {},
#支持的vnic類型,用於與端口綁定擴展
'supported_vnic_types': ['*'],
#物理網絡
'physical_networks': [],
}
#配置時區爲亞洲上海
TIME_ZONE = "Asia/Shanghai"
....
將dashboard配置文件拷貝到另外的控制節點上:
scp -rp /etc/openstack-dashboard/local_settings controller02:/etc/openstack-dashboard/
scp -rp /etc/openstack-dashboard/local_settings controller03:/etc/openstack-dashboard/
3. 配置openstack-dashboard.conf
在全部控制節點操作;
cp /etc/httpd/conf.d/openstack-dashboard.conf{,.bak}
#賦權,在第3行後新增 WSGIApplicationGroup %{GLOBAL}
sed -i '3a WSGIApplicationGroup\ %{GLOBAL}' /etc/httpd/conf.d/openstack-dashboard.conf
將dashboard配置文件拷貝到另外的控制節點上:
scp -rp /etc/httpd/conf.d/openstack-dashboard.conf controller02:/etc/httpd/conf.d/
scp -rp /etc/httpd/conf.d/openstack-dashboard.conf controller03:/etc/httpd/conf.d/
4. 重啓apache和memcache
systemctl restart httpd.service memcached.service
systemctl enable httpd.service memcached.service
systemctl status httpd.service memcached.service
5. 驗證訪問
在瀏覽器訪問儀表板,網址爲 http://10.15.253.88/dashboard
注意配置文件中添加了url,需要加dashboard
使用admin
或demo
用戶和default
域憑據進行身份驗證。
域: default
用戶名: admin
密碼: Zx******