OpenStack之仪表盘服务(Dashboard)

一)Dashboard的基本

1.概念

OpenStack云计算平台可以通过命令行管理工具使用,或者其他应用通过应用程序接口被其他程序调用。但是都较为麻烦,不够直观,那么Dashboard随机应运而生了,其本质是一个web前端控制台,主要功能是让用户通过在网页上的操作完成对云计算平台的配置与管理。

2.组织架构

image.png
Dashboard是一个用Python编写的支持WSGI协议的网络应用,部署在Apache服务器上。OpenStack云计算平台及其核心组件也支持WSGI协议,因此,Dashboard可以通过WSGI与OpenStack云计算平台框架及其他组件相连。
Dashboar是无法脱离Web服务器而单独运行的Web应用(其可以理解为一个网站),它与OpenStack的其他组件都一样运行在httpd服务器中。Dashboard完成了安装后,其主要的网站文件路径为“/usr/share/openstack-dashboard”,需要将其和httpd服务器建立关系后再使用。

3.工作流程

用户通过访问仪表盘组件的Dashboard网站服务可以通过它调用各个组件的API,以达到对OpenStack云计算平台的各个组件进行管理的目的。
image.png
Dashboard唯一依赖的就是Keystone,如果Keystone服务出现问题,则Dashboard将无法登录系统。而其他组件服务出现问题时不会影响Dashboard管理其他组件,只是与问题组件服务相关的操作无法执行而已。

a-检测

安装好Dashboard后,按照下面的方法查看httpd的日志文件目录,可以看到在该目录下有两个关于keystone的日志文件“openstack_dashboard-error.log”“openstack_dashboard-access.log”,他们记录了在Dashboard运行期间对keystone的使用情况。

ls /var/log/httpd

image.png

二)项目实施

1.安装与配置Dashboard服务

以下操作在compute上执行

a-安装Dashboard软件包
yum -y install openstack-dashboard
b-配置Dashboard服务

Dashboard的配置文件为“/etc/openstack-dashboard/local_settings”.
第一步,打开配置文件

vi /etc/openstack-dashboard/local_settings

第二步,配置Web服务器的基本信息

ALLOWED_HOSTS=['*']#允许从任意主机访问Web服务
OPENSTACK_HOST="controller"#指定控制节点的位置
TIME_ZONE="ASIA/Shanghai"#将当前时区指向“亚洲/上海”

第三步,配置缓存服务
以下配置可在原有配置代码上进行更改

SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
CACHES={
    
    
    'default':{
    
    
           'BACKEND':'django.core.cache.backends.memcached.MemcachedCache',
           'LOCATION':'controller:11211',
              }
        }

第四步,启动对多域的支持
增加一行内容

OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT=True#允许使用多个域

第五步,指定OpenStack组件的版本
新增以下信息,分别对应了OpenStack的认证、镜像、存储组件的版本号

OPENSTACK_API_VERSIONS = {
    
    
    "identity":3,
    "image":2,
    "volume":3,
}

第六步,设置通过Dashboard创建的用户所属的默认域
增加一行内容

OPENSATCK_KEYSTONE_DEFAULT_DOMAIN = "default"

第七步,设置通过Dashboard创建的用户的默认角色为“user”

OPENSATCK_KEYSTONE_DEFAULT_ROLE = "user"

第八步,设置如何使用Neutron网络
在配置文件中按照以下修改“OPENSTACK_NEUTRON_NETWORK”

OPENSTACK_NEUTRON_NETWORK = {
    
    
    'enable_auto_allocated_network': False,
    'enable_distributed_router': False,
    'enable_fip_topology_check': False,
    'enable_ha_router': False,
    'enable_ipv6': False,
    # TODO(amotoki): Drop OPENSTACK_NEUTRON_NETWORK completely from here.
    # enable_quotas has the different default value here.
    'enable_quotas': False,
    'enable_rbac_policy': False,
    'enable_router': False,

    'default_dns_nameservers': [],
    'supported_provider_types': ['*'],
    'segmentation_id_range': {
    
    },
    'extra_provider_types': {
    
    },
    'supported_vnic_types': ['*'],
    'physical_networks': [],
}
2.发布Dashboard服务

Dashboard是一个Web服务,它必须运行在Apache这样的Web服务器上,所以我们需要进行一些设置

a-重建Dashboard的Web应用配置文件

Apache的默认网站主目录为“/var/www/html”,而Dashboard安装好后,其网站目录是“/usr/share/openstack-dashboard“,因此需要一个配置文件让Apace找到正确的网站目录。
以下操作在compute下执行
第一步,进入Dashboard网站目录

cd /usr/share/openstack-dashboard

第二步,编译生成Dashboard的Web服务配置文件

python manage.py make_web_conf --apache > /etc/httpd/conf.d/openstack-dashboard.conf

如果查看生成的配置文件,则可以看到运行Dashboard需要的各种参数。

cat /etc/httpd/conf.d/openstack-dashboard.conf

image.png
其中,”DocumentRoot“代表网站主目录,可以看到网站主目录已经指向了Dashboard的网站目录。

b-建立策略文件的软连接

在”/etc/openstack-dashboard"中内置了一些策略文件,他们是Dashboard与其他组件交互时的默认策略。
使用以下方法可以查看该目录下的策略文件

ls /etc/openstack-dashboard

image.png
为了让这些策略文件生效,需要将他们放置到Dashboard项目中,下面采用软连接的方式将这些策略文件放入项目。

ln -s /etc/openstack-dashboard /usr/share/openstack-dashboard/ openstack_dashboard/conf

查看Dashboard的网站目录

ll /usr/share/openstack-dashboard/openstack_dashboard/

image.png
可以看到在“/usr/share/openstack-dashboard/openstack_dashboard/”下存在一个目录conf,它是又“/etc/openstack-dashboard”映射而来的。

c-启动Apace服务器,使配置生效

第一步,设置httpd服务开机启动

systemctl enable httpd

第二步,启动httpd服务

systemctl start httpd
三)项目检测
1.登录系统

在本地主机的浏览器或者虚拟机内的火狐浏览器输入

http://192.168.10.20

尝试是否可以看到正确的界面
image.png
域名是默认的Default,用户名是admin,密码是000000,当然,这些都是之前我们设置过的,可以根据你的实际情况改写,输入正确后便可以登入
image.png

2.查看镜像

在概况界面左侧菜单选择计算–>镜像选项,进入images界面
image.png
这里的cirros镜像是之前glance组件中最后的上传的镜像,读者可以查看
至此,本章Dashboard结束

猜你喜欢

转载自blog.csdn.net/xiaoyu070321/article/details/131505007