⑦ OpenStack高可用集羣部署方案(train版)—Horazion

十五、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

OpenStack Horizon 參數設置說明

#備份配置文件/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
使用admindemo用戶和default域憑據進行身份驗證。

域: default
用戶名: admin  
密碼: Zx******

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章