故事的开头是这样滴,话说有一天,老孙正在浏览网站,突然被一条消息所吸引, EasyStack在德国柏林举行的CloudNativeCon+KubeCon容器大会上,正式发布了基于Kubernetes技术的容器集群产品ESContainer。此举使得EasyStack同红帽、Mirantis一道成为全球三大同时具备OpenStack和Kubernetes(K8S)产品的专业开源企业,也是中国首个OpenStack+Kubernetes专业开源企业。
听到这条消息,老孙的确有些意外,因为在过去的一段时间中,对容器的兴趣常常被认为是一种对OpenStack的威胁或者说至少是一种替代性的选项。有些业内人士甚至认为, Kubernetes和Mesos等容器管理平台将会抵消用户对OpenStack的需求,因为用户可以管理自己的基础设施,从而对OpenStack层没有了需求。
因此,一家一直玩OpenStack的厂商,突然宣布发布基于Kubernetes技术的容器集群产品,似乎是有些自相矛盾。也许是猜到了大家的疑虑,EasyStack迅速组织了一场媒体沟通会,以就此事与媒体进行沟通,而老孙也带着自己心中的疑惑来到了EasyStack位于著名的后场村路的办公室。
“用容器、Kubernetes或者是Mesos结合来替代类似OpenStack之类的基础架构云的想法,从其定义上就是错的“,EasyStack联合创始人兼CTO刘国辉在媒体沟通会的开头就开门见山的指出了容器并非是要替代OpenStack。
为了证明这个观点,刘国辉解释道,“因为当我们回过头来看容器的先驱谷歌,它当初推出Borg并不是为了解决基础架构的问题,而是要解决应用、大规模集群、无人值守、不需要坚守以及自动升级的问题。因此,将容器定位于替代OpenStack,自然很难有好的结果,也无法与客户建立起共识。”
刘国辉继续说道:“实际上,基于我们这么对对容器的理解,对行业关键用户落地的经验,再加上我们已有的云,我们发现如果想要全面完善的解决用户目前面临的诸如网络、存储、硬件、资源池、自服务、容灾等问题,仅仅依靠容器是无法解决的,需要多种能力的融合。
其一是PasS平台的能力,这个PaaS平台不是传统仅仅提供IT基础设施的PaaS平台,而应该是将应用层基础设施、自动化、集群等这些能力合二为一的PaaS平台,它需要能够很好的解决存储网络一体化、多租户虚实结合等诸多问题,只有这样才有可能把容器集群的能力充分发挥出来。
其二是容器集群的管理能力,这个容器集群的管理能力也不仅仅是单纯的针对容器集群的管理,而是与基础架构资源管理的深度融合。而基于在ESCloud方面的经验、优势,以及对Kubernetes的深入研究,我们发现,Kubernetes在设计初衷,设计理念、集群调度方面确实有很多独到之处,而我们也发现Kubernetes无论是在社区的活跃度还是在增长势头等方面都呈现出比较强劲的趋势,所以我们从去年开始就制定了基于kubernetes技术研发一款可以融合OpenStack基础架构资源管理能力的容器集群管理器的路线,但由于需要解决一些关键问题,因此,直到今年,我们才正式推出了这款产品。”
刘国辉表示,EasyStack观察Kubernetes或者容器已经很长时间了。但EasyStack认为,想要达到最佳的效果,能够解决关键问题,需要有一个共识,这个共识其实在逐步的凝聚过程当中,早了不行,晚了也不行。所以甚至在公司创立之前,EasyStack就在审视这个技术,但那时Kubernetes在技术、用户、企业级方面都发展的不太成熟,而直到今天,各方面的条件已经成熟, 这款产品才得以推出。
EasyStack创始人兼CEO陈喜伦对刘国辉的观点进行了总结,他表示,EasyStack之所以推出基于Kubernetes技术的容器集群产品ESContainer,第一是技术和战略的前瞻性,第二是基于客户的实践和需求,第三,是面向未来。
陈喜伦表示,目前,技术发展的趋势是以开源技术为核心的新一代的产品和新一代的服务,因此EasyStack还是要坚持从开源社区入手,这也是EasyStack决定在除了OpenStack之外,选择在Kubernetes社区进行投入的原因。而技术和战略的前瞻性、基于客户的实践和需求、面向未来则是EasyStack未来发展的三大核心战略。
技术和战略的前瞻性,即合适的时候推出合适的产品,任何一个新技术,特别是互联网产生的技术,首先会在大型互联网公司应用,然后是更多互联网公司应用,最后是企业级应用。而当企业开始应用的时候,就是推出产品的最佳时机。
此外,EasyStack不希望将一个闭源和锁定的产品交给客户,而是希望是以开源技术为核心,以社区的方式,紧随国际社区战略来推广产品,而这是EasyStack的Kubernetes产品的一个特点。
而这三大战略具体到Kubernetes就是OpenStack+Kubernetes,产生1+1>2的效应。而这种1+1>2的效应,在Linux+OpenStack上就曾经发生过,可以说,没有Linux就没有OpenStack。而Linux+OpenStack之所以能够发生1+1>2的效应,是源于进入一个新的时代需要一个新的云端操作系统、新的Kernal,新的平台来解决大规模技术数据中心的一个基础资源资源化的问题,而纵观OpenStack过去的发展,本质上也就是在解决大规模技术数据中心的一个基础资源资源化的问题。而当前,企业目前面临着应用互联网化,应用分布式化,应用满足弹性和Scaleout等诸多问题,这也需要一个新的系统,新的平台来解决,而这就是OpenStack+Kubernetes所担负的使命。
陈喜伦继续说道,技术演变过程的本质,从来都是从基础设计标准化、层次化,在向上一层层“搭积木“的过程。人工智能,云计算如果没有基础大数据的支撑,只能是空中楼阁。其实EasyStack所做的事情只不过是从基础层面体现了IT基础核心技术的逐步标准化过程。对EasyStack来说,从一开始,就没有仅仅把自己定义为一家OpenStack公司,走出Kubernetes这一步,是公司创办核心战略的更充分的体现,未来大家将会看到EasyStack更多的基于开源技术的产品和服务的推出。基于开源技术为企业客户,特别是大型企业客户提供满足这些企业下一代应用的产品和服务是EasyStack的大战略。简单来说,就是EasyStack的一百多家企业级客户,其中多数客户也需要Kubernetes,EasyStack就是要解决最后这一公里的应用的问题。
陈喜伦最后总结,EasyStack对Kubernetes是长期的战略性投入,而不是机会主义。实际上2016年下半年开始EasyStack就相继加入了CNCF基金会和OCI基金会,这是EasyStack一个全面的布局。
在谈到具体的ESContainer产品时,刘国辉表示,无论是Kubernetes,还是Mesos,确实不一定需要直接构建于一个类似于OpenStack的基础架构云之上,但关键的是,云必须具备一定的能力才能称之为云,因为我们不仅仅是需要用这个技术去构建一个应用,而是需要用这个技术包装、调度、DevOps、自动化整个开发、构建、运维、部署应用的全过程,这是云的最大价值的体现。但是,仅仅依靠Kubernetes或者Mesos,这种能力是无法得到完全体现的。这是因为Kubernetes或者Mesos缺乏解决诸如运行环境,网络、数据持久化、上线、监控、备份、多租户、资源池塘弹性供给等等一系列问题的能力。而OpenStack对于基础架构管理方面的能力则补上了Kubernetes的这块短板,因此,EasyStack推出了将OpenStack和Kubernetes能力融为一体的ESContainer。
陈喜伦补充道,要做好容器或者Kubernetes的管理,需要基础设施,如计算、网络、存储等各方面的良好支持,而目前看来,要达成这种良好的支持,最好的方式就是把OpenStack的核心模块拿来支撑容器的场景,这叫1+1>2。而更多的用户是愿意拥抱一个基于Linux容器的管理平台的,这也就是为什么会有超过一半的用户愿意用OpenStack+Kubernetes来部署容器的最主要原因。实际上,从用户的角度来看,要解决容器更快的满足企业应用的需求,更多的需要解决基础层面支撑的问题,而OpenStack基础服务和云的支撑能力加上Kubernetes解决应用的问题,就可以解决这些问题,总之, Kubernetes+OpenStack或者Kubernetes+基础云服务能发挥1+1>2的效应,是云服务未来发展的一个大趋势,这也是OpenStack基金会和Kubernetes基金会所达成的共识。
陈喜伦表示, OpenStack可以管物理机,也可以管理虚拟机和容器,Kubernetes进行容器方面的调度。而实际上,Docker、OpenStack、Kubernetes只有通过一体化才能更好的满足企业各种各样的应用形态的需求。因为容器是一类工作负载,虚拟机是一套工作负责,物理机也是一套动作负责,但是企业并不希望存在多套基础架构,而是需要统一化,OpenStack基金会给EasyStack的定义也是One Platform for Next Generration,这同时也是EasyStack的一个核心战略,从这些层面来说,EasyStack也应该给用户提供一个整体的平台方案,而ESContainer就是这样一个平台。
据老孙了解,ESContainer 采用面向应用角度的设计,自身提供应用管理服务,方便用户在平台中集中管理发布容器化应用;对于有状态应用场景进行优化,方便用户构建多层微服务化应用;支持无 Overlay 纯二层网络等多种网络方案,容器应用与虚拟化应用网络直通;增强监控与日志,面对庞大的容器集群,ESContainer还提供了增强的多级的监控、日志管理。
ESContainer 面向企业级容器化应用的管理和编排场景,产品提供包括自动化部署、强化的管理界面、应用商店,多级监控、支持虚拟机、可视化编排、物理机资源池的混合部署,并且与EasyStack的企业级OpenStack平台ESCloud 深度融合,无缝的使用 ESCloud 提供的计算、网络和存储资源以及丰富的软件基础设施,为云计算从以资源为中心到以应用为中心打通了最后一公里。
值得一提的是,EasyStack云计算内核ESCore 还专门为ESContainer进行裁剪与优化、提供适合容器运行的定制化操作系统,能够为容器集群带来更高密度的运行能力,同时提供了更加稳定高效的底层环境。
ESContainer最大的特色是能够让Kubernetes与OpenStack深度融合,带来1+1>2的能力:ESCloud 专注于数据中心基础设施的管理和支撑传统应用业务的运行,ESContainer专注于为企业新型应用的改造提供一站式平台,两者结合优势互补,成为新型的异构数据中心基础设施平台,为企业提供创新源动力。
1)ESContainer和ESCloud融合,Kubernetes 使用 OpenStack Keystone 作为用户管理系统,用 Keystone 作为统一用户管理平台,打通两个平台的认证体系。
2)ESContainer可使用 OpenStack Cinder 卷作为持久存储后端,这样能充分利用OpenStack 中已广泛支持的开源或主流商业存储设备,为容器提供持久存储能力,弥补目前 Kubernetes 对商业存储设备支持力度不够的问题。
3)ESContainer可使用Neutron LoadBalancer 作为服务的外部负载均衡器,充分提供对外服务的高可用性。
4)ESContainer可直接使用 Neutron 二层网络作为网络驱动,用 Neutron 统一管理虚拟机和容器网络,减少多层 Overlay 带来的性能损失;同时由于虚拟机和容器处于同一个子网中,可做到虚拟机和容器应用的二层网络直通,适用于企业中传统业务和云原生业务共存并需要直接数据交换的场景。
5)ESContainer可在裸金属以及虚机中部署容器集群,可根据容器集群的整体负载情况,快速弹性扩缩不同级别的资源池。
此外,ESContainer还可使用 Ceph 作为持久存储后端,为容器提供持久数据卷存储。
PS:学习Mesos的开发者们有福啦,Mesosphere联合创始人兼CTO ,Marathon的主要作者Tobi Knaup将于5月18日和19日在CCTC 2017上面和广大技术爱好者面对面交流,他曾是Airbnb的第一位工程师以及技术带头人,编写了Airbnb的大部分程序,包括搜索以及欺诈预测功能。在他的努力下,Airbnb的用户承载量达到百万级,并拥有世界一流的工程师团队。登陆官网,了解更多大会信息