在上一篇博客中,我们成功的基于两种网络启动虚拟机;这意味着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. Android 字符串的常用操作

    目录 Substring 基本语法 IndexOf 基本语法 Split 基本语法 Substring 基本语法 str.substring(","); //从第一个,号开始截取 ...

  2. Mac 效率工具必备神器 —— Alfred

    前言 alfred 这款软件称为「神器」真是当之无愧.今天专门总结一下,作为之前 Mac 配置教程-开发篇 的补充. 需要说明的是,如果你发现我介绍的功能无法使用,则代表需要花钱购买它的 Powerp ...

  3. 02 ArcPython的使用大纲

    一.什么情况下使用ArcPython? 1.现有工具实现不了,可以用python 2.流程化需要时,可以使用python 3.没有AE等二次开发环境 4.其他特殊场景 二.ArcPython在ArcG ...

  4. c++中 #define和const的区别

    来源参考:https://blog.csdn.net/yi_ming_he/article/details/70405364 这个区别用从几个角度来说: 角度1: 就定义常量说的话:  const 定 ...

  5. Arduino PID Library

    Arduino PID Library by Brett Beauregard,contact: br3ttb@gmail.com What Is PID?   PID是什么 From  Wikipe ...

  6. 【题解】SP10570 【LONGCS - Longest Common Substring】

    \(\color{Red}{Link}\) \(\text{Solution:}\) 还是\(\text{Suffix Tree.}\) 根据\(\color{Blue}{Link}\)我们可以得到一 ...

  7. Java基础系列-RandomAccess

    原创文章,转载请标注出处:https://www.cnblogs.com/V1haoge/p/10755424.html Random是随机的意思,Access是访问的意思,合起来就是随机访问的意思. ...

  8. IDEA推送docker镜像到私服/利用dockerfile-maven-plugin插件在springboot中上传镜像到远程的docker服务器、远程仓库

    利用dockerfile-maven-plugin插件在springboot中上传镜像到远程仓库      这篇文章讲解在开发工具中把打包好的jar编译成docker镜像,上传到远程的docker服务 ...

  9. 35岁老半路程序员的Python从0开始之路

    9年的ERP程式开发与维护,继而转向一年的售前,再到三年半的跨行业务,近4的兜兜转转又转回来做程式了,不过与之前不同的,是这次是新的程序语言Python, 同时此次是为了教学生而学习! 从今天开始,正 ...

  10. MeteoInfoLab脚本示例:FY-2C 云分类HDF数据

    脚本程序: #Add data file fn = 'D:/Temp/hdf/FY2C_CLC_MLT_NOM_20070730_1800.hdf' f = addfile(fn) #Get data ...