OpenStack与Kubernetes之间如何结合起来?
2017-08-01 18:08:05
Angela
  • 访问次数: 250
  • 注册日期: 2017-03-15
  • 最后登录: 2017-10-12
  • 当前积分: 1287

2017-08-01 开源云中文社区

提及OpenStack社区,我觉得大家能够从中受益最大的地方,就是一个生态系统对其他项目的支持,这也是整个社区的价值所在。


——OpenStack社区经理 Chris Hoge



OpenStack社区经理 Chris Hoge


作为本次OpenStack Days China的官方合作社区之一,开源云中文社区全程参与了大会报道,本周将陆续通过分享主题演讲、分享现场图片等方式,展现OpenStack Days China的那些精彩内容。


大家下午好!首先感谢会议主办方、赞助商、社区成员。我能够来到北京感到非常激动。大家所讲的在OpenStack当中的工作进展都非常令人激动,比如在金融、汽车制造领域的,以及OpenStack带给中国的和中国带给OpenStack的都非常多,所以要感谢在座每一位。


我是Chris Hoge,OpenStack社区经理。我们也在和其他社区合作,比如Kubernetes项目,目前OpenStack社区可以和Kubernetes一起合作。首先给大家介绍一下什么是OpenStack,什么是Kubernetes。


知道每个组织的目标是什么,才知道组织如何开展工作。


OpenStack是一个基础设施平台,是由各种项目构成的一种基础设施,包括网络、计算、存储,这都是我们非常熟知的内容。还包括其他的。其中,KeyStone、Nova、Neutron关于网络,还有其他的基础设施也是在我们的生态系统当中,比如Designate、Ironic、Barbican,还有一些高层的项目,比如Magnum是OpenStack中一个提供容器集群部署的服务。


首先看一下Kubernetes。OpenStack是一个平台给大家所需要的基础设施,Kubernetes是应用编排。Kubernetes怎么做的呢?你拿每一个不同的应用,如果是类似的,你可以放到PaaS里面,PaaS能够给你各种各样的管理,Kubernetes会在基础设施当中部署,这是在负载平衡器之后进行负载,Kubernetes有各种各样的应用,把它们在所有项目中进行合理分布。把通用问题或者社区当中面临的挑战拿掉,大家不会觉得这是一种服务。一方面OpenStack提供基础设施,Kubernetes服务于应用本身。


Kubernetes有自己的平衡器,还会取决于内部和外部的Block Storage,它也包含其他支持服务。


我们看一下OpenStack上的Kubernetes。


Kubernetes是跑在OpenStack上,就好像GCU或者AWS上一样,是以一种非常自然的方式。


Kubernetes也是一种云的提供者,当然,OpenStack也是云提供者。


作为上游云的提供者,你可以通过一个链接下载,获得这样一些资源。我们有OpenStack的社区,Kubernetes也是一样的,你可以使用OpenStack的一些经验,然后在不同的项目当中做贡献。


当然你也希望在OpenStack上用Kubernetes,这时候我们引入了MAGNUM,它给你一个API端口,用来提供容器的编排引擎,还包括其他的支持服务。通过这种方式MAGNUM能够提供给大家的是作为一种基础设施,它能够非常好的利用Kubernetes,同时它也应用了编排功能或者引擎。它能够快速、正确的形成,并且进行编排。


OpenStack是由不同的应用构成,它能够给你不同的基础设施服务。你可能会说,Kubernetes不是提供应用的吗?为什么不能在Kubernetes上跑OpenStack呢?这里有几个项目和大家分享一下,大部分都是基于Helm,我们把Helm当做一种优势,比如它有打包的服务。


在OpenStack生态系统里,我们还有Kolla项目。Kolla项目的目的有很多,第一大目标是由Docker Container专门存储各类图像,同时在生态系统框架当中使用,它有不同的项目和技术支持。它最主要的目标叫做Kolla-Kubernetes,这是基于Helm下的一种OpenStack,它有非常活跃的开发社区,有不同的公司来支持Kolla-Kubernetes项目。


除了刚才讲的之外,Kolla还有其他的社区原则,OpenStack-helm,这是在我们生态系统当中的一个非官方项目,大家可以做Helm还有Kubernetes的安装,还有OpenStack。我这里写了它的网址,大家感兴趣可以下载看看,如何在Kubernetes上做OpenStack应用,还有一些具体的例子,比如SAP、雅虎都是使用了这种方法。最后你想尝试不同的OpenStack容器的图像,那么会有一些标准要遵守,我们也在关注OpenStack其他的一些项目,这些项目都是在我们生态当中进行部署的。你可以看到它是非常接近于刚才说的Kolla-Kubernetes项目。


接下来要跟大家讲的是OpenStack和Kubernetes是如何整合放在一起的,作为独立的服务提供者。其中一个是它能够彼此之间互相提供服务,一个最主要的例子就是Cinder项目,Cinder是OpenStack的核心项目之一,它是做块存储的,在Cinder项目当中,有一个提供者界面,可以独立地进行安装或者把它当做OpenStack的核心项目之一,这里有一个API能够支持超过80个不同的安装,针对Kubernetes启动和部署有一个非常长期的、稳定的像Cinder这样的项目。所有的数据都是在后端,在单一API上进行存储,它是经过测试的、可靠的,能够与Kubernetes相兼容。


还有非常重要的一点,也是OpenStack上的一个项目Ironic,像Cinder一样或者和OpenStack生态当中的其他项目一样,可以作为开放的驱动来使用。Kubernetes的一些图像是基于Ironic设计的,其他类型的应用和服务也可以一致,通过标准的Ironic驱动我们可以自由上线服务,来管理你的基础设施,可以说这个项目能够快速地推进发展。大家如果希望能够从OpenStack、Bare Metal中同时获益,那Ironic可以说是不争的解决方案,我们可以获得Ironic非常棒的性能,Kubernetes也可以使我们获得更大的益处。


当然我们也有不同的网络应用,Kubernetes还有OpenStack的生态系统都有不同的产品。在整个OpenStack社区有一个产品Calico,Calico对OpenStack有一个专门的界面,所以说我们的容器架构,还有OpenStack架构二者是可以实现非常好的协同。提及OpenStack社区,我觉得大家能够从中受益最大的地方,就是一个生态系统对其他项目的支持,这也是整个社区的价值所在。


当然大家如果想要越来越多的参与到我们的项目当中,我强烈建议大家在我们的网站上完成注册,我们会定期发送给你相关的信息简报。我们有专门的简报定期发送到大家的邮箱当中。大家可以在OpenStack-colla、OpenStack-containers上找到我们,了解更多详细的内容。不管是上游的应用,还是容器的提供商,整个社区的合作我们都可以在这上面找到信息。如果对Colla感兴趣可以直接到IRC的Colla频道,如果大家想了解Containe信息的话,我们有一个专门的兴趣小组,这个兴趣小组是来自社区当中的很大一群开发者们,我们会不定期举办一系列讨论活动,同时也会介绍最新的内容。


我们一直希望打造Kubernetes和OpenStack开发者之间的互动,我们希望双方能够尽可能的加强配合,互相取长补短。经过过去一段时间的合作,我们取得了众多成效,强烈鼓励大家参与到我们社区当中。


Angela 最后编辑, 2017-08-01 18:08:40