Kubernetes
是Google开源的容器集群管理系统或者称为分布式操作系统。它构建在Docker技术之上,为容器化的应用提供资源调度、部署运行、服务发现、扩容缩容等整一套功能,本质上可看作是基于容器技术的mini-PaaS平台。
Kubernetes的目标
是让开发者可以像管理产品一样管理服务,同时提高资源的利用率,让开发者更关注在应用开发本身,高可用的事情交给Kubernetes。
实际上,Kubernetes的英文原意
是指用来操纵和控制船舶航向的船舵,这也是为什么Kubernetes的Logo是一张船舵图片的原因。
谷歌之所以选择这样的图标作为Logo,是希望Kubernetes能够像掌控船舵的舵手一样,成为容器编排航行道路上的引领者。而Kubernetes也并没有令谷歌失望,仅仅经过两年多的发展,已经快速成长为容器编排市场的主导者,业界公认的容器编排与调度的事实标准,每一项技术创新都牵引着容器技术的突破和发展,而Kubernetes也迅速成为IT技术人员的最爱,大家都亲切的称它为K8S。
不过
就像众多原生云技术一样,Kubernetes也是由国外企业开发出来的一款产品,其话语权自然应该是牢牢掌握在外国厂商手里。
但是
早在2017年的Kubernetes 社区首届指导委员会 (Steering Committee) 竞选中,华为就从 15 家候选厂商 / 组织 (共 20 名候选人) 的激烈角逐中脱颖而出,获得 Kubernetes 指导委员会席位,华为云 PaaS 服务产品部技术副总裁 Quinton Hoole 更是成功当选指导委员会委员。而这是中国厂商首次在容器开源领域中获得的技术委员会席位,也表明了Kubernetes对华为在容器开源领域长期贡献的高度认可。并且云原生计算基金会(Cloud Native Computing Foundation,CNCF)也宣布华为成为全球首批Kubernetes认证服务提供商(Kubernetes Certified Service Providers ,KCSPs)。这意味着华为在开源云原生领域的贡献和经验也受到了认可。我们在为华为云感到高兴和敬佩同时,不禁要问,华为云靠什么征服了Kubernetes?
主要是以下三点
华为获得 Kubernetes 指导委员会席位
一靠积极贡献
华为是Kubernetes最早的采用者之一。从2014年起就开始参与K8S社区,在2015年,华为就立足于Kubernetes构建完整的PaaS产品(即‘FusionStage’),并且为此投入重注,而当时Kubernetes才刚刚完成 beta 测试。
而正是如此早的涉入Kubernetes,使得华为有足够的时间发现并解决Kubernetes存在的一些问题和不足。也正因为如此,华为才能为Kubernetes社区持续贡献。
目前,华为拥有5个Maintainer,多名工程师投入CNCF基金会项目,向社区贡献Patch 1800+,在对Kubernetes社区的贡献中,华为整体贡献在国内厂商中位居第一;从Commits维度看,华为贡献国内排名第一,全球排名第五(数据统计来源cncf.biterg.io)。在Kubernetes中参与调度、多集群联邦、架构、安全等SIG的贡献。除此之外,在Kubernetes SIG(Special Interest Groups, 负责子领域路标制定及技术方向决策)及Working Group(主导跨SIG大特性方案设计)中,华为也积极参与Federation、Architecture、Auth等10余个SIG及Resource Management、Container Policy等3个Working Group方案讨论及设计。同时华为也是首批获得KSCPs(Kubernetes认证服务提供商)资质的厂商之一。
二靠持续创新
然而,仅仅凭借先发优势是不够的,只有在此基础上持续创新,并不断回馈社区,才能最终获得Kubernetes 社区的认可。
CNCF基金会提供的云原生技术全景图将服务划分为七大类别,包括:开发与集成、编排与管理、运行时、资源与镜像、云基础设施层、平台层和监控分析。而华为云云原生服务栈目前已覆盖全部七大类别,包括PaaS类服务:云容器引擎CCE,微服务引擎CSE、应用性能管理服务APM、函数服务FunctionStage、应用编排服务AOS、镜像仓库服务SWR、一站式微服务应用管理ServiceStage、API网关服务、企业级中间件和软件开发云等。
其中, CCE是一个开放的原生Kubernetes平台,是华为云在创新方面杰出表现的一个代表。2017年11月13日,云原生计算基金会 (Cloud Native Computing Foundation, CNCF) 宣布华为云 的 云容器引擎 CCE (Cloud Container Engine) 正式通过 “Kubernetes软件一致性认证”。而本次认证是继华为云获得全球首批Kubernetes认证服务提供商(KCSPs)资格后,华为云在开源云原生领域的努力和贡献再一次得到认可和肯定,也意味着华为云在PaaS服务领域的领先地位得到进一步巩固。
华为云 CCE 能够快速跟进K8S社区版本,基本上是三个月会更新一次版本。在Kubernetes商用增强方面,CCE聚焦于K8S集群的自动化配置、部署上线的整个流程。社区原生工具不支持管理面HA、多集群管理较薄弱,未考虑公有云复杂和大规模场景;CCE也支持多种异构资源,包括虚机、X86裸金属和ARM服务器等。同时,CCE结合客户应用场景,提供一站式DevOps、灵活自动弹性伸缩、丰富的应用调度特性等。
而新上线的华为云CCE 2.0更是在以下三方面进行了大胆的创新:
① 裸金属容器。华为结合自身硬件与操作系统优势,推出国内业界首发的物理机容器部署特性,通过OS内核级加强,保证了在裸金属物理服务器上运行的容器足够安全、可靠、稳定,完美支持对高性能有要求的AI、深度学习、游戏等行业。
② iCAN容器网络。华为公司有深厚的网络技术积累,网络可以做到协议层的优化。Flannel是K8S原生所带的网络插件,对比而言华为iCAN性能可以提升20%以上。iCAN网络也可以做到灵活配置,K8S社区的网络多租隔离也是华为在主要贡献。
③ 支持有状态应用。CCE对接到华为云上多种存储,包括对象存储、块存储等,数据也可以保存到开箱即用的容器化数据类中间件,具备持久化存储能力。
华为云 CCE 正是依靠这样的创新,将自身数十年的硬件与网络积累与容器技术相结合,在云原生领域不断的探索和创新,一步步的在Kubernetes 社区得到认可和肯定。
三靠丰富实践
作为 Kubernetes最早的采用者及全球首批Kubernetes认证服务提供商,华为云积极将Kubernetes实践能力与深度积累应用于多个业务场景,推出云容器引擎CCE。
华为云还基于企业应用上云实践的深度理解,总结了“三类场景,七种方案”:传统业务快速上云->企业业务SaaS化->企业业务轻资产化敏捷创新。涵盖了从企业业务上云到业务轻资产化运作与NoOps的全云化之路。三类场景是一个递进的关系:首先是传统业务如何快速上云,可以自动并简化运维,持续快速创新。其次是企业业务上云后的SaaS化,解决多租和服务化问题,从卖license到卖服务的转变。最后是企业业务进一步轻资产化,核心是更敏捷Serverless技术,强调业务轻资产化运作、NoOps和更细粒度的按需使用。
而这种丰富的应用实践,也是华为云最终获得Kubernetes社区认可的重要原因之一。
今年开源社区 Apache 软件基金会孵化器项目管理委员会 ASF IPMC宣布,源自华为云企业级微服务引擎CSE的开源项目 ServiceComb全票通过进入 Apache 孵化器。
随着越来越多像华为这样的中国企业更多的参与到开源社区的建设中,我国开源技术发展的明天将会越来越美好。
原文地址:http://blog.51cto.com/13762283/2300474