自从2014-2015年开始,国内出现了以容器为核心技术的创业公司,都是看中了容器技术的发展前景。在几年前讨论容器,很多人还没意识到容器的价值,谈论的重点是对于容器本身特性的认识,比较普遍的认知就是:容器是继虚拟化技术之后的IT产业的又一大变革。这感觉就像4G之后现在有5G一样。
而在现在的IT环境中,容器、DevOps和微服务构成了铁三角,许多人认可容器是云原生时代的核心基础设施的说法,而云计算、云原生等不断迭代的IT技术之所以受到追捧,是因为能为企业直接带来价值。
容器技术对企业的价值
这些价值主要体现在哪些方面呢?一言以蔽之,就是不断优化的信息化技术能提升企业的竞争力,改变企业的业务流程,降低企业的成本,提高企业的运营效率,提升企业服务的灵活性,延展企业服务的边界。通俗点说,企业能花更少的钱办更多的事儿了。
具体点说,容器技术以及与容器紧密相关的DevOps和微服务能做到这样,比如,当一家企业需要做一个电商平台,老板要求很快上线,上线之后还要不断完善,修改的时候还要保障业务的连续性,偶尔还要搞一些促销活动,经常性的需要做很多调整,调整线上业务流程,调整应用规模,如果整体有了一定规模,那么就可以考虑容器架构了。
容器本身能给企业业务带来很大的灵活性。容器化的应用能短时间内快速开发、部署和启动起来,而且像集装箱一样容易移植,可以轻松快速扩大应用规模。因为容器化后的应用粒度可以变得更细,每次修改可以只修改很小一部分,不用对整个架构进行大的调整,整体可以实现很好的业务连续性。就是说,无论企业业务怎么变,容器相关的这些技术能快速响应企业的需求,这是企业非常理想的一种运营状态。
试想一下,容器这么好,容器化的应用自然越来越多,容器本身的管理也成了问题。管理这一问题的软件常见的有k8s还有mesos等,但最流行的,最有影响力的是k8s,k8s出身名门谷歌,k8s 1.0是2015年发布的,同一时间,谷歌与Linux基金会合作组建了云原生计算基金会(CNCF),并将Kubernetes作为种子技术。
2018年3月,Kubernetes在GitHub的Commit排名中位列第九,在参与者和issues一项方面,仅次于Linux内核,是开源界的顶级项目。k8s有非常强大的生态,包括IBM、VMware、微软、AWS、Oracle等巨头都支持它,现如今,k8s已经成了容器编排管理软件的一个标准。
作为近年来的新项目,很多软件部署起来都简便多了。k8s官网上将k8s的部署方式分为这样几类,可单机安装在本地的笔记本电脑上,可以安装在任何虚拟机里,安装在本地的裸机(裸金属)服务器里。笔者自己动手在某云平台上部署了三节点的k8s集群并且很快运行起来,前后大概花了五分钟,一个程序就运行起来了。环境依赖、配置、设置什么的统统没有,想扩大节点规模、应用规模,操作也极为简单,简直就是发现了新大陆。
企业用k8s——难
虽然部署起来很灵活,但是放在企业级环境下实际应用,对于本身的稳定性、扩展性以及安全性等方面要求会更高,如何实现高性能持久化存储?如何应对企业安全需求,如何完善用户管理、监控、告警和日志体系?总之,企业想要用得好,就得懂它,或者找到懂它的人。
不差钱的企业用户也可以选托管(让别人来管理你的集群)方式,还有交钥匙安装的云服务以及本地解决方案,当然还有定制化的服务。Tunkey-Cloud Solutions可用于企业级场景,在谷歌云平台上,k8s Engine是与App Engine、Compute Engine并列的三大计算引擎之一,在AWS、Azure、阿里云、青云QingCloud 的云平台上都有基于k8s的云服务,另外,On-premises的方案也适用于企业级环境,许多国内的初创公司在容器服务平台服务中提供k8s服务。
用k8s从来都不容易,当你觉得容易的时候,肯定有人在承受属于你的那份不易。
青云QingCloud 应用及容器平台研发总监周小四
青云QingCloud 应用及容器平台研发总监周小四是一位前IBMer,他表示,原以为学习了解一下k8s大概需要两三个月就可以了,但实际上,最后居然前后用了一年时间。实际应用中,企业很难花时间和精力去培养一个懂k8s的人,因此,这类服务就显得非常重要了。
k8s本身可类比于Linux kernel,各家提供的k8s服务就像是各个linux的发行版一样,最关键的内核还是k8s本身,各家服务商的基础特性和功能都一样,在此基础上,还要做很多额外的工作,周小四介绍说,k8s只负责底层,上层的服务不管,这对企业客户来说肯定是不够的。企业要的是DevOps、微服务治理等,他们要很多的功能,这些Kubernetes都没有。
青云QingCloud 的k8s服务——KubeSphere,让企业快点用上容器
青云QingCloud 是一家非常企业级的云计算公司,有公有云也有私有云方案,青云QingCloud构建的容器服务加上一整套企业级的应用方案,能构建完整的解决方案,对用户来说,用了青云QingCloud 的容器解决方案,可以同时用到青云QingCloud 的别的企业级服务,企业可以快速构建容器化架构,更快地体验到容器能为企业带来的价值。
青云QingCloud 有天然适合微服务的分布式存储QingStor NeonSAN。周小四介绍说,第三方调研还有自己与用户沟通的结果表明,微服务一定要用分布式存储,而QingStor NeonSAN天然适合微服务,在性能、稳定性、安全性上远高于开源存储。KubeSphere产品经理于爽表示,QingStor NeonSAN是基于k8s开放标准CSI开发的,这种开放性标准可以让存储插件一键部署到KubeSphere平台上。
相信很多人会好奇,容器化的存储,或者说在容器里用存储会不会有什么问题?青云QingCloud 的测试数据显示,容器环境下的SSD企业型硬盘和QingStor NeonSAN性能与原来虚拟机下的性能相比没什么区别。
QingCloud SDN可以为k8s服务提供多租户的能力。周小四表示,青云QingCloud 的SDN在私有云和公有云都得到了验证,其性能、稳定性均高于开源的网络方案。
KubeSphere 提供的日志服务有租户隔离特性,用户只能看到自己应用的日志,而且可以进行可视化操作,这些是k8s没有的。青云QingCloud 针对k8s在日志多租户方面的修改获得了一定认可,在即将举办的KubeCon上,青云QingCloud 的专家会介绍这一部分内容。
KubeSphere的应用商店提供容器化的应用服务,可为企业提供一键部署、开箱即用的中间件和上层工具,帮助企业快速用上容器化的应用。用户也可以把自己代码库或者github上的代码直接拉到平台上完成容器化操作,非常方便快捷。
KubeSphere有非常友好的界面设计,能让用户在可视化页面体验到DevOps,实现快速迭代,快速发布功能,快速定位问题修改bug,减少开发和运维人员的无意义操作,提高开发部署效率,帮助企业落地DevOps。
国内做k8s解决方案的有很多,同类产品竞争还是很激烈的,为了差异化优势,青云QingCloud 遵循这样的原则,首先,要让KubeSphere可部署在任何的Kubernetes集群上,同时,也给用户充分的自由空间去尝试各种不同的管理平台。另外,KubeSphere开发的模块要具备可配置、可插拔的特性,在预配置了常用的应用的基础上,用户可以自由配置想用的功能模块。
总结下来就是。KubeSphere对k8s的一些方面做了优化和完善(比如日志还有监控系统方面),面向企业应用,青云QingCloud 有一套完整的企业级架构,KubeSphere在考虑照顾原有应用的基础上,将新的DevOps、微服务等新概念引入到企业级应用中,为了降低企业转变的门槛,青云QingCloud 抽象了复杂的操作管理,将其变成设计友好易用的UI界面。
结语
有人说k8s是又一个Linux,将k8s用在企业环境下确实很难,k8s的服务平台则提供了较为完善的功能服务,这种服务平台其实就是k8s的发行版,它将成为k8s落地的重要力量。企业想用k8s很难,笔者认为,类似KubeSphere这样的平台是个不错的选择。