在上一篇博客中,我们成功的基于两种网络启动虚拟机;这意味着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"

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

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

ALLOWED_HOSTS = ['*', ]

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

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

SESSION_ENGINE = 'django.contrib.sessions.backends.cache'

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

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

  启用Identity API版本3

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

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

  启用对域的支持

OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True

  配置API版本

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

  配置default域为用户的默认域

OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = "Default"

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

OPENSTACK_KEYSTONE_DEFAULT_ROLE = "user"

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

  默认配置是

  如果选用的是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,

  配置时区

TIME_ZONE = "Asia/Shanghai"

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

WSGIApplicationGroup %{GLOBAL}

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

  提示:以上启动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?

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

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

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

  停止实例

  创建3个虚拟机实例

  选择镜像

  选择模板

  选择网络

  创建实例

  提示:可以看到我们想要的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图

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

云计算管理平台之OpenStack Web管理工具dashboard的更多相关文章

  1. 云计算管理平台之OpenStack网络服务neutron

    一.简介 neutron的主要作用是在openstack中为启动虚拟机实例提供网络服务,对于neutron来讲,它可以提供两种类型的网络:第一种是provider network,这种网络就是我们常说 ...

  2. 云计算管理平台之OpenStack镜像服务glance

    一.glance简介 openstack中的glance服务是用来存储在openstack上启动虚拟机所需镜像:它主要用于发现.注册及检索虚拟机镜像:它通过提供RESTful风格的api对外提供服务: ...

  3. 云计算管理平台之OpenStack启动虚拟机实例

    在前边的博客中,我们主要聊了下openstack的基础环境.核心服务(认证服务keystone/镜像服务glance/计算服务nova/网络服务neutron)的安装配置:回顾请查看前边的博客:今天我 ...

  4. 云计算管理平台之OpenStack认证服务Keystone

    一.keystone简介 keystone是openstack中的核心服务,它主要作用是实现用户认证和授权以及服务目录:所谓服务目录指所有可用服务的信息库,包含所有可用服务及其API endport路 ...

  5. 云计算管理平台之OpenStack计算服务nova

    一.nova简介 nova是openstack中的计算服务,其主要作用是帮助我们在计算节点上管理虚拟机的核心服务:这里的计算节点就是指用于提供运行虚拟机实例的主机,通常像这种计算节点有很多台,那么虚拟 ...

  6. 云计算管理平台之OpenStack块存储服务cinder

    一.cinder简介 cinder是openstack环境中的块存储服务,主要为运行在openstack之上的虚拟机提供块存储服务的:所谓块存储就是我们经常用的硬盘呀,U盘啊,SD卡等等这些块设备的, ...

  7. KVM Web管理平台 WebVirtMgr

    WebVirtMgr介绍 WebVirtMgr是一个KVM管理平台,让kvm管理变得更为可视化,对中小型kvm应用场景带来了更多方便.WebVirtMgr采用几乎纯Python开发,其前端是基于Pyt ...

  8. 基于SpringBoot+SSM实现的Dota2资料库智能管理平台

    Dota2资料库智能管理平台的设计与实现 摘    要 当今社会,游戏产业蓬勃发展,如PC端的绝地求生.坦克世界.英雄联盟,再到移动端的王者荣耀.荒野行动的火爆.都离不开科学的游戏管理系统,游戏管理系 ...

  9. 滴滴开源AgileTC:敏捷测试用例管理平台

    ​桔妹导读:AgileTC是一套敏捷的测试用例管理平台,支持测试用例管理.执行计划管理.进度计算.多人实时协同等能力,方便测试人员对用例进行管理和沉淀.产品以脑图方式编辑可快速上手,用例关联需求形成流 ...

随机推荐

  1. 利用 esp8266 搭建简单物联网项目

    接上一篇博客,这次还是关于 esp8266 --> 物联网 一.云端数据监控:DHT11 + NodeMcu +Dweet.io 接上一篇博客的接线及相关配置不变( DHT11 + NodeMc ...

  2. Flex、Grid、媒体查询实现响应式布局

    本篇文章主要讲述使用Flex布局.Grid布局以及媒体查询三种方式来实现响应式布局. 文章涉及代码在线coding地址 效果图: 文字描述: 屏幕大小不同,展示列数不同,1-5号按照屏幕大小可展示2到 ...

  3. Mysql安装(解压版)

    文章首推 刷网课请点击这里 刷二级请点击这里 论文查重请点击这里 WIFI破解详细教程 今日主题:Mysql安装(解压版) 环境 系统:windows10 版本:mysql5.7.29 安装过程 1. ...

  4. Mac系统下的zip压缩包解压到Windows下出现乱码的解决方法

    环境变量 环境变量是具有特殊名字的一个特定对象,包含了一个或多个应用程序运行所需的信息.(例如PATH,可执行程序的搜索路径,当要求系统运行一个程序,而没告诉系统它的具体路径时,系统就要在PTAH值的 ...

  5. ATMEGA的SPI总线 - 第2部分

    参考: 1.https://www.yiboard.com/thread-783-1-1.html 2.https://mansfield-devine.com/speculatrix/2018/01 ...

  6. Matlab中fspecial的用法

    来源:https://blog.csdn.net/hustrains/article/details/9153553 Fspecial函数用于创建预定义的滤波算子,会与imfilter搭配使用,其语法 ...

  7. MATLAB中exist函数的用法

    exist:exist主要有两种形式,一个参数和两个参数的,作用都是用于确定某值是否存在:1. b = exist( a)      若 a 存在,则 b = 1: 否则 b = 0:2. b = e ...

  8. js 基础概念

    一 执行上下文 和 执行上下文栈 执行上下文:一段javascript代码执行前的准备工作 问题一:js引擎遇到怎样一段代码才会做"准备工作呢"? 可执行代码类型:全局代码.函数代 ...

  9. 苏州6617.9373(薇)xiaojie:苏州哪里有xiaomei

    苏州哪里有小姐服务大保健[微信:6617.9373倩儿小妹[苏州叫小姐服务√o服务微信:6617.9373倩儿小妹[苏州叫小姐服务][十微信:6617.9373倩儿小妹][苏州叫小姐包夜服务][十微信 ...

  10. 实现base64的编码解码,深刻理解base64

    上代码 #include<stdio.h> #include<string.h> #include<stdlib.h> const char padding = ' ...