详解OpenStack Kolla项目进展

OpenStack Newton版本预计在10月8号发布,作为部署的工具——Kolla,其发布日期预计在10月20号左右。那么,此次发布会带来哪些新的变化呢?

8月4号至8月底,Kolla团队为其进行了134个节点的测试,整个测试过程均记录在案。

  • 安装操作系统过程:

https://github.com/osic/ref-impl/blob/master/documents/bare_metal_provisioning.md

  • 测试过程:

https://review.openstack.org/#/c/352101/11/doc/scale-testing.rst

  • 测试用例:

https://review.openstack.org/#/c/352101/ 主要是通过Rally来测试。
此次测试基本上将Kolla项目中的BP进行统一梳理。

针对Kolla项目来说,国内OpenStack社区的开发工作早已同期进行,其参与度与积极性很高。Kolla的项目大约是56个(数量在不停变化),其项目包括管理、安全等。但真正需要Kolla去集成的项目,即对用户有使用价值的,不超过30个(Kolla基本覆盖了大帐篷管理下的全部项目)。

  • OpenStack projects are governed by the OpenStack Technical Committee.

http://governance.openstack.org/reference/projects/index.html

  • 每个项目的详细信息

https://git.openstack.org/cgit/openstack/governance/tree/reference/projects.yaml

Core项目

Keystone

对于keystone来说,有两项内容比较重要,一是ldap认证。该认证已经“merge”,只需配置便可以实现。对于企业级用户来说,该功能很有必要。

https://review.openstack.org/#/c/340141/

另外一个是fernet token,同样地,fernet token重点,势必将会“merge”。

https://blueprints.launchpad.net/kolla/+spec/keystone-fernet-token

Nova

就Nova的目前状态来说,算是比较完善的,后续还需添加NFV的特性。

https://blueprints.launchpad.net/kolla/+spec/kernel-hugepage-config

Glance

Glance变化不大,只是分出一个项目Glare,专门提供特殊的源服务。目前尚在开发中,希望通过该项目可以完善各种App Store的安装问题。

Cinder

Cinder的问题,即插件的问题。如果需要支持并运行其他厂商的存储,或者同时支持多个存储。Cinder中的backup功能即可实现,但其缺乏相关的UI来实现管理。

补充:Cinder底层的Ceph部署,已经可以支持外部Ceph的整合,这算是一个很大的进步。

Neutron

目前,Neutron对OVS和linux bridge的支持都是非常不错的。同时,vlan和vxlan也不存在问题。Neutron中的3个插件:、firewall、lbaas,lbaas已经完成,正在进行中。

https://blueprints.launchpad.net/kolla/+spec/neutron-aas-agent
补充:
(1)“service function chaining with neutron”是非常热门的话题,也是PTL重点关注的内容,非常有希望被“merge”。

https://blueprints.launchpad.net/kolla/+spec/enable-networking-sfc-support

(2)ovs dpdk的代码提交。

https://blueprints.launchpad.net/kolla/+spec/ovs-dpdk

(3)opendaylight集
成。
https://blueprints.launchpad.net/kolla/+spec/opendaylight-support

Swift

Swift没有测试且swift api支持Ceph的功能还尚未实现,需要下一个版本来具体支持。https://blueprints.launchpad.net/kolla/+spec/swift-ceph-backend

基础项目

该“基础项目”可为其他项目进行互相调用。但对于企业用户来说,使用不多。

Tempest

不明觉厉,Tempest项目居不是OpenStack“大帐篷”下的管理项目,但究其项目的重要性,专门针对功能测试的Tempest,无人不知、无人不晓。

目前,Kolla已经可以支持Tempest项目。在安装完成OpenStack后,便可直接使用Tempest来进行测试。

Horizon

从作者角度来说,Horizon也应属于Core项目。但对于Kolla来说,需要解决的最大问题,就是各个项目的“Dashboard”,如何放置进去?同是因为在Docker下,“放置”工作不会简单。

补充:OpenStack Newton版本已经对Horizon的缓存设置实施了优化,但还是希望提升速度,更快一些。

Heat

Heat在OpenStack中的地位,是非常高的。虽然用户使用该项目不多,但许多项目都需要调用它。作者认为,Heat项目也是应该纳入到Core中。

补充:Kolla项目中的PTL,即是Heat中的PTL。所以Heat集成工作,没有任何障碍。

Desigate

Dns服务的受关注度不高,但其重要性在逐步提高。在各个OpenStack项目代码里,均在集成Dns。

补充:Trove、sahara、murano项目中,都需要使用到dns服务。目前,Kolla也在积极推进。

https://blueprints.launchpad.net/kolla/+spec/ansible-designate

Barbican

该项目很少被人所知,但由于Barbican与安全相关(秘钥管理),其重要性不言而喻。所涉及的项目是keystone和Magnum,还包含Cinder卷的加密,也需要在Barbican来存放。

Barbican是Kolla PTL所重点关注的内容。

https://blueprints.launchpad.net/kolla/+spec/barbican-ansible

Watcher (Infrastructure Optimization)

该项目很“新”,在OpenStack Newton中Kolla已经能够支持它。希望可以通过Kolla,让更多人了解该项目的先进性。

Rally

Rally是一个测试项目,在当前版本下,不仅需要Docker file,还需要ansible roles来支持才可以实现。

功能项目

功能项目,顾名思义,为了给用户实现某个功能而设立的项目。

Telemetry

这是OpenStack争议最大的项目之一(该项目之前的名字是Ceilometer,现已改名),分为3个组件:ceilometer 收集数据、gnocchi (聚合数据)和aodh (报警服务)。另外,该项目还需要依赖MongoDB和gnocchi,并可以借用grafana来展示相关数据。

对于Kolla来说,OpenStack Newton版本中,其相关组件的代码均已完成,等待“merge”。

Cloudkitty

这是计费项目,与Telemetry结合,实现计费的相关功能。该项目尚未看到成功案例,但从代码上分析,项目发展积极,可以通过gnocchi来取数据计费。
作者认为,在私有云中非常需要计费功能。
https://blueprints.launchpad.net/kolla/+spec/cloudkitty

Murano

Kolla在mitaka版本已经集成该项目,但因为Horizon集成的问题,一直都没有使用起来。在Newton版本中,可以解决掉Horizon的插件问题,为其做好一切准备工作。

Murano可以提供app 列表(具备针对行的CI、CD)。其中,Murano可以提供docker的app store(该功能尚不完善)。

Ironic

物理机器重于管理,故Ironic也是热门项目之一。在Newton版本中,ironic可以实现多租户的管理工作。

Kolla在Mitaka版本就已经可以支持ironic,目前kolla社区考虑安装操作系统,采用ironic的单机版本Biforst来实现相关内容。

https://blueprints.launchpad.net/kolla/+spec/bifrost-support
补充:PTL希望尽快合并该项目,便可以去实现134个节点的测试工作。

Magnum

Magnum是OpenStack管理COE的项目,且非常热门。但Kolla上的Magnum还存在bug,以至于无法运行起来(需要重点修复)。同时,我们还期望该项目能够与barbican进行对接,实现秘钥管理。

https://bugs.launchpad.net/kolla/+bug/1551992

补充:修复该项目bug任重道远,我们拭目以待。

Sahara

在红帽的发行版中,Sahara项目已获得正式支持,这说明了该项目已经成熟,且代码也已经提交。

https://blueprints.launchpad.net/kolla/+spec/sahara-role

补充:作者希望该项目能够早日“merge”, Sahara是可以实现同ironic进行对接。同时,Mirantis的Fuel虽已产品化,但相关的调试工作量会很大。

Senlin

该项目由IBM发起,目前中国移动已经开始使用。

https://blueprints.launchpad.net/kolla/+spec/senlin-container

补充:其相关代码已提交,等待是否能够被“merge”。

Trove

现如今,IaaS层已经在逐步往PaaS层发展,并提供相应的各种服务。Trove即使如此,主要负责数据库的相关服务,但该项目的成熟度尚不是很高。

https://blueprints.launchpad.net/kolla/+spec/ansible-trove

Manila

Kolla在Mitaka版本中,就可以实现对Manila的支持,但由于没有通过测试,要运行起来,还需要大量的工作,即修复各种bug。

Solum

Solum是为开发者提供以Docker作为开发工具的项目。目前九州云99Cloud曹威在极力推动该项目的具体工作。
https://blueprints.launchpad.net/kolla/+spec/solum-support

Freezer

Freezer是提供备份服务的项目,但该项目的开发进度不理想,其参与人也不是很多。目前Kolla尚未考虑Freezer,也没有提及BP。

Congress (Governance service)

社区代码已经提交,等待“review”。

https://blueprints.launchpad.net/kolla/+spec/enable-congress-container

Mistral (Workflow service)

Mitaka版本中,该项目已经支持,但使用的人较少,存在bug需要修复。

Zaqar (Message service)

该项目是消息队列服务,但在Newton版本是无法实现支持,只能期待下一个版本。

Searchlight (Search service)

Searchlight是给Horizon提供搜索服务的一个项目。

https://blueprints.launchpad.net/kolla/+spec/searchlight

网络

Kuryr

Kuryr是OpenStack专门解决容器网络问题的项目,但到目前为止,该项目还不能支持keytone V3。Kolla社区已经做了大量的工作。其中集成的内容也很多,包括consul、etcd等。

https://blueprints.launchpad.net/kolla/+spec/kuryr-docker-plugin

Tacker (NFV Orchestration service)

九州云99Cloud龚永生对该项目已经提交BP。

https://blueprints.launchpad.net/kolla/+spec/tacker-support

Dragonflow

海云捷迅马力提交BP。

https://blueprints.launchpad.net/kolla/+spec/dragonflow

监控和日志

对于Kolla来说,所谓监控即容器的监控。在容器的范畴里,监控方案有很多。区别于传统的OpenStack监控(只有Nagios和Zabbix)。Kolla监控的项目都是OpenStack以外的项目。

ELK

社区在Mitaka版本中,将Logstash换成了Heka,不过目前Heka已经不再更新,社区希望寻找一个Go开发的手机端。但是,无论怎样,节点上所有的容器日志收集,都是比较完整的(目前只是Kibana的图,没有实现默认配置)。

补充:作者考虑,如何把Fuel上的Kibana图放到Kolla上的Kibana呢?

性能监控

社区的方案如下:

https://blueprints.launchpad.net/kolla/+spec/performance-monitoring

该项目可以采用telegraf、influxdb、grafana来实现,未来可以被“merge”。
补充:另外一个方案sensu

https://blueprints.launchpad.net/kolla/+spec/sensu

九州云99Cloud 陈沙克

你可能感兴趣的:(详解OpenStack Kolla项目进展)