OpenStack Kilo版本新功能分析——Horizon、Nova、Glance
问题导读
1.Horizon新增哪些功能?
2.如何激活向导式创建虚拟机?
3.Nova Scheduler做了哪些改变?
4.Glance新功能有哪些?
static/image/hrline/4.gif
Horizon新功能
Horizon在K版本除了增强了对新增模块的支持,从UE的角度也为我们带来了很多新功能
支持向导式的创建虚拟机,现在还处于beta版本,如果想在Horizon里激活,可以通过设置local_setting.py的配置实现:
LAUNCH_INSTANCE_NG_ENABLED = True1
支持简单的主题,主要通过修改_variables.scss和_style.scss完成对主题颜色和简单样式的修改,但是格局不能改变,修改local_settings.py
CUSTOM_THEME_PATH = 'static/themes/blue'1
$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
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的版本,在请求时也能决定是使用的具体的动作。包含版本的返回:
GET /
{
"versions": [
{
"id": "v2.1",
"links": [
{
"href": "http://localhost:8774/v2/",
"rel": "self"
}
],
"status": "CURRENT",
"version": "5.2"
"min_version": "2.1"
},
]
}1234567891011121314151617
客户端的Header信息:
X-OpenStack-Nova-API-Version: 2.1141
一个已知的问题:Evacuate这个问题的产生主要是因为Evacuate的清理机制,主机名的变化会导致nova-compute重启过程中误删所有虚拟机,所以一个变通的方法是设置
destroy_after_evacuate=False1
这个问题会在Liberty中得到修复,相关的Spec:https://review.openstack.org/#/c/161444/3/specs/liberty/approved/robustify_evacuate.rst
Glance新功能
自动进行镜像格式转化,例如,Ceph是使用RAW格式的,假如我们上传的是QCOW2,创建虚拟机时,就会经历一番上传下载的过程,速度异常缓慢。而且RAW格式通常都是原始大小,上传时候非常慢,完全可以通过上传小镜像自动转换为指定格式。
Glance支持多字段排序
/images?sort_key=status&sort_dir=asc&sort_key=name&sort_dir=asc&sort_key=created_at&sort_dir=desc1
[*]临时将镜像设置为非活跃状态,假如一个镜像里有病毒,管理员就会将该镜像设置为非活跃状态,在清理后重新发布该镜像,在这个过程中,所有非管理员用户都无法使用或者下载这个镜像
[*]免重启动态加载配置文件,配置文件改动后重启服务,现在可以给glance服务发送SIGHUP触发,这样升级就可以零当机时间。
[*]使用多个Swift容器存储镜像,减少大规模部署时的请求瓶颈
页:
[1]