在上一篇博客中,我们成功的基于两种网络启动虚拟机;这意味着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. 【CF1425A】 Arena of Greed题解

    原题链接 简要翻译: Mr.Chanek与另一个人玩一个取硬币游戏,他先手.玩家在自己的回合内可以取走硬币堆中的一个.如果硬币堆里有偶数个硬币,玩家也可以选择取走硬币总数的一半.两名玩家都是绝对聪明的 ...

  2. golang go语言 实现链表

    package main import ( "errors" "fmt" "strconv" ) type List struct { Le ...

  3. C/C++常用头文件

    原文来源:https://blog.csdn.net/thisispan/article/details/7470335 无聊的时候可以多看看: C/C++头文件一览C#include <ass ...

  4. C++中try&catch

    参考:   https://blog.csdn.net/xueluowutong/article/details/81257654 在c++中,可以直接抛出异常之后自己进行捕捉处理,如:(这样就可以在 ...

  5. 开始在Windows上开发Android

    介绍 鉴于您正在阅读这篇文章,您很可能已经知道android是什么了.可能.在科幻小说和电影中,机器人本质上是具有拟人化特征的机器人.还记得<星球大战>里的C-3PO吗?那<星际迷航 ...

  6. 8-kubernetes-安全

    kubernetes安全框架 访问K8S集群的资源需要过三关:认证.鉴权.准入控制,任意一个不通过都会失败 普通用户若要安全访问集群API server,往往需要证书.token或者用户名+密码,po ...

  7. php正则偷电影

    1.是将电影网站弄到自己的phpstudy下面,然后进行获取电影的一些数据,然后将其存到数据库,不要获取别人网站的数据,不然会导致网站的崩溃.

  8. 【图论】USACO07NOV Cow Relays G

    题目大意 洛谷链接 给定一张\(T\)条边的无向连通图,求从\(S\)到\(E\)经过\(N\)条边的最短路长度. 输入格式 第一行四个正整数\(N,T,S,E\),意义如题面所示. 接下来\(T\) ...

  9. Zookeeper入门看这篇就够了

    https://blog.csdn.net/java_66666/article/details/81015302

  10. sync.WaitGroup的使用以及坑

    all goroutines are asleep - deadlock 简单使用: package main import ( "sync" ) type httpPkg str ...