Openstack Havana Dashboard测试和使用

Openstack的Havana将要2013年10月17日发布,目前Redhat和Ubuntu 的包都已经基本准备好,正式版本发布后,Redhat和Ubuntu 对新版本的支持,应该会在一个星期内就搞定。

这次我是使用Redhat的RDO来搭建 http://www.chenshake.com/centos-6-4-rdo-test/,尽量全面测试一下Dashboard的功能,让大家对Dashboard的功能有一定的了解,这也算是给Openstack做点贡献

Openstack的Dashboard,是基于OpenStack各个组件开发的web管理后台,项目名字是Horizon。目前 Dashboard并没有实现全部的API功能,很多功能可能是API提供,但是Dashboard没有去实现。同时Dashboard还欠缺不少功能, 等待大家一起完善。在Openstack的各个项目里,如果是一个小的功能,会做作为一个bug的方式去修复。大的功能,才会作为Blueprint。当 你希望做某个功能的时候,不只是把Blueprint看一遍,还需要把Bug列表看一遍,这样才能避免重复造轮。

写这个文档,我也基本尽量把各个项目的bug列表和Blueprint过一遍,加上相关的链接,各位开发者如果感兴趣,可以去修复。给 Openstack贡献代码,其实对个人的好处是很多的,能力和视野都会提高很多,在国内,如果你是某个项目的Core,那么你基本就是去各大外企都不是 问题,成为Core,并不是想象中那么高难度,尤其一些新项目。对于新手,如何提交第一个patch给Openstack,其实可以参考文章提到的各种 bug和功能,这样会更快成为一个Commiter.

 

 

Contents [hide]

  • 1 登陆

  • 2 Setting

    • 2.1 用户设置

    • 2.2 修改密码

  • 3 Admin(管理员权限)

    • 3.2.1 Domains(域)

    • 3.2.2 Projects(项目)

    • 3.2.3 Users(用户)

    • 3.2.4 Groups(组)

    • 3.2.5 Roles(角色)

    • 3.1.1 Overview(概况)

    • 3.1.2 Resouce Usage(资源使用情况)

    • 3.1.3 Hypervisors(虚拟机管理器)

    • 3.1.4 Instances(云主机)

    • 3.1.5 Volumes(云硬盘)

    • 3.1.6 Flavors(云主机类型)

    • 3.1.7 Images(镜像)

    • 3.1.8 Networks(网络)

    • 3.1.9 Routers(路由)

    • 3.1.10 Defaults(默认值)

    • 3.1.11 System Info(系统信息)

    • 3.1 System Panel(系统面板)

    • 3.2 Identity Panel(认证面板)

    • 4 Project(普通用户)

      • 4.1 创建网络

      • 4.2 创建路由器

      • 4.3 Set Gateway

      • 4.4 查看网络拓扑

      • 4.5 设置安全组

      • 4.6 创建秘钥

      • 4.7 申请Floating Ip

      • 4.8 创建虚拟机

    登陆

    Openstack Havana Dashboard测试和使用_第1张图片

    用户注册的功能,这个并不难,可以自己开发。不过目前是不支持用户找回密码,这个是需要keystone的支持https://bugs.launchpad.net/keystone/+bug/884451 ,Dashboard才能实现取回密码。

    Setting

     

    用户设置

    基本所有的系统,都是右上角 “setting” 进行用户的设置

    Openstack Havana Dashboard测试和使用_第2张图片

    对于Dashboard来说,分为3栏,项目,管理员和Settings,

    不过目前来说,用户设置里的语言和时区的设置,只是保存在cokie里,没没有存放在数据库里。默认语言是根据浏览器的语言来决定。用户的个性化的 设置,都是无法保存。因为目前keystone无法存放这些数据。你也无法修改用户的邮箱,所以也就导致你无法实现取回密码功能。https://bugs.launchpad.net/horizon/+bug/884492

    如果希望修改默认时区,你需要修改 /etc/openstack-dashboard/local_settings 文件,不过我尝试修改,重启Apache,并不生效,还没确认这是否是bug。

    #TIME_ZONE = "UTC"TIME_ZONE = "Asia/Chongqing"

     

    例如虚拟机的数量太多,需要分页,多少条一页,这个目前还是无法实现。https://blueprints.launchpad.net/horizon/+spec/v3-pagination-support

    据说这次香港峰会,会集中讨论这个问题,因为各个组件都有类似的需求。

    修改密码

     

    Openstack Havana Dashboard测试和使用_第3张图片

    在最新的H版本,用户已经可以修改自己的密码,修改完密码后,会强行退出再登陆,因为token需要update。很难想象,这样简单的功能,居然是到H版本才实现。

    密码强度要求,这个其实可以在前端去实现,不过密码过期的功能,目前是没有,这个也是需要keystone提供的功能。https://blueprints.launchpad.net/keystone/+spec/user-password-expiration

    用户操作日志也是没有的,用户的所有操作,都有消息提醒,不过这些消息,都没有记录下来,对于Dashboard来说,他是不知道记录在哪里,目前 看来应该是Ceilometer该做的事情。有一个stacktach的项目,可以将notification持久化,并且可以在web页面上进行搜索, 或者使用cli做分析。

    Admin(管理员权限)

    这个tab,只有管理员权限的用户才能访问。

    System Panel(系统面板)

    Overview(概况)

    Overview:这里会列出所有的系统的虚拟机使用情况。包括删除的虚拟机。可以下载Excel表格,其实简单的计量功能。对于起步阶段,应该是可以满足计费的需求。目前我下载的CSV,中文是乱码,这也是一个bug:https://bugs.launchpad.net/horizon/+bug/1226910

    项目名字,其实就是租户,在Openstack里,有点混乱,不同的版本,有时候是租户,有时候是project,没有接触过共有云的人,对租户的概念接触比较少,不好理解。你就把租户或项目理解成部门或者企业,租户下才有用户,用户才能设置密码。

    Openstack Havana Dashboard测试和使用_第4张图片

    Resouce Usage(资源使用情况)

    这个是H版本新增加的功能,显示系统资源的使用情况。这是通过Ceilometer实现的功能,目前Ceilometer在计量方面做的工作,还是不错的,不过在监控上,还是比较弱。估计这也是为啥目前Redhat在RDO项目里集成Nagios的原因。

    Openstack Havana Dashboard测试和使用_第5张图片

    这里就使用的租户的概念,显示磁盘,网络的使用情况。而且只是30天内,无法自己定义范围,等待日后完善吧。

    Openstack Havana Dashboard测试和使用_第6张图片

    网络的使用情况,上面都是Neutron的影子

    Openstack Havana Dashboard测试和使用_第7张图片

    Stats这个标签是重点,可以让你查看某个时间段的使用情况。等日后产生数据,再好好查看一下。

    Openstack Havana Dashboard测试和使用_第8张图片

    Hypervisors(虚拟机管理器)

    这也是H版本新增加的功能,显示物理机器的资源情况,cpu,内存和硬盘,虚拟机数量

    Openstack Havana Dashboard测试和使用_第9张图片

    不过这里其实显示的结果是有点问题。

    VCPU(total)其实是物理资源,就是cpu的核数*2 (超线程),这样的描述让人误会。提交了一个bug https://bugs.launchpad.net/horizon/+bug/1202965

    你可以使用的VCPU:nova会把物理的cpu的核数,按照默认16:1进行虚拟化,这个比例你可以自己设置。但是目前通过api,你是无法获取虚拟化的比例,导致无法正确显示。

    内存和硬盘,情况都是一样,默认内存是1.5:1,硬盘,好像是1:1

    另外还有一个小问题,就是host无法点击进入详细页面,显示更多信息,例如在这台机器的虚拟机列表。

    Instances(云主机)

    这里就是列出所有的虚拟机,并且可以对虚拟机进行操作,例如迁移,删除等。这个地方的信息比Overview详细很多。

    Openstack Havana Dashboard测试和使用_第10张图片

    Volumes(云硬盘)

    显示用户使用和创建的卷。H版本增加的Volume Types的功能,就是假设你有两种的存储,高速的SSD,和普通的SAS存储,你通过volume Type区分,用户创建卷的时候进行选择。

    管理员必须添加一个volume type,用户才能创建卷。

    Openstack Havana Dashboard测试和使用_第11张图片

    创建出来的volume type,如何和后端的存储进行绑定,我还没看明白,至少Dashboard目前是没有提供这个功能。

    卷的列表里,是可以对卷进行删除操作。

    Openstack Havana Dashboard测试和使用_第12张图片

    Flavors(云主机类型)

    这个其实看上去比较简单,其实非常复杂。目前默认有5个Flavor,你可以编辑Flavor,创建Flavor.

    Openstack Havana Dashboard测试和使用_第13张图片

    目前支持指定某个Flavor给租户使用。当用户要求的虚拟机不在Flavor里,那么你就可以使用这种方式,为特定的租户创建一个Flavor。 目前AWS,国内的青云,应该都是类似这种方式。Public=true,表示所有租户都可以使用,Public=False 表示只有某些租户可以使用。

    Openstack Havana Dashboard测试和使用_第14张图片

    普通用户是不能自己创建Flavor,也不能自己定义虚拟机的配置。不过对于私有云来说,其实是可以通过扩展一下nova的API就可以实现。这个同事已经验证,类似青云那种设计,用户可以自己定义虚拟机配置。

    Flavor extra Specs:这个地方看上去不起眼,不过很多功能和需求,都是可以通过这个地方满足,例如你希望对虚拟机的cpu资源限制,网络带宽限制,磁盘IO限制,都可以通过这里设置参数。

    Openstack Havana Dashboard测试和使用_第15张图片

    目前添加这些参数,还是非常复杂,这个Blueprint是专门解决这个问题,Intel网卡的pci_passthrough的功能,都是通过这里进行设置 https://blueprints.launchpad.net/horizon/+spec/flavor-extra-specs-templates

    Images(镜像)

    就是镜像的管理,可以上传镜像,你需要知道你上传的image是什么格式。Glance支持很多格式,但是对于企业来说,其实用不了那么多格式,你可以进行配置,具体 http://openstack.redhat.com/forum/discussion/554/havana-horizon-no-formats-available-for-images/p1

    可以使用一个ubuntu做好的image:链接填写下面地址就可以。

    http://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64-disk1.img

    Openstack Havana Dashboard测试和使用_第16张图片

    我上传了一个Ubuntu 12.04的官方提供的image。这个image的格式是QCOW2,你需要指定,否则会出错。

    Public, 就是表示该Image可以所有租户都可以看见。对于Image来说,用户自己也是可以上传image,设置是否只是自己访问,还是所有租户都可以看见。

    Protected:如果打钩,那么你在列表里就无法删除,可以避免误删除。如果需要删除,通过编辑,去掉打钩,就可以删除。

    镜像对硬盘和内存的最小需求,其实是为了日后创建虚拟机的时候,如果Flavor无法满足Image的需求的情况下,就会隐藏该Flavor。https://bugs.launchpad.net/horizon/+bug/1116122  这个功能在H版本,应该是有机会实现,作为一个Bug修复。

    可以从本地上传一个操作系统的ISO

    Openstack Havana Dashboard测试和使用_第17张图片

    我尝试上传4G的ISO,百兆的网络,火狐下,居然一点问题都没有,上传成功。

    使用ISO来安装操作系统,你需要创建一个单独的Flavor,或者修改已有的Flavor,让Ephemeral disk不为0,你才能进行安装。

    Openstack Havana Dashboard测试和使用_第18张图片

    设置Protected,就没有more的删除按钮。

    目前在image的详细页面里,image的上传时间UTC时间,而不是你设置的时区的时间。这个有待改进的地方。

    Networks(网络)

    这部分是我一直没搞明白的,借助龚永生的文档,终于搞定。这篇文档,所有打算玩Neutron,都应该好好看看。http://www.ustack.com/blog/neutron_intro/  网络部分,还有很多细节,后面逐步完善。

    这里管理员创建的网络,有点类似数据中心的接入,联通线路,电信线路。对于租户来说,可以选择不同的线路出去。不过目前路由器的出口,只能是1条线路。

    我实验有一个网络 10.1.198.0/24 专门给虚拟机的Floating IP使用,网关是10.1.198.1。如果你希望你的网络和机器的网络是一个网段,可以参考文档 http://openstack.redhat.com/Neutron_with_existing_external_network  不过我没试验成功。

    Openstack Havana Dashboard测试和使用_第19张图片

    记住要勾选External Network, 点击创建。

    进入网络的详细页面,

    Openstack Havana Dashboard测试和使用_第20张图片

    extnet的详细资料,黄色的部分,应该好好理解,我是采用RDO all in One安装,所以网络是local,

    Openstack Havana Dashboard测试和使用_第21张图片

    创建Subnet,所谓Subnet,我的理解就是Floating IP 地址池,分配公网IP给虚拟机。

    Openstack Havana Dashboard测试和使用_第22张图片

    Subnet Detail,这里是不需要设置。

    添加后

    Openstack Havana Dashboard测试和使用_第23张图片

     

    Routers(路由)

    管理员不需要创建路由器,可以查看到所有租户创建的路由器,并且进行删除。

    Defaults(默认值)

    这是系统的默认设置,目前就只有Quotas的默认设置,你可以修改这些默认设置,这样非常方便。

    Openstack Havana Dashboard测试和使用_第24张图片

    通过 Update Defaults,可以修改所有的Quota的默认设置,如果你希望对用户不做限制,那么就设置成-1.

    作为管理员,还有一个需求,可以订制安全组的默认设置,这个功能,下一个版本应该是可以加入。

    System Info(系统信息)

    系统的基本信息

    对于Openstack,有几个概念,让大家很头疼,需要搞明白

    Openstack Havana Dashboard测试和使用_第25张图片

    来源:http://kimizhang.wordpress.com/2013/08/26/openstack-zoning-regionavailability-zonehost-aggregate/

    Region:这个概念来自亚马逊,可以理解成一个地区,一个Region,其实是可以对应多个数据中心,这几个数据中心,距离应该是100公里左右。

    Availability zones(AZ):AZ,其实我的理解就是Region的某个数据中心,或者一个数据中心里,不同供电的机房单元类似的概念。

    Cell:当你的在一个数据中心大规模部署的时候,节点数量到了一定程度,那么就会有服务产生瓶颈,那么如何扩展呢?每个Cell有自己的消息队列 和数据库服务,不过所有的Cell,都是统一的Nova API接口。就是一个Region下可以有多个Cell,每个Cell里,有自己的消息队列,数据库。

    Host Aggregates:这个主要用途是设置调度,让某个image或者某个Flavor,创建在某些服务器上。

    http://russellbryantnet.wordpress.com/2013/05/21/availability-zones-and-host-aggregates-in-openstack-compute-nova/

    http://www.mirantis.com/blog/segregation-in-grizzly-availability-zones-versus-host-aggregates/

    Service

    Openstack Havana Dashboard测试和使用_第26张图片

     

    Compute Service

    Openstack Havana Dashboard测试和使用_第27张图片

    Availability Zones

    Openstack Havana Dashboard测试和使用_第28张图片

    Host Aggregates

    Openstack Havana Dashboard测试和使用_第29张图片

    Netwrok Agent

    Openstack Havana Dashboard测试和使用_第30张图片

    Identity Panel(认证面板)

    Domains(域)

    H版本增加了Domain的功能,不过Dashboard应该仅仅是显示,还没搞明白Domain的用途。

     

    Openstack Havana Dashboard测试和使用_第31张图片

    编辑

    Openstack Havana Dashboard测试和使用_第32张图片

    Domain Groups

    Openstack Havana Dashboard测试和使用_第33张图片

    Projects(项目)

    Project,相当于租户,系统内置两个租户

    Openstack Havana Dashboard测试和使用_第34张图片

    为了试验,我创建一个test租户

    Openstack Havana Dashboard测试和使用_第35张图片

    由于我现在还没有创建用户,所以别的tab不需要设置

    Users(用户)

    系统会创建很多服务的用户

    Openstack Havana Dashboard测试和使用_第36张图片

    我们这里创建一个用户:chenshake, 添加到project:test

    Openstack Havana Dashboard测试和使用_第37张图片

    Groups(组)

    你可以创建组,可以往组里添加用户,不过这个组,我是没搞明白如何使用。

    Openstack Havana Dashboard测试和使用_第38张图片

    Roles(角色)

    这是系统内置的Roles,添加roles,仅仅是添加一个名字,没有任何地方可以设置。

    Openstack Havana Dashboard测试和使用_第39张图片

    Project(普通用户)

    这里我不是使用管理员的账号,而是使用我文档上面创建的用户:chenshake 登陆进行完成。下面我就不按照菜单的顺序来介绍,而是按照一个虚拟机的创建流程来截图。

    创建网络

    Openstack Havana Dashboard测试和使用_第40张图片

    Create Network

    Openstack Havana Dashboard测试和使用_第41张图片

     

    Openstack Havana Dashboard测试和使用_第42张图片

    直接创建就可以,不需要设置subnet  detail

    Openstack Havana Dashboard测试和使用_第43张图片

    创建路由器

    Openstack Havana Dashboard测试和使用_第44张图片

    Openstack Havana Dashboard测试和使用_第45张图片

     

    Set Gateway

    Openstack Havana Dashboard测试和使用_第46张图片

    Openstack Havana Dashboard测试和使用_第47张图片

    结果如图

    Openstack Havana Dashboard测试和使用_第48张图片

     

    路由详情

    Openstack Havana Dashboard测试和使用_第49张图片

    添加Interface

    Subnet,就会显示刚才创建的网络,点击创建

    Openstack Havana Dashboard测试和使用_第50张图片

    结果

    Openstack Havana Dashboard测试和使用_第51张图片

    查看网络拓扑

    Openstack Havana Dashboard测试和使用_第52张图片

     

    设置安全组

    Openstack Havana Dashboard测试和使用_第53张图片

    默认的安全组,是拒绝所有的访问,

    Openstack Havana Dashboard测试和使用_第54张图片

    我们需要打开22端口和允许ping。

    22端口

    Openstack Havana Dashboard测试和使用_第55张图片

    允许ping

    Openstack Havana Dashboard测试和使用_第56张图片

     

    看看结果

    Openstack Havana Dashboard测试和使用_第57张图片

    创建秘钥

    Openstack Havana Dashboard测试和使用_第58张图片

    下载到windows本地。

    申请Floating Ip

    Openstack Havana Dashboard测试和使用_第59张图片

    Openstack Havana Dashboard测试和使用_第60张图片

    结果

    Openstack Havana Dashboard测试和使用_第61张图片

    创建虚拟机

    Flavor选择的时候,需要注意,不能选择tiny,因为我的Ubuntu的镜像要求比tiny大。

    Openstack Havana Dashboard测试和使用_第62张图片

    Openstack Havana Dashboard测试和使用_第63张图片

    选择网络

    Openstack Havana Dashboard测试和使用_第64张图片

    把网络添加完,就可以创建虚拟机

    Snap72

    分配floating Ip

    Openstack Havana Dashboard测试和使用_第65张图片

    选择刚才申请的IP

    Openstack Havana Dashboard测试和使用_第66张图片

    大概过1,2分钟

    Openstack Havana Dashboard测试和使用_第67张图片

    这个时候,你就可以ping通虚拟机和ssh到虚拟机上面。


    你可能感兴趣的:(Openstack Havana Dashboard测试和使用)