【原文编者的话】
OpenStack是搭建私有云平台的事实标准;而Kubernetes作为谷歌集群管理系统Borg的开源版本,在容器集群管理方面前景光明。本文重点介绍了红帽在深度整合OpenStack和Kubernetes的尝试。
这个星期,在波特兰召开的OSCON 2015会议上,我们同谷歌以及其他成员一起庆祝了Kubernetes 1.0的发布以及CNCF(Cloud Native Computing Foundation)基金会的建立。其中,红帽、谷歌和其他一些公司都是CNCF基金会的创始成员。Kubernetes是一个开源系统,用于管理容器化应用,容器化应用为部署、维护以及扩展应用提供了基础机制。这个项目最初由谷歌创建,现在由一个充满活力的社区开发,红帽也是开发者之一。
作为Kubernetes和OpenStack的重要贡献者,我们很非常欢迎谷歌能够加入OpenStack基金会。我们期待继续与谷歌以及其他开发者一起工作,将Kubernetes的容器编排、管理功能与OpenStack的基础设施管理功能结合起来。
Kubernetes在2014年6月创建后,红帽很快就加入了这个项目,并且投入了大量资源,现在红帽是这个项目中除了谷歌之外的***代码贡献者。最近发布的红帽的“平台即服务”系统——OpenShift v3,被视为容器编排与管理的框架,该系统就是围绕Kubernetes构建的。
作为OpenStack基金会的创始成员,我们一直致力于使用Project Atomic简化容器主机的部署和管理任务,同时使用Heat编排引擎在OpenStack基础设施之上搭建Kubernetes集群。
为了这个目标,红帽工程师创建了heat-kubernetes编排模板,帮助加速Kubernetes与底层OpenStack基础设施更深层次的整合。这个模板仍在持续改进,这样可以支持容器管理的其他方面,例如自动扩展,这一点在最近的Red Hat Summit进行了演示。请看视频。
Heat-kubernetes模板最终也利用了OpenStack Magnum项目, 这个项目提供了一个OpenStack API, 而该API可以使用包括Kubernete在内的容器编排技术搭建一个容器集群。这样做的目的是使容器成为OpenStack中像虚拟机、裸机这样的“一等公民”,这样容器能够与在它上面运行的其他由OpenStack管理的虚拟机、裸机主机以及容器共享多租户基础设施资源(例如网络和存储)。提供这个级别的整合需要提供并扩展OpenStack现存的Kubernetes插件,同时定义新的插件API以维护解决方案的技术独立性。所有这些都需要保持应用与底层基础设施的独立性,并且保持真正的开放混合的云操作。类似的,在OpenStack这一端,需要一些附加工作,使得基础设施服务能够支持容器负载的应用场景,并去除应用负载与底层硬件之间的冗余,从而优化性能并提供安全操作。
Magnum和OpenStack Container Team提供了一个切入点,来协同多个upstream项目以及OpenStack生态系统内的项目的研究和开发,从而提供丰富的基于OpenStack的容器实践经验。
作为OpenStack和Kubernetes的主要贡献者,我们红帽期待与OpenStack、Kubernetes社区以及我们在谷歌的技术伙伴合作,继续整合这些让人激动的技术,管理“未来的数据中心”。