奥斯汀OpenStack Summit第二天,一大波分享来袭,先来看看当天的主要内容:
图片解读:OpenStack基金会COO分享全球五大行业五大OpenStack案例,OpenStack已经深入行业应用;德州大学奥斯汀分校借助OpenStack进行科学计算;在公有云方面,OpenStack也同样发展迅速,OVH分享了他们的实践;Intel在OpenStack的分享同样精彩,实现了24秒内部署一万个容器应用。下午,来自UnitedStack有云的分享《The Way to Enterprise Openstack Deployment as a Service》获得了极大肯定。
演讲 | The Way to Enterprise Openstack Deployment as a Service
来自UnitedStack有云的分享《The Way to Enterprise Openstack Deployment as a Service》获得了极大肯定,我们将分享这部分内容,下载现场PPT。
图注:图左为UnitedStack有云研发总监余兴超,图右为UnitedStack有云网络组PTL王为
OpenStack 从奥斯汀出发,6年后又回到这里,部署工具已经超过十项,但仍然是热点话题。
1、OpenStack部署工具简史
回顾OpenStack部署工具的历史,要从DevStack开始,基于CMS的工具包括openstack-ansible、openstack-chef以及puppet-openstack;基于命令行的工具
Packstack和Python+Puppet;还有更利于用户操作的Web工具Fuel、Juju和Compass;以及看上去很美但是配置有挑战的应用OpenStack组件来部署的TripleO,还有近来最火的基于容器的部署工具Kolla、OSA、Ansible+Docker、Ansible+LXC。这些工具在部署OpenStack集群中的应用情况如何?从用户调查报告可见一斑:Puppet和Ansible应用位于前列。
一眼看去部署工具非常热闹,但是仔细想来却很不妥。之所以存在这么多的工具恰恰是因为每个工具都有痛点,导致新的工具出现来解决这些问题。那么,我们应该回到问题的最核心,用户想要什么?繁多的部署工具是否适合所有用户的需要?
2、目前OpenStack部署的通病
升级:升级软件虽然简单,但是如何保证服务在线升级仍然运行良好,这是一个问题。
兼容性:完美的兼容性只是来自实验室环境,在实际应用当中复杂的应用环境将使OpenStack部署变得异常艰辛。
自动化:一键部署是最离理想的情况,但是实际过程中任何一个问题都可能打断自动化流程,需要人工介入。
3、所以如何解决呢?
滚动升级
确定性测试
YAML定义架构
开发测试工具,比如,之前并入社区的Steth工具就是一个典型。
UnitedStack有云研发的CTask,是UOS用来自动检测软硬件环境,以及自动部署和配置UOS云台的工具。集成Ansible、Foreman、Puppet三大工具模块并实现相互协作,具备更加简便、且具备高效快速部署能力。未来我们会就CTask内容在微信中进行详细解析,敬请期待!
内行看展
分享者:索广宇,UnitedStack有云平台开发部PTL
这是昨天的一份作业,Austin Summit第一天,参加了9点钟的Keynote,演讲主题是Embracing Datacenter Diversity,会场有好几千人,一大部分都是OpenStack的代码贡献者,气氛十分热烈。印象比较深刻的是AT&T获得了本次峰会的的超级用户大奖,AT&T在全球有75个OpenStack生产环境,在Mitaka也有很大的贡献,尤其在网络和NFV上贡献突出;还有就是Mirantis的Boris以诙谐幽默的语言讲解了公有云和私有云都会遇到的一些问题,并且从市场的角度对比分析了现在IT市场的潜在的巨大价值。
Keynote结束之后,就开始了Session演讲,不过相较以往不同的是今年的Summit又多了一项活动,叫做OpenStack Academy(OpenStack学院),即进行几天的培训,然后进行考试,获得OpenStack的管理员认证。
上午参加了一个和Keystone相关的Session,主要介绍了Keystone的Hirerachical Multitenancy(多层级多租户)功能,虽然Keystone早就引入了Domain(域)的概念,并且早就支持Multitenancy(多租户)功能,但是帐户体系一直是一个扁平的架构,不能适应比较复杂的帐户体系,后来引入了Hirerachical(多层级)的概念,即租户是可以有层级关系的,租户组成了一个树形的结构,一个Project可以有父Project,并且可以有子Project,多层级的设计再加上之前早就实现的权限继承功能,就可以对整个租户树进行灵活的权限管理。多层级功能的引入导致了Quota的一个问题,之前Quota都是和一个Project关联的,Project与Project之间没有直接的关系,但是在有多层级功能之后,整个租户树的Quota就不能够控制了,在父Project之下建立子Project,就可以无限扩大Quota的值,因此又引入了Netsted Quota的概念,即所有子Project的Quota之和不能超过父Project的Quota,这很好的控制了一个租户树的资源数量。Keystone的帐户体系在不断的增强和完善。
下午先参加了一个和Ceilometer/Gnocchi/CloudKitty相关的Hands-on workshop,由这些项目的PTL和Core Member进行的一个培训,现场教大家安装集成这些项目,目的是提供一个完整的计费服务,通过手动安装这些项目,能够让新手对这些项目有更好的了解。
下午还参加了一个和Heat相关的Session,主要介绍了Heat的一种新的架构,叫做Convergence,这个新的架构是为了增强Heat的稳定性,扩展性和性能。以前创建一个stack,完全是由一个heat-engine进程从头到尾来负责创建的,也就是heat-engine是以stack为单位进行操作的,如果在创建stack的过程中,heat-engine被重启,那么这个stack就会创建失败;如果一个stack很大,那么可能会给单个heat-engine进程造成比较大的负载,十分影响性能。因此在新的架构下,heat-engine不再以stack为单位进行操作,而是以resource为单位进行操作,一个stack是由多个resource组成的,也就是将heat-engine的操作粒度细化到了resource,这样创建一个stack,就是由多个heat-engine合作进行的,再加上合理的resource依赖,能够在一定程度上提升性能和稳定性,这个新的架构主要功能在M版中已经完成。除此之外,还介绍了一个新的功能,就是要添加一个新的heat组件,叫做observer,这个组件的作用,是为了确保当前已经创建好的stack的状态和模板文件中的描述的状态是一致的,observer会周期性的调用这些资源所在服务的接口去检查这些资源的当前实际状态,如果发现有资源状态和模板文件中描述的状态不一致,则会采取措施对资源进行操作,使其和模板中描述的状态进行同步,通过这种方式来确保stack的状态一致性。
预告:美国时间周三下午1:50-2:30,UnitedStack有云的追风少年团的陈迪豪将带来主题为《The Way To Enterprise OpenStack Deployment as a Service》的演讲。敬请期待!