
除了技術(shù)分享,本次大會(huì )也非常重視客戶(hù)案例,包括Spotify、維基百科、Booking.com、Youtube、阿迪達斯、金融時(shí)報、eBay、挪威稅務(wù)管理中心等企業(yè)客戶(hù)將前來(lái)分享他們在生產(chǎn)環(huán)境中如何使用容器及其周邊技術(shù)。

Kubernetes 商用成熟
多云成為必然趨勢
Kubernetes作為CNCF的核心項目,也是第一個(gè)順利進(jìn)入商用Ready的項目,圍繞它的生產(chǎn)實(shí)踐分享成為本次大會(huì )的一大焦點(diǎn)。
CERN
在第一天的Keynote上,來(lái)自歐洲核子研究中心(CERN)的生產(chǎn)實(shí)踐案例分享驚艷了全場(chǎng)。
作為世界上最大的粒子物理研究中心,CERN有著(zhù)非常龐大的計算需求。在一個(gè)自建的數據中心,CERN已經(jīng)搭建了210余個(gè)K8S集群來(lái)調度、管理?yè)碛?2萬(wàn)核、1萬(wàn)多hypervisor的基礎設施。這些集群部署規模大小不一,最小的只有幾十個(gè)節點(diǎn),而最大的已經(jīng)到了上千節點(diǎn)。
為了便于統一管理這些集群中的工作負載,CERN使用了K8S Federation(集群聯(lián)邦)作為統一的平臺入口。同時(shí)CERN還在華為伙伴公有云Open Telekom Cloud、Google Cloud、Azure、AWS等云平臺上創(chuàng )建K8S集群并接入了他們的平臺,以便于快速響應技術(shù)峰會(huì )等大型活動(dòng)期間暴漲的計算量。
歐洲粒子研究中心的專(zhuān)家分享
使用集群聯(lián)邦管理k8s多集群的案例
在兩個(gè)或更多的云平臺上創(chuàng )建K8S集群,并部署工作負載,已經(jīng)成為許多K8S采用者的常規做法。較之以往,用戶(hù)可以相對容易地在云平臺上同時(shí)部署業(yè)務(wù),并享受到不同云平臺的優(yōu)勢。
不難發(fā)現,當下基于Kubernetes的容器服務(wù),已經(jīng)幾乎成為各家云平臺標配的服務(wù)。得益于K8S軟件一致性認證項目的推動(dòng),越來(lái)越多的廠(chǎng)商將提供認證的K8S發(fā)行版作為基本要求。多云的支持,已成為必然趨勢。而隨著(zhù)CloudNative的發(fā)展,相信在不久的將來(lái),以K8S為核心的云原生平臺將真正實(shí)現“Cloud Agnostic”。用戶(hù)可以真正輕松地實(shí)現,跨云、跨集群的Workload自由遷移。

核心與基礎問(wèn)題已經(jīng)解決
如何消除Cloud Native背景下的安全焦慮
過(guò)去的兩年是CNCF的創(chuàng )業(yè)期,社區以Kubernetes和容器技術(shù)為平臺核心,圍繞可觀(guān)測性,可運維性,微服務(wù)發(fā)現等領(lǐng)域進(jìn)行能力補齊,構建了靈活易擴展的基礎平臺。
隨著(zhù)容器、微服務(wù)等技術(shù)被越來(lái)越多地采用實(shí)施和運行于生產(chǎn)環(huán)境,越來(lái)越多的人關(guān)注到新興技術(shù)背景下的安全問(wèn)題。如何消除這些顧慮,也正是CNCF在接下來(lái)發(fā)力的重點(diǎn)。

gVisor
Runtime方面,Google帶來(lái)了他們自己的安全容器方案 —— gVisor。gVisor提供新型沙箱容器運行時(shí)環(huán)境,能夠在保證輕量化優(yōu)勢的同時(shí),提供與虛擬機類(lèi)似的隔離效果。
gVisor通過(guò)在用戶(hù)空間內攔截應用程序系統調用并充當訪(fǎng)客內核(guest kernel)來(lái)提供隔離邊界。此外,gVisor不需要固定資源,它能夠隨時(shí)適應不斷變化的資源條件。
gVisor項目為容器安全性提供了新思路,豐富了安全容器技術(shù)的生態(tài),雖然距離商用還有一段路要走,但就將安全容器推向主流市場(chǎng)而言,它未來(lái)帶來(lái)的幫助無(wú)疑會(huì )是巨大的。

Kubeflow發(fā)布0.1版本
大幅降低機器學(xué)習框架部署門(mén)檻
近年來(lái),機器學(xué)習的發(fā)展可謂突飛猛進(jìn)。如何發(fā)揮Kubernetes的優(yōu)勢,將其作為部署平臺來(lái)提供便捷、可擴展的機器學(xué)習框架,是其中一個(gè)重點(diǎn)話(huà)題之一。Kubeflow項目的發(fā)起,正是試圖找到一種最簡(jiǎn)便的開(kāi)源解決方案。

Kubeflow
自去年北美的KubeCon + CloudNativeCon宣布項目成立之后,Kubeflow已經(jīng)吸引了來(lái)自包括Google、微軟、Redhat、華為、阿里云等在內的20多個(gè)組織的70多名貢獻者貢獻了700多條代碼提交,并獲得了3.1k的star,增長(cháng)速度之快躍居Github前2%。
本次發(fā)布的0.1版本提供了一套最精簡(jiǎn)的軟件包,方便用戶(hù)開(kāi)發(fā)、訓練和部署機器學(xué)習框架。
在之后的幾個(gè)月里,Kubeflow項目將致力于0.2的發(fā)布。到今年年底Kubeflow發(fā)布1.0版本之后,kubeflow項目將尋求一個(gè)正式的治理社區,托管在CNCF或其他社區下。

Service Mesh持續走俏
Istio 引領(lǐng)大潮
企業(yè)上云,容器和微服務(wù)是兩大利器。容器屏蔽了應用對環(huán)境的感知,簡(jiǎn)化了軟件包分發(fā)的一致性問(wèn)題,避免重復勞動(dòng)。而轉向微服務(wù)的架構,屏蔽了應用對服務(wù)的感知,可以使業(yè)務(wù)團隊更專(zhuān)注于自身專(zhuān)業(yè)領(lǐng)域。而關(guān)于如何做負載均衡、熔斷和遙測等等問(wèn)題,都可以通過(guò)Service Mesh卸掉。高度的聚焦可以大幅度提高生產(chǎn)力。
Istio
Istio作為最有希望成為Service Mesh事實(shí)標準的項目,自去年5月份發(fā)布以來(lái),憑借與K8S的深度集成、零侵入性、易擴展等優(yōu)勢,加以Google、IBM等大廠(chǎng)商支持,迅速走紅。在不到一年的時(shí)間里獲得了8000+的star,吸引到近200個(gè)貢獻者參與代碼開(kāi)發(fā),成為去年以來(lái)K8S生態(tài)中最火熱的項目。
本次大會(huì )中Istio的一大話(huà)題是多云和多集群。K8S在多云之間提供了一致的平臺環(huán)境,但是如何實(shí)現跨云、跨集群的服務(wù)發(fā)現和流量控制卻一直懸而未決。
在K8S Federation項目中,有一個(gè)簡(jiǎn)單版的實(shí)現——本集群優(yōu)先路由。而Istio在最新發(fā)布的0.8版本中提供了多集群支持的特性,補齊K8S在多集群場(chǎng)景下的服務(wù)管理能力。

Serverless領(lǐng)域發(fā)布事件
標準CloudEvents 0.1
隨著(zhù)云技術(shù)的發(fā)展和廣泛采用,應用程序變得越來(lái)越分散,集成的數量不斷增長(cháng),基于事件驅動(dòng)的架構和Serverless的概念隨之興起。
為了解決Serverless的互操作性問(wèn)題,CNCF Serverless工作組自去年年底完成白皮書(shū)之后,便致力于Serverless事件標準規范——CloudEvents的制定。開(kāi)源玩家華為,谷歌,微軟,IBM,紅帽等,都積極投入其中,為該項目做出了巨大的貢獻。

本次大會(huì )上發(fā)布的CloudEvents 0.1的范圍很簡(jiǎn)單:
- 提供一組一致的元數據,可以將其包含在事件數據中,使事件更容易適用于發(fā)布者、中間件、訂閱者和應用程序。簡(jiǎn)而言之,就是一個(gè)標準的事件信封。
- CloudEvents的通用元數據使得事件更易于路由,扇出,追蹤,重放,并且基本保持“在線(xiàn)”。它們更便攜,更流暢,更易于跨平臺傳輸。目前,網(wǎng)絡(luò )帶寬,成本和延遲仍然是主要挑戰,但CloudEvents簡(jiǎn)單的元數據定義已經(jīng)可以在諸多場(chǎng)景中為數據帶來(lái)不錯的可移植性。

聚焦K8S加速創(chuàng )新
CloudNative編程框架應運而生
眾所周知,kubernetes早在設計之初就做到了架構上的松耦合,在而后的演進(jìn)中又進(jìn)行了多處插件化框架和可擴展性的改進(jìn)和增強。Operator概念的引入,更是標準化了一大部分對k8s有定制擴展需求的場(chǎng)景。

然而,Operator本身的開(kāi)發(fā)、測試、運維等,仍然有一定的門(mén)檻。Operator開(kāi)發(fā)框架旨在歸納已有實(shí)現中優(yōu)秀的實(shí)踐經(jīng)驗,形成一套標準,來(lái)幫助降低K8S上應用程序的開(kāi)發(fā)、測試和運維的門(mén)檻。這對那些苦于業(yè)務(wù)改造上云后運維難、對K8S有定制需求的企業(yè)用戶(hù)來(lái)說(shuō),是一大福音。
Ballerina
本次KubeCon還帶來(lái)了一個(gè)十分新穎的項目——Ballerina。這是一門(mén)用于集成的Cloud Native編程語(yǔ)言。

Ballerina的開(kāi)發(fā)者認為,未來(lái)人們編寫(xiě)的應用程序會(huì )越來(lái)越依賴(lài)于A(yíng)PI,而集成則是打通各端點(diǎn)間彈性通信的重要規范。
因此,他們將分布式系統集成的基本概念融合到語(yǔ)言中,設計了這門(mén)編譯型、事務(wù)性、靜態(tài)強類(lèi)型編程語(yǔ)言,并提供了類(lèi)型安全的并發(fā)環(huán)境。
Ballerina支持文本和圖形語(yǔ)法,除常規的文本編寫(xiě)代碼外,開(kāi)發(fā)者還可以通過(guò)在設計器中編輯圖表來(lái)組織代碼。這更進(jìn)一步降低了云原生應用的開(kāi)發(fā)門(mén)檻,開(kāi)發(fā)者可以輕松地實(shí)現具有分布式事務(wù)、可靠消息傳遞、流處理和工作流的微服務(wù)。
大幕拉開(kāi)
真正的好戲才剛剛開(kāi)始
過(guò)去
面向分布式應用開(kāi)發(fā),我們看到的是Erlang、容錯編程和開(kāi)發(fā)框架等,更多的是綁定于不同的編程社區和軟件棧。
現在
我們可以欣喜地看到,Kubernetes憑借著(zhù)它許多驚艷的特性,和龐大的生態(tài)力量,已經(jīng)進(jìn)入與諸多分布式系統走向商業(yè)化相似的發(fā)展歷程,日漸變得適合日常的開(kāi)發(fā)者,適合日常的企業(yè),最終成為被業(yè)界普遍采用的橫向技術(shù)。
未來(lái)
K8S的使用門(mén)檻將從白盒轉向黑盒,開(kāi)發(fā)者不用掌握太多K8S的知識,只需基于一套標準化原語(yǔ),便可實(shí)現分布式系統風(fēng)格的編程。
人們不必再糾結代碼如何編譯,鏡像如何構建,測試與生產(chǎn)環(huán)境的配置有何不同,尋常的一個(gè)代碼提交動(dòng)作便可以觸發(fā)從編譯構建測試到生產(chǎn)運維全流程的交付流水線(xiàn)。而出現問(wèn)題時(shí)的回滾也會(huì )是如此的簡(jiǎn)單,因為代碼提交的操作都是原子的。
回顧當下,或許很多人會(huì )覺(jué)得K8S已經(jīng)逐漸穩定,也逐漸變得無(wú)聊,但縱觀(guān)整個(gè)CloudNative生態(tài),許多新鮮有趣的項目正在雨后春筍般地涌現——畢竟,我們只是搭好了云原生的大舞臺,真正的好戲,才剛剛開(kāi)始。