![](http://www.ctiforum.com/uploadfile/2018/0605/20180605020051373.jpg)
除了技术分享,本次大会也非常重视客户案例,包括Spotify、维基百科、Booking.com、Youtube、阿迪达斯、金融时报、eBay、挪威税务管理中心等企业客户将前来分享他们在生产环境中如何使用容器及其周边技术。
![](http://www.ctiforum.com/uploadfile/2018/0605/20180605020927656.jpg)
Kubernetes 商用成熟
多云成为必然趋势
Kubernetes作为CNCF的核心项目,也是第一个顺利进入商用Ready的项目,围绕它的生产实践分享成为本次大会的一大焦点。
CERN
在第一天的Keynote上,来自欧洲核子研究中心(CERN)的生产实践案例分享惊艳了全场。
作为世界上最大的粒子物理研究中心,CERN有着非常庞大的计算需求。在一个自建的数据中心,CERN已经搭建了210余个K8S集群来调度、管理拥有32万核、1万多hypervisor的基础设施。这些集群部署规模大小不一,最小的只有几十个节点,而最大的已经到了上千节点。
为了便于统一管理这些集群中的工作负载,CERN使用了K8S Federation(集群联邦)作为统一的平台入口。同时CERN还在华为伙伴公有云Open Telekom Cloud、Google Cloud、Azure、AWS等云平台上创建K8S集群并接入了他们的平台,以便于快速响应技术峰会等大型活动期间暴涨的计算量。
欧洲粒子研究中心的专家分享
使用集群联邦管理k8s多集群的案例
在两个或更多的云平台上创建K8S集群,并部署工作负载,已经成为许多K8S采用者的常规做法。较之以往,用户可以相对容易地在云平台上同时部署业务,并享受到不同云平台的优势。
不难发现,当下基于Kubernetes的容器服务,已经几乎成为各家云平台标配的服务。得益于K8S软件一致性认证项目的推动,越来越多的厂商将提供认证的K8S发行版作为基本要求。多云的支持,已成为必然趋势。而随着CloudNative的发展,相信在不久的将来,以K8S为核心的云原生平台将真正实现“Cloud Agnostic”。用户可以真正轻松地实现,跨云、跨集群的Workload自由迁移。
![](http://www.ctiforum.com/uploadfile/2018/0605/20180605021029457.jpg)
核心与基础问题已经解决
如何消除Cloud Native背景下的安全焦虑
过去的两年是CNCF的创业期,社区以Kubernetes和容器技术为平台核心,围绕可观测性,可运维性,微服务发现等领域进行能力补齐,构建了灵活易扩展的基础平台。
随着容器、微服务等技术被越来越多地采用实施和运行于生产环境,越来越多的人关注到新兴技术背景下的安全问题。如何消除这些顾虑,也正是CNCF在接下来发力的重点。
![](http://www.ctiforum.com/uploadfile/2018/0605/20180605020238443.jpg)
gVisor
Runtime方面,Google带来了他们自己的安全容器方案 —— gVisor。gVisor提供新型沙箱容器运行时环境,能够在保证轻量化优势的同时,提供与虚拟机类似的隔离效果。
gVisor通过在用户空间内拦截应用程序系统调用并充当访客内核(guest kernel)来提供隔离边界。此外,gVisor不需要固定资源,它能够随时适应不断变化的资源条件。
gVisor项目为容器安全性提供了新思路,丰富了安全容器技术的生态,虽然距离商用还有一段路要走,但就将安全容器推向主流市场而言,它未来带来的帮助无疑会是巨大的。
![](http://www.ctiforum.com/uploadfile/2018/0605/20180605022001857.jpg)
Kubeflow发布0.1版本
大幅降低机器学习框架部署门槛
近年来,机器学习的发展可谓突飞猛进。如何发挥Kubernetes的优势,将其作为部署平台来提供便捷、可扩展的机器学习框架,是其中一个重点话题之一。Kubeflow项目的发起,正是试图找到一种最简便的开源解决方案。
![](http://www.ctiforum.com/uploadfile/2018/0605/20180605020331886.jpg)
Kubeflow
自去年北美的KubeCon + CloudNativeCon宣布项目成立之后,Kubeflow已经吸引了来自包括Google、微软、Redhat、华为、阿里云等在内的20多个组织的70多名贡献者贡献了700多条代码提交,并获得了3.1k的star,增长速度之快跃居Github前2%。
本次发布的0.1版本提供了一套最精简的软件包,方便用户开发、训练和部署机器学习框架。
在之后的几个月里,Kubeflow项目将致力于0.2的发布。到今年年底Kubeflow发布1.0版本之后,kubeflow项目将寻求一个正式的治理社区,托管在CNCF或其他社区下。
![](http://www.ctiforum.com/uploadfile/2018/0605/20180605022247661.jpg)
Service Mesh持续走俏
Istio 引领大潮
企业上云,容器和微服务是两大利器。容器屏蔽了应用对环境的感知,简化了软件包分发的一致性问题,避免重复劳动。而转向微服务的架构,屏蔽了应用对服务的感知,可以使业务团队更专注于自身专业领域。而关于如何做负载均衡、熔断和遥测等等问题,都可以通过Service Mesh卸掉。高度的聚焦可以大幅度提高生产力。
Istio
Istio作为最有希望成为Service Mesh事实标准的项目,自去年5月份发布以来,凭借与K8S的深度集成、零侵入性、易扩展等优势,加以Google、IBM等大厂商支持,迅速走红。在不到一年的时间里获得了8000+的star,吸引到近200个贡献者参与代码开发,成为去年以来K8S生态中最火热的项目。
本次大会中Istio的一大话题是多云和多集群。K8S在多云之间提供了一致的平台环境,但是如何实现跨云、跨集群的服务发现和流量控制却一直悬而未决。
在K8S Federation项目中,有一个简单版的实现——本集群优先路由。而Istio在最新发布的0.8版本中提供了多集群支持的特性,补齐K8S在多集群场景下的服务管理能力。
![](http://www.ctiforum.com/uploadfile/2018/0605/20180605022305818.jpg)
Serverless领域发布事件
标准CloudEvents 0.1
随着云技术的发展和广泛采用,应用程序变得越来越分散,集成的数量不断增长,基于事件驱动的架构和Serverless的概念随之兴起。
为了解决Serverless的互操作性问题,CNCF Serverless工作组自去年年底完成白皮书之后,便致力于Serverless事件标准规范——CloudEvents的制定。开源玩家华为,谷歌,微软,IBM,红帽等,都积极投入其中,为该项目做出了巨大的贡献。
![](http://www.ctiforum.com/uploadfile/2018/0605/20180605020802125.jpg)
本次大会上发布的CloudEvents 0.1的范围很简单:
- 提供一组一致的元数据,可以将其包含在事件数据中,使事件更容易适用于发布者、中间件、订阅者和应用程序。简而言之,就是一个标准的事件信封。
- CloudEvents的通用元数据使得事件更易于路由,扇出,追踪,重放,并且基本保持“在线”。它们更便携,更流畅,更易于跨平台传输。目前,网络带宽,成本和延迟仍然是主要挑战,但CloudEvents简单的元数据定义已经可以在诸多场景中为数据带来不错的可移植性。
![](http://www.ctiforum.com/uploadfile/2018/0605/20180605022400267.jpg)
聚焦K8S加速创新
CloudNative编程框架应运而生
众所周知,kubernetes早在设计之初就做到了架构上的松耦合,在而后的演进中又进行了多处插件化框架和可扩展性的改进和增强。Operator概念的引入,更是标准化了一大部分对k8s有定制扩展需求的场景。
![](http://www.ctiforum.com/uploadfile/2018/0605/20180605020626178.jpg)
然而,Operator本身的开发、测试、运维等,仍然有一定的门槛。Operator开发框架旨在归纳已有实现中优秀的实践经验,形成一套标准,来帮助降低K8S上应用程序的开发、测试和运维的门槛。这对那些苦于业务改造上云后运维难、对K8S有定制需求的企业用户来说,是一大福音。
Ballerina
本次KubeCon还带来了一个十分新颖的项目——Ballerina。这是一门用于集成的Cloud Native编程语言。
![](http://www.ctiforum.com/uploadfile/2018/0605/20180605020707357.jpg)
Ballerina的开发者认为,未来人们编写的应用程序会越来越依赖于API,而集成则是打通各端点间弹性通信的重要规范。
因此,他们将分布式系统集成的基本概念融合到语言中,设计了这门编译型、事务性、静态强类型编程语言,并提供了类型安全的并发环境。
Ballerina支持文本和图形语法,除常规的文本编写代码外,开发者还可以通过在设计器中编辑图表来组织代码。这更进一步降低了云原生应用的开发门槛,开发者可以轻松地实现具有分布式事务、可靠消息传递、流处理和工作流的微服务。
大幕拉开
真正的好戏才刚刚开始
过去
面向分布式应用开发,我们看到的是Erlang、容错编程和开发框架等,更多的是绑定于不同的编程社区和软件栈。
现在
我们可以欣喜地看到,Kubernetes凭借着它许多惊艳的特性,和庞大的生态力量,已经进入与诸多分布式系统走向商业化相似的发展历程,日渐变得适合日常的开发者,适合日常的企业,最终成为被业界普遍采用的横向技术。
未来
K8S的使用门槛将从白盒转向黑盒,开发者不用掌握太多K8S的知识,只需基于一套标准化原语,便可实现分布式系统风格的编程。
人们不必再纠结代码如何编译,镜像如何构建,测试与生产环境的配置有何不同,寻常的一个代码提交动作便可以触发从编译构建测试到生产运维全流程的交付流水线。而出现问题时的回滚也会是如此的简单,因为代码提交的操作都是原子的。
回顾当下,或许很多人会觉得K8S已经逐渐稳定,也逐渐变得无聊,但纵观整个CloudNative生态,许多新鲜有趣的项目正在雨后春笋般地涌现——毕竟,我们只是搭好了云原生的大舞台,真正的好戏,才刚刚开始。