您當(dāng)前的位置是:  首頁 > 新聞 > 國際 >
 首頁 > 新聞 > 國際 >

北美KubeCon爆點(diǎn)之Service Mesh

2017-12-11 16:38:57   作者:   來源:開源云中文社區(qū)   評論:0  點(diǎn)擊:


  服務(wù)網(wǎng)格(Service Mesh)是本次大會的最熱門話題之一,北美KubeCon第一天有不少Keynote和Session圍繞Istio、Linkerd和Conduit等熱門的Service Mesh項(xiàng)目展開,故挑選其中比較有代表的分享給大家。
  1)Service Mesh與Istio介紹
  Session主題:Istio: A Modern Service Mesh。
  Google 和 IBM 作為 Istio 項(xiàng)目的主要發(fā)起方,第一天上午 Keynote 結(jié)束之后,兩大巨頭派出工程師對 Istio 項(xiàng)目的現(xiàn)狀和未來發(fā)展進(jìn)行了系統(tǒng)的介紹。
  Service Mesh 的主要特征包括可監(jiān)控性、自愈性、流量控制、安全性、策略執(zhí)行、零代碼改動(dòng)等,采用 Sidecar 機(jī)制對微服務(wù)之間的流量進(jìn)行全面管理和控制。Istio 是今年發(fā)布的 Service Mesh 開源項(xiàng)目,默認(rèn)采用 Envoy 作為 Sidecar 代理,與應(yīng)用容器一起運(yùn)行在 K8S Pod 中,由 Envoy 接管流量傳輸,并通過控制平臺管理所有Sidecar。典型的一種應(yīng)用場景是用于控制不同版本 Pod 之間的流量分配比例,如下圖所示:
  兩位演講者還介紹了將要發(fā)布的Istio 1.0版本的目標(biāo),目前來看,穩(wěn)定性和可靠性仍然是Istio最迫切需要解決的問題。
  2)Linkerd發(fā)起者分享Service Mesh的前世今生&發(fā)布Conduit項(xiàng)目
  Session主題:The Service Mesh: Past, Present and Future
  Buoyant 公司作為  Linkerd 項(xiàng)目的發(fā)起者,在本次大會中也備受關(guān)注,公司創(chuàng)始人 William Morgan 分享了 Service Mesh 的前世今生。Service Mesh 在最近一年的爆發(fā),其實(shí)是隨著云原生應(yīng)用的普及而水到渠成的,與傳統(tǒng)應(yīng)用相比,云原生應(yīng)用的基礎(chǔ)抽象發(fā)現(xiàn)了巨大的變化,如下圖所列。因此,云原生應(yīng)用的落地,迫切需要在容器編排層之上,引入微服務(wù)的管理層,即 Service Mesh 。
  William Morgan 還分享了 Service Mesh 下一步需要完善的工作,如下圖所示,其中包括一系列與微服務(wù)治理、安全、協(xié)議、監(jiān)控和運(yùn)行平臺相關(guān)的特性。另外,他還提到安全性、性能和可用性是 Service Mesh 目前最值得關(guān)注的三大問題。
  William Morgan 也帶來了 one more thing —— 新一代 Service Mesh 項(xiàng)目Conduit 發(fā)布。Conduit 并不能視作 Linkerd 的升級版,其主要特性在于超輕量級、高效、安全等,并只針對于 Kubernetes 環(huán)境。
  3)分布式事務(wù)追蹤項(xiàng)目OpenTracing在Service Mesh中的應(yīng)用
  Keynote主題:Service Meshes and Observability
  OpenTracing 作為 CNCF 基金會托管的分布式事務(wù)追蹤項(xiàng)目,與 Istio 、Envoy 、Conduit 等 Service Mesh 項(xiàng)目深度集成,為它們提供事務(wù)追蹤服務(wù)。
  在 Service Mesh 架構(gòu)中,OpenTracing 可以通過類似 Sidecar 的方式與各個(gè)服務(wù)一起部署,并將各個(gè)調(diào)用點(diǎn)與追蹤系統(tǒng)連接起來,以實(shí)現(xiàn)對分布式應(yīng)用系統(tǒng)的事務(wù)追蹤。
  4)Istio與Kubernetes腳本工具Brigade配合實(shí)現(xiàn)CI/CD流水線
  Session主題:Microservice, Service Mesh & CI/CD Pipelines: Making it all work together
  來自微軟 Azure 團(tuán)隊(duì)的工程師分享了 Istio 與 CI/CD 流水線相互配合的實(shí)踐經(jīng)驗(yàn),使用 Istio 作為應(yīng)用的管理平面,對接 CI/CD 工具鏈,通過 Istio 的流量控制來實(shí)現(xiàn)金絲雀發(fā)布測試。
  值得一提的是,該團(tuán)隊(duì)并未使用國內(nèi)常用的 Jenkins 作為 CI/CD 流水線工具,而是使用了微軟新發(fā)布的專門針對 Kubernetes 平臺的事件驅(qū)動(dòng)腳本工作來實(shí)現(xiàn) CI/CD 。
  在 Demo 展示環(huán)節(jié)中,演講者詳細(xì)演示了 Istio 如何與 CI/CD 流水線協(xié)同工作。如下面3個(gè)圖所示,在代碼提交 PR 之前,Web 端流量全部導(dǎo)入當(dāng)前生產(chǎn)環(huán)境版本(藍(lán)色),而在測試版本提交PR之后,通過 Istio 對新舊版本的流量進(jìn)行了分配(90%與10%),實(shí)現(xiàn)金絲雀發(fā)布,測試完成之后,再將全部流量導(dǎo)入新版本中(綠色)。




  Demo源代碼鏈接:https://github.com/chzbrgr71/kube-con-2017
  社區(qū)評論
  在 Kubernetes 贏得容器編排之戰(zhàn)后,社區(qū)、廠商和用戶的關(guān)注點(diǎn)不約而同的都開始集中在如何更好的落地微服務(wù)化的云原生應(yīng)用?梢钥吹,業(yè)界目前比較明顯的趨勢是將微服務(wù)應(yīng)用管理這層從支撐平臺中解耦出來,形成 Service Mesh 層,包括服務(wù)的路由、負(fù)載均衡、流量分配和監(jiān)控等一系列功能,都由 Service Mesh 來完成。
  目前來看,社區(qū)的各個(gè) Service Mesh 項(xiàng)目發(fā)布時(shí)間都不長,不管是Istio、Linkerd 還是新發(fā)布的 Conduit ,雖然社區(qū)發(fā)展非常迅速,但都還需要經(jīng)過時(shí)間的檢驗(yàn),以達(dá)到企業(yè)級用戶所需的穩(wěn)定性、可靠性、安全性、易用性等要求。隨著云原生應(yīng)用的日趨普及,毫無疑問 Service Mesh 這項(xiàng)技術(shù)將具備美好的前景,讓我們拭目以待。
  —— KubeCon 北美峰會評論員  Pablo Zhong
  雙12福利預(yù)告:
  12月12日,開源云中文社區(qū)將聯(lián)合K8S技術(shù)社區(qū)、EasyStack為國內(nèi)社區(qū)用戶精彩送上“赴美大咖團(tuán)國內(nèi)首輪直播訪談”,為大家解讀KubeCon北美峰會最新最熱議題內(nèi)容!添加小助手免費(fèi)報(bào)名!
 
【免責(zé)聲明】本文僅代表作者本人觀點(diǎn),與CTI論壇無關(guān)。CTI論壇對文中陳述、觀點(diǎn)判斷保持中立,不對所包含內(nèi)容的準(zhǔn)確性、可靠性或完整性提供任何明示或暗示的保證。請讀者僅作參考,并請自行承擔(dān)全部責(zé)任。

專題