分享

OpenStack Kilo版本新功能分析——Horizon、Nova、Glance

yuwenge 发表于 2015-5-13 23:05:33 [显示全部楼层] 只看大图 回帖奖励 阅读模式 关闭右栏 0 25765

问题导读

1.Horizon新增哪些功能?
2.如何激活向导式创建虚拟机?
3.Nova Scheduler做了哪些改变?
4.Glance新功能有哪些?







Horizon新功能

Horizon在K版本除了增强了对新增模块的支持,从UE的角度也为我们带来了很多新功能
支持向导式的创建虚拟机,现在还处于beta版本,如果想在Horizon里激活,可以通过设置local_setting.py的配置实现:


[mw_shl_code=bash,true]LAUNCH_INSTANCE_NG_ENABLED = True1 [/mw_shl_code]

0.png

1.png


支持简单的主题,主要通过修改_variables.scss和_style.scss完成对主题颜色和简单样式的修改,但是格局不能改变,修改local_settings.py
[mw_shl_code=bash,true]CUSTOM_THEME_PATH = 'static/themes/blue'1 [/mw_shl_code]


[mw_shl_code=bash,true]$gray: #2751DB !default;

$gray-darker: #94A5F2 !default;

$gray-dark: #0C0CED !default;

$gray-light: #C7CFF2 !default;

$gray-lighter: #DCE1F5 !default;

$brand-primary: #375A7F !default;

$brand-success: #00bc8c !default;

$brand-info: #34DB98 !default;

$brand-warning: #F39C12 !default;

$brand-danger: #E74C3C !default;1234567891011

// Blue

// ----

@mixin btn-shadow($color) {

@include gradient-vertical-three-colors(lighten($color, 3%), $color, 6%, darken($color, 3%));

filter: none;

border: 1px solid darken($color, 10%);

}

// Buttons ====================================================================

.btn-default,

.btn-default:hover {

@include btn-shadow($btn-default-bg);

}

.btn-primary,

.btn-primary:hover {

@include btn-shadow($btn-primary-bg);

}1234567891011121314151617181920 [/mw_shl_code]

2.png

3.png



Nova新功能
Nova Scheduler
  • 标准化了conductor,compute与scheduler的接口,为之后的接口分离做好准备
  • 对Scheduler做了一些优化,例如:Scheduler对于每一个请求都会重新进行Filters/Weighers,为了优化这个问题,将filter/weighter的初始化从handler移到scheduler,这样每次请求的时候都可以重新使用了。
  • 在下一个版本的时候,Scheduler将会分离到Gantt,所以在这个版本中为分离做了一些准备
Libvirt NFV相关功能
  • NUMA(Non Uniform Memory Architecture),在这个架构下,每个处理器都会访问“本地”的内存池,从而在CPU和存储之间有更小的延迟和更大的带宽。
  • 在Kilo版本中针对此功能的实现包括:基于NUMA的调度的实现;可以将vCPU绑定在物理CPU上;超大页的支持。以上提到的三点都是通过Flavor的Extra Spces完成定义的。
EC2 API
  • EC2 API被从Nova中踢出去了
  • 取而代之的是在stackforge的EC2 API转换服务
API Microversioning
先来解释一下为什么需要API的微版本:主要原因在于现在这种API扩展方式,对于API实现的代码的增加或减少管理非常不方便,容易导致不一致性。引入微版本主要目的就是让开发人员在修改API代码时能够向前兼容,而不是加入一个新的API扩展;用户通过指定API的版本,在请求时也能决定是使用的具体的动作。
包含版本的返回:


[mw_shl_code=bash,true]GET /

{

"versions": [

{

"id": "v2.1",

"links": [

{

"href": "http://localhost:8774/v2/",

"rel": "self"

}

],

"status": "CURRENT",

"version": "5.2"

"min_version": "2.1"

},

]

}1234567891011121314151617 [/mw_shl_code]

客户端的Header信息:
[mw_shl_code=bash,true]X-OpenStack-Nova-API-Version: 2.1141 [/mw_shl_code]

一个已知的问题:Evacuate
这个问题的产生主要是因为Evacuate的清理机制,主机名的变化会导致nova-compute重启过程中误删所有虚拟机,所以一个变通的方法是设置

[mw_shl_code=bash,true]destroy_after_evacuate=False1 [/mw_shl_code]

这个问题会在Liberty中得到修复,相关的Spec:https://review.openstack.org/#/c/161444/3/specs/liberty/approved/robustify_evacuate.rst

Glance新功能

自动进行镜像格式转化,例如,Ceph是使用RAW格式的,假如我们上传的是QCOW2,创建虚拟机时,就会经历一番上传下载的过程,速度异常缓慢。而且RAW格式通常都是原始大小,上传时候非常慢,完全可以通过上传小镜像自动转换为指定格式。
Glance支持多字段排序


[mw_shl_code=bash,true]/images?sort_key=status&sort_dir=asc&sort_key=name&sort_dir=asc&sort_key=created_at&sort_dir=desc1 [/mw_shl_code]


  • 临时将镜像设置为非活跃状态,假如一个镜像里有病毒,管理员就会将该镜像设置为非活跃状态,在清理后重新发布该镜像,在这个过程中,所有非管理员用户都无法使用或者下载这个镜像
  • 免重启动态加载配置文件,配置文件改动后重启服务,现在可以给glance服务发送SIGHUP触发,这样升级就可以零当机时间。
  • 使用多个Swift容器存储镜像,减少大规模部署时的请求瓶颈




















没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条