本文讲的是Mirantis使用Kubernetes容器化OpenStack以缓解运维挑战【编者的话】Swapnil是印度著名的记者和作家,其领域横跨Linux和开源软件。同时他也是印度有名的科幻作家。本文是他采访Mirantis公司关于Kubernetes融合OpenStack方面的实践。
经过诸如AT&T、Verizon、BMW、Volkswagen and Walmart等巨头的持续治理,OpenStach正快速成为一个核心建造组件,以帮助那些正在构建以私有云为基础设施的公司。当部署OpenStack变得相对容易时,扩展,管理和运维依然面临较大的挑战。
“OpenStack存在这个问题已经由来已久了,社区并没有将足够的精力投入在解决管理OpenStack上。当云已经安装完成,如何保证它不会崩溃,如何打补丁,如何去升级?”Boris Renski,OpenStack分销商Mirantis的联合创始人兼市场部Leader在一次采访中这样说道,“由于这个原因,企业根本不能稳定地运行OpenStack。他们可以安装它,这没问题。但是过了一个月它忽然停了,然后没有任何人有线索去修复它。”
但是随着容器技术的出现,这种情况出现了一些转机。毕竟Google在容器中发布它们所有的产品。即使如Google Cloud,它是一个IaaS,也在共享式容器管理平台Borg中被发布。
“Google运行他们所有的系统,包括Google Cloud,以这种特别的方式,这种方式完美解决了困扰他们多年的问题。”Rendki接着说,“Kubernetes是他们发布的一个工具,它可以‘Google式’地运行一个大规模分布式系统”。
“我们正在采用这种‘Google式’的方法来运行软件并且使OpenStack架构现代化以贴合这种趋势,从而使OpenStack更加稳定且易于管理”,他接着说道。
通过包装OpenStack的服务使它们能够被Kubernetes管理,Mirantis正着手解决许多OpenStack的横向扩展,管理和运维等方面的挑战。使它在理论上可以像微服务一样具有很强的扩展性。
在最近的OpenStack Summit上,CoreOS发布了一款名为Stackanetes的项目,它被设计为在你的基础设施上运行OpenStack就像运行一个应用程序一样。事实上,Stackanetes使用了Kubernetes编排引擎去管理分布式的OpenStack的发布过程。
现在Mirantis正将以上相似的功能带入OpenStack中,通过一个已经存在的叫做Fuel的OpenStack项目。Mirantis通过与Google和Intel的合作重写了Fuel-这个OpenStack的生命周期管理工具-去使用Kubernetes来作为它的底层编排引擎。
就像真正的开源项目的典型做法一样,Mirantis在CoreOS对于Fule的重构的基础上开展工作。“我们将会采用一部分(CoreOS)已经完成的成果,Stackanetes就像我们与Intel和CoreOS合作开发几个月之前的东西,并且它是一个相似功能的早起验证产品,同时被构建于任何社区之外,是单独为CoreOS定制的产品”,Renski说道。“我们期待继续与CoreOS保持一开始那样的合作,即使我们已经宣布与Google和Intel展开合作以后。并且继续可以获得Stackanetes中的一些改进特性。”
根据今年早前的一个采访中,CoreOS的CEO Alex Polvi的表述,Stackanetes并不是CoreOS的产品,它是一个像Kubernetes一样的开源项目。
“在Stackanetes上,我们与包括Mirantis在内的OpenStack社区的合作由来已久。Stackanetes是一个端到端的OpenStack Nova和Kubernetes相关组件的部署管理器。我们计划继续与上游OpenStack厂商合作,”他说道。
“随着Docker作为容器镜像格式的标准和Kubernetes作为容器编排的标准的出现,我们最终看到了人们是怎样找到了分布式应用的运维之道的。将Kubernetes和Fuel进行组合将为OpenStack打开一扇全新的应用分发之门,它将带来更快的升级消耗,帮助客户获得更快的成果,”Renski说道。
根据这家公司的描述,最终的解决方案将会是一个统一的平台来管理虚拟机,容器和裸机系统。这个平台将能动态控制OpenStack的运维和生命周期管理。
“这在技术上是可行的,并且我们很兴奋的看到越来越多的OpenStack社区成员开始支持Kubernetes来发布和管理OpenStack,”Polvi说道。
随着应用被打包,用户对于服务将会获得一个细粒度的控制,使他们能够实践OpenStack的滚动更新,并使OpenStack控制面板能够自愈,更加稳定。它进一步可以让在OpenStack上创建微服务应用变得更加容易。他们将会获得一个统一的结构去同时运行虚拟机和原生容器负载。
容器化的格式同样允许Mirantis将升级后的容器持续的发布到客户的预发布环境中,客户可以将该环境提升为生产环境。
“Mirantis的OpenStack将会变成一个统一的,持续地滚动的发布版本”Renski这样说。Mirantis同样将会启动一个新的持续集成(CI/CD)管道,使用OpenStack Fuel工程来构建容器化OpenStack发布和运维的能力。
随着Kubernetes成为Mirantis战略的基石,公司将计划为Kubernetes投入更多。
“Intel和Mirantis联合开源的领导力将弥合OpenStack和Kubernetes社区之间的鸿沟,”Intel软件定义基础设施集团副总裁兼总经理Jonathan Donaldson这样说。“我们的共同努力会使两个具有互补性且强大的开源社区联姻,从而更便于企业去管理私有云”
原文链接:With Kubernetes, Mirantis Containerizes OpenStack to Ease Operational Challenges (翻译:高洪涛)
===========================================
译者介绍
高洪涛,当当网架构师,开源数据库分库分表中间件Sharding-JDBC作者。目前从事Docker相关研究工作。
原文发布时间为:2016-10-10
本文作者:高洪涛
原文标题:Mirantis使用Kubernetes容器化OpenStack以缓解运维挑战