乘风破浪的K8s六周岁了!我们访谈了5位研发同事


2020年是K8s诞生的第6个年头,6月是K8s的生日月,全球K8s用户在这个6月里举行了各种各样的纪念活动,来庆祝这一伟大技术的诞生。K8s到今天已经成为全球最大的开源项目之一,世界各地的开发者都在为其做贡献。K8s 推动了云原生技术的发展,云原生理念深入到各行各业,从中小企业到全球知名跨国公司,K8s也已经成为他们IT生产的核心。

作为最早在产品中采用K8s技术的容器厂商之一,灵雀云与K8s有着说不尽的渊源。我们访谈了灵雀云早期的五位同事,请他们谈一谈自己与K8s 、灵雀云与K8s的故事。

1Q1:咱们公司研发是什么时候开始转到K8s上的?在评估容器编排系统时,团队之间有没有一些印象深刻的讨论?

@小L 容器平台资深研发工程师 来灵雀云5年

我们应该是16年底接到了第一个K8s的单子——某大型证券公司,当时我们还是用Mesos去拿下来的。证券客户很有前瞻性,当时形势还不是那么明朗,但很坚决地要求上K8s。于是,我们就被客户推着去交付了自己的第一个基于K8s的私有云项目。我记得我们很多人当时都去过客户现场,最终客户那边满意度挺高的,给了我们很大的肯定。

@小S 基础架构平台资深研发工程师 来灵雀云3年半

我也记得这个证券客户,当时我们公司内部刚刚做了K8s的技术调研,由于客户的推动,就开始很努力地往K8s转型,转完之后发现效果比我们想象的要好很多。

@小G 容器平台资深研发工程师 来灵雀云5年半

K8s起初给我的感觉是,不确定什么时候才会真正用在客户项目上呢。当时编排工具竞争很激烈,K8s还处于很初始的状态,Google并没有投放很大的精力,很多重要功能都是社区做的,没有人在实际生产中用过它。但其实从社区角度,K8s已经小有规模了。包括灵雀云在内的很多厂商在非常努力地让K8s变成熟。在积累了一段时间后,2017年初K8s在编排之战中胜出时,各厂商都纷纷宣布走向K8s,这时灵雀云的产品早已准备好了。

2Q2:还记得第一次接触K8s是什么感受吗?有没有哪个时刻你意识到K8s功能很强大?

@小G 容器平台资深研发工程师 来灵雀云5年半

对K8s的了解和应用分几个层次:第一层是你会用它,对核心概念里基础的关键运行机制有基础的了解,能考过CKA,更多停留在运维的层面。第二层是深度运用,能够对K8s源码级别或组件进行二次开发,参与社区建设,或者对K8s组件和相关生态的部件能熟练地运用到产品里面。我们的ACP和ACE在K8s上面后来做出了固定IP、网络租户、TLS层的网络功能、流控等功能,都成为了我们产品的亮点。

@小L 容器平台资深研发工程师 来灵雀云5年

17年K8s已经比较成熟,很多基础功能都已经具备。近两年主要是在稳定性上,以及围绕一些新的扩展做工作,比如CRD、API等。K8s能够成功主要是谷歌的理念和当时所有社区的主流观点都不太一样。它完全是谷歌的一套玩法,偏封闭。在K8s之前,谷歌开源做得并不是很好。但不一样的是,它把容器的使用经验给做成了大家都接受的标准,并将这个理念推行出去。谷歌和CNCF在宣传方面下了很大的功夫,让大家相信这就是容器的未来,让大家相信这样才是最好的。

@小S 基础架构平台资深研发工程师 来灵雀云3年半

当时好像大家都觉得不是很成熟,感觉一个新兴的东西没那么快。但实际上在17年灵雀云转型之后,发现它的成熟性、稳定性、各种设计理念各方面都很好。K8s把所有东西都弄好了,它相当于all in one,你需要按照他的理念去熟悉它、使用它、维护它就好了。

K8s基于docker,但所有的东西你都不用管,它自己抽象出了像pod这种概念,直接把Docker管起来了,多容器做成一个pod这种思想也都很好。K8s 发展这么久,那些老的组件都没怎么变化,只是在组件上不断添加新的代码而已。我们接触K8s之后发现,很多功能都已经做好了,直接去用就行了,比如控制台,可以直接控制整个集群,用一个命令行工具就可以把整个集群管理起来。

@小Y 基础架构平台资深研发工程师 来灵雀云4年

K8s的可扩展性是其他编排工具完全比不了的,记得当时接触到K8s之后,我们想实现的大部分功能K8s都有。K8s最开始更接近一个PaaS平台,它提供的功能更全面,我们后来就直接把K8s当作PaaS平台的开发框架来用,它从一开始从功能性、体验度上就是明显胜出的。

@小H 测试团队资深工程师 来灵雀云5年半

我个人感觉K8s 更直观一些,我主要做测试工作,测试时它的一些终端命令行感觉比其他的工具好很多,直接拿yaml创建,只要掌握了yaml这一套,使用时就不会遇到大问题。

3Q3:大概是什么时候开始接触开源的?如何用好社区并贡献社区?

@小G 容器平台资深研发工程师 来灵雀云5年半

我接触开源社区是从做Docker开始的,真正有深度参与感的是从K8s社区开始的。后来K8s直接成为一个事实上的标准,所有厂商都在用它,真正变成改变生产力的一个组件。K8s明显受到大家认可,社区参与力量很大,一些公司有专门的团队参与,在生产上做过各种场景,把出现缺陷的地方重新提交给社区,K8s 是完全经过生产验证的,就像上一代的Linux一样。

@小L 容器平台资深研发工程师 来灵雀云5年

Kube-OVN算是对K8s社区的一大贡献,未来希望能有更多的用户使用它,Kube-OVN目前感兴趣的客户挺多的。有一个有意思的现象,目前对Kube-OVN最感兴趣的,不是那些在容器领域浸淫很久的,而是原来做OpenStack,现在转到容器领域来的人。

我们很相信社区的力量,比如Intel对我们的帮助很大,他们不仅贡献了代码进来,而且在Openness 5G边缘计算套件中使用,这个产品也是对外售卖的,帮我们也接触到了一些客户。

@小Y 基础架构平台资深研发工程师 来灵雀云4年

我们这边看到的社区项目,基本都是围绕自定义控制器、CRD机制来开发扩展。我们也有一些组件,来自于社区的开源项目,因为K8s自定义控制器解耦做得很好,我们自己的组件和社区的组件能够以互不侵入的方式协同工作。其次,在社区你能看到更主流、更好的方案是什么,然后不断去向这个主流方案靠近。

4Q4:在产品层面,灵雀云哪个产品或者版本的发布让你印象最深刻?

@小G 容器平台资深研发工程师 来灵雀云5年半

我比较喜欢第一版产品CaaS平台,当时也是国内第一个CaaS平台。当时容器托管、CICD的功能让人眼前一亮,不仅产品逻辑好,而且用户体验很棒,CICD任务的产品化过程非常清晰,奠定了今天我们流水线的基础。从那一版开始用户体验变得越来越重要了。之前看产品,功能的重要性可能占80%,但从那之后功能和用户体验的占比恐怕是50%:50%了。

今天的ACP和ACE平台,亮点的流水线、自动化这些功能都自动延续了过来。除此之外,为了满足企业用户的需求,ACP和ACE更大的亮点体现在:稳定性和丰富完善的产品组合上,比如ACP平台包含容器平台、DevOps平台、Service Mesh平台等,能够满足用户上容器PaaS的所有基本需求。

@小S 基础架构平台资深研发工程师 来灵雀云3年半

慢慢地我们的应用开发更贴近K8s原生。K8s自己有一个控制器,我们写自己的控制器,然后用K8s原生的方式去融入到产品之中,发现好用很多,稳定性也增强很多。现在我们团队内部达成了这种共识,尽量用原生的方式去做。

@小Y 基础架构平台资深研发工程师 来灵雀云4年

印象最深的是ACP平台,在这之前,尽管架构也变了很多,但只是组件数量的变化,开发方式和整体架构上没太变。产品全新升级到ACP,实现的是平台架构和整体开发方式的变化。K8s变成一个开发平台、开发框架,在上层开发自定义的控制器、自定义的API Server。

5Q5: K8s六周岁了,从K8s技术更迭、社区发展的历程,有没有什么看法和期待?

@小G 容器平台资深研发工程师 来灵雀云5年半

我始终觉得K8s和Linux系统很像,K8s出来后,世界还是那个世界,要解决的事情还是那个事情。真正好玩的其实是应用这块。就像从3G网到4G网络,技术确实是很关键的,但让我们的生活不boring,多姿多彩的,不是这些技术本身,而是依赖于这些技术新生成的应用。K8s也是如此,精彩的是在K8s上面能开发出什么样的应用,那才是给大家带来更好体验的东西。K8s社区现在分了好多group,每个组都有不同的方向,或者是继续深耕基础架构的改进,使它更符合工业标准,或者做出更强性能、更创新的应用,总之就是在提高生产力。

@小L 容器平台资深研发工程师 来灵雀云5年

从功能角度看,K8s已经非常成熟了,演进迭代了许多个版本。对我们来说要做的可能就是怎么去把它落地,做一些特色化的东西。我吐槽一点吧,我觉得当前这个生态不太好的地方是,当有一个成型的东西在那里,大家就不会去反对它了。比如K8s生态的监控,基本上就Prometheus 一个,Service Mesh也是Istio一个,早早地确立了一个方案,那竞争也就没有了。

@小S 基础架构平台资深研发工程师 来灵雀云3年半

K8s其实是以解决你的问题为导向,你有问题他就会去解决你。这种设计思想导致遇到问题都可以用这种机制去解决,如果解决不了会有第三方的组件去适配。比如以前K8s监控做得不好,它就不做监控,让第三方去做,Prometheus就起来了,它是原生的,给K8s服务的,跟K8s的衔接也做得很好。

一方面K8s很专注,专注在容器的编排系统,另一方面它又可以提供各种网络插件,以及接口,如果都满足不了,可以去写自己的网络插件。就像我们的Kube-OVN,就是应用K8s网络的接口做的插件。K8s把灵活性、定制性完全交出去,做到充分的扩展性,它几乎可以做到你能想到的任何事情。

@小Y 基础架构平台资深研发工程师 来灵雀云4年

从我的角度来看,K8s做得已经很好了,完全是一个成熟的PaaS平台开发框架,我们想做的基本上都可以做得到。它的landscape里每一项里面都有大量的同类型产品,有些产品已经成为标准了,但还有一些领域产品非常多,且同质化严重。

后面希望看到更多项目的合并或者合作。这两年这种趋势越来越明显了,比如OpenTracing和OpenCensus合并成OpenTelemetry。Gitops的两个最大的项目,Argo CD和FluxCD年初宣布开始合作,最终目标是融合为一个产品,越来越成熟。

六年,K8s从弱小走向茁壮,从一颗广袤的大树,孕育了整片云原生森林。

K8s生日快乐!未来六年更美好!

0 个评论

要回复文章请先登录注册