云计算管理平台之OpenStack Web管理工具dashboard

  • A+
所属分类:linux技术
摘要

  在上一篇博客中,我们成功的基于两种网络启动虚拟机;这意味着openstack的核心服务都搭建完成,并正常运行着;有关启动虚拟机实例请参考上一篇博客;今天我们来了解下,基于一个web界面图形工具来管理openstack上的虚拟机;

  在上一篇博客中,我们成功的基于两种网络启动虚拟机;这意味着openstack的核心服务都搭建完成,并正常运行着;有关启动虚拟机实例请参考上一篇博客;今天我们来了解下,基于一个web界面图形工具来管理openstack上的虚拟机;

  openstack是iaas(Infrastructure as a Service)服务模型,所谓iaas指基础设施及服务;它的意思就是把基础设施用服务的方式通过网络对外提供;比如,我们要10台虚拟机;我们可以在openstack的web界面上点点鼠标就能给我们启动10台虚拟机,至于这些虚拟机在哪里,怎么启动的我们不用关心;我们只需要关心我们期望的10台虚拟机是不是能够正常使用,是不是我们期望的配置,网络是不是通畅;简单点讲iaas就是把基础设施以服务的方式对外提供,对用户来讲,它隐藏了基础设施的构建过程;常用的还有其他服务模型,比如saas,paas,lbaas,fwaas等等,这些都是在讲把什么抽象成服务的形式对外提供;这些服务模型的出现,大大简化了传统从底层开始构建的复杂过程;

  在上一篇博客我们主要聊了下在命令行通过命令的方式在openstack环境上启动虚拟机,通常这种方式不太适合对普通用户使用;为了让openstack易用,我们得给openstack提供一个图形界面,以实现方便任何人使用;dashboard是openstack环境中提供web界面的服务,其项目名称叫horizon,主要作用就是提供一个web管理界面,方便用户管理运行在openstack之上的虚拟机;

  1、dashboard服务的安装配置

  环境说明,dashboard这个服务可以运行在控制节点,也可以运行在其他一个单独的节点上,但是运行在单独的一个节点上,请提前配置好yum仓库,时间同步,以及主机名解析等等;有关基础环境的配置,请参考https://www.cnblogs.com/qiuhom-1874/p/13886693.html;我这里用一台独立的服务安装dashboard服务;

  安装dashboard

[root@node04 ~]# yum install openstack-dashboard -y 

  编辑/etc/openstack-dashboard/local_settings配置文件,配置OPENSTACK_HOST地址

OPENSTACK_HOST = "controller"

云计算管理平台之OpenStack Web管理工具dashboard

  提示:这里可以是主机名,可以是ip地址,默认是127.0.0.1;如果配置主机名,请提前对主机名做名称解析;

  配置任何主机都允许访问dashboard服务

ALLOWED_HOSTS = ['*', ]

云计算管理平台之OpenStack Web管理工具dashboard

  提示:*表示通配所有主机;

  配置存储session的服务为memcached,并配置memcached的地址

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

云计算管理平台之OpenStack Web管理工具dashboard

  提示:配置了memcached作为session存储服务器,下面默认的CACHES配置就要全部注释;

  启用Identity API版本3

OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST

云计算管理平台之OpenStack Web管理工具dashboard

  提示:上面红框中的配置表示把%s替换成OPENSTACK_HOST这个变量的值;也就是说OPENSTACK_KEYSTONE_URL = “http://controller:5000/v3”

  启用对域的支持

OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True

云计算管理平台之OpenStack Web管理工具dashboard

  配置API版本

OPENSTACK_API_VERSIONS = { #    "data-processing": 1.1,     "identity": 3,     "image": 2,     "volume": 2, #    "compute": 2, }

云计算管理平台之OpenStack Web管理工具dashboard

  配置default域为用户的默认域

OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = "Default"

云计算管理平台之OpenStack Web管理工具dashboard

  配置创建用户的角色默认为user角色

OPENSTACK_KEYSTONE_DEFAULT_ROLE = "user"

云计算管理平台之OpenStack Web管理工具dashboard

  配置网络相关参数,如果openstack中的neutron服务配置的的是provider network ,需要禁用对三层网络的支持,如果是self-service network保持默认即可

  默认配置是

云计算管理平台之OpenStack Web管理工具dashboard

  如果选用的是provider network这种网络模型,配置是

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,

云计算管理平台之OpenStack Web管理工具dashboard

  配置时区

TIME_ZONE = "Asia/Shanghai"

云计算管理平台之OpenStack Web管理工具dashboard

  在/etc/httpd/conf.d/openstack-dashboard.conf配置文件导入以下配置

WSGIApplicationGroup %{GLOBAL} 

云计算管理平台之OpenStack Web管理工具dashboard

  启动httpd服务,并将其设置为开机启动

云计算管理平台之OpenStack Web管理工具dashboard

  提示:以上启动httpd没有成功的原因是在node04上没有安装连接memcache的驱动,所以导致启动httpd时连接memcached找不到模块;

  安装连接memcached驱动

[root@node04 ~]# yum install python-memcached Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile  * base: mirrors.aliyun.com  * centos-qemu-ev: mirror.bit.edu.cn  * extras: mirrors.aliyun.com  * updates: mirrors.aliyun.com Resolving Dependencies --> Running transaction check ---> Package python-memcached.noarch 0:1.58-1.el7 will be installed --> Finished Dependency Resolution  Dependencies Resolved  ========================================================================================================================  Package                       Arch                Version                    Repository                           Size ======================================================================================================================== Installing:  python-memcached              noarch              1.58-1.el7                 centos-openstack-rocky               38 k  Transaction Summary ======================================================================================================================== Install  1 Package  Total download size: 38 k Installed size: 123 k Is this ok [y/d/N]: y Downloading packages: python-memcached-1.58-1.el7.noarch.rpm                                                           |  38 kB  00:00:00      Running transaction check Running transaction test Transaction test succeeded Running transaction   Installing : python-memcached-1.58-1.el7.noarch                                                                   1/1    Verifying  : python-memcached-1.58-1.el7.noarch                                                                   1/1   Installed:   python-memcached.noarch 0:1.58-1.el7                                                                                    Complete! [root@node04 ~]#  

  再次启动httpd,看看是否能够起来?

[root@node04 ~]# systemctl start httpd [root@node04 ~]# ss -ntl State      Recv-Q Send-Q               Local Address:Port                              Peer Address:Port               LISTEN     0      128                              *:22                                           *:*                   LISTEN     0      100                      127.0.0.1:25                                           *:*                   LISTEN     0      128                             :::80                                          :::*                   LISTEN     0      128                             :::22                                          :::*                   LISTEN     0      100                            ::1:25                                          :::*                   [root@node04 ~]# systemctl enable httpd.service  Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. [root@node04 ~]#  

  用浏览器访问httpd所在服务器ip地址+/dashboard,看看是否能够访问到dashboard?

云计算管理平台之OpenStack Web管理工具dashboard

  用default域demo用户帐号和密码,登录dashbroad

云计算管理平台之OpenStack Web管理工具dashboard

  查看demo用户启动的虚拟机实例,看看是否能够看到之前我们启动的实例?

云计算管理平台之OpenStack Web管理工具dashboard

  管理实例,连接实例控制台

云计算管理平台之OpenStack Web管理工具dashboard

云计算管理平台之OpenStack Web管理工具dashboard

云计算管理平台之OpenStack Web管理工具dashboard

  停止实例

云计算管理平台之OpenStack Web管理工具dashboard

云计算管理平台之OpenStack Web管理工具dashboard

  创建3个虚拟机实例

云计算管理平台之OpenStack Web管理工具dashboard

云计算管理平台之OpenStack Web管理工具dashboard

  选择镜像

云计算管理平台之OpenStack Web管理工具dashboard

  选择模板

云计算管理平台之OpenStack Web管理工具dashboard

  选择网络

云计算管理平台之OpenStack Web管理工具dashboard

  创建实例

云计算管理平台之OpenStack Web管理工具dashboard

云计算管理平台之OpenStack Web管理工具dashboard

  提示:可以看到我们想要的3个虚拟机实例创建好了;

  验证:在计算节点上,看看是否有4个虚拟机处于运行状态呢?

[root@node03 ~]# virsh list   Id    Name                           State ----------------------------------------------------  1     instance-00000001              running  13    instance-0000000e              running  14    instance-0000000c              running  15    instance-0000000d              running  [root@node03 ~]#  

  提示:可以看到有4个虚拟机处于运行状态;

  查看网络top图

云计算管理平台之OpenStack Web管理工具dashboard

云计算管理平台之OpenStack Web管理工具dashboard

  ok,到此dashboard服务就搭建好了;后续我们就可以使用这个web图形界面去管理虚拟机了;