Kong 开源的的服务网格Kuma爬过了K8S这座大山
作者:Dan Meyer
譯者:羅廣明
審校:馬若飛
編者按
2019年9月10日,Kong正式宣布開源一款Service Mesh:Kuma。此消息一出,立即在云原生社區(qū)引起反響,各大媒體爭相報(bào)道。讓我們跟隨SDxCentral的總編輯,一起來看看Kong的CTO如何介紹Kuma這款Service Mesh產(chǎn)品以及對于SMI的看法。關(guān)于Kuma的具體功能介紹可以閱讀官網(wǎng)博客以及Github。
翻譯一下其Github關(guān)于Kuma功能特性的簡介如下,方便讀者了解:
通用的控制平面: 易于使用,分布式,可以在任何平臺運(yùn)行。
輕量的數(shù)據(jù)平面: 基于Envoy,可處理任意類型流量。
自動化: 在K8s平臺上部署無需任何代碼改動,也可在虛擬機(jī)上靈活部署。
多租戶: 可在一個集群與同一個控制平面上部署多套服務(wù)網(wǎng)格。
網(wǎng)絡(luò)安全: 自動mTLS加密。
流量分割: 靈活的ACL規(guī)則。
流量追蹤: 與Zipkin和Jaeger自動集成。
流量指標(biāo): 與Prometheus/Splunk/ELK自動集成。
代理配置模版: 方便進(jìn)階(收費(fèi))用戶配置Envoy。
標(biāo)簽選擇器: 可應(yīng)用不同地域的、特定于云的和面向團(tuán)隊(duì)的策略。
平臺中立: 支持K8s, 虛擬機(jī)和裸機(jī)。
強(qiáng)大的APIM Ingress: 與Kong網(wǎng)關(guān)集成。
簡介
Kong正在將其服務(wù)網(wǎng)格平臺Kuma打造成一個日益復(fù)雜的生態(tài)系統(tǒng),在過去幾個月里,許多新加入者和選擇涌現(xiàn)出來。
該公司聲稱Kuma是“一個通用的服務(wù)網(wǎng)格”。Kong CTO和聯(lián)合創(chuàng)始人Marco Palladino解釋說,這意味著Kuma不同于市場上的大多數(shù)服務(wù)網(wǎng)格項(xiàng)目,它的設(shè)計(jì)初衷是在Kubernetes生態(tài)系統(tǒng)內(nèi)部和外部都能工作,這包括虛擬機(jī)(VMs)、容器、legacy環(huán)境以及Kubernetes。
Kuma包括一個基于Envoy服務(wù)代理的通用控制平面。它結(jié)合了數(shù)據(jù)平面和進(jìn)階的控制平面,允許用戶使用本地自定義資源定義(CRDs)或RESTful API設(shè)置權(quán)限、獲取指標(biāo)和設(shè)置路由規(guī)則。Palladino解釋說,早期第一代的服務(wù)網(wǎng)格產(chǎn)品大多缺乏成熟的控制平面,需要大量的二次開發(fā)或手工定制。
他解釋說:“我們希望90%的用例都易于使用,并且能夠快速升級。對于另外10%用例的用戶,我們有一個允許用戶深入使用的策略,”他補(bǔ)充說,盡管Kuma的設(shè)計(jì)是為了方便使用,“但Kuma是為企業(yè)設(shè)計(jì)的,而不是業(yè)余愛好者。”
Kuma的特性包括software-defined security,它支持所有四層通信流的mTLS身份驗(yàn)證;能夠?qū)崿F(xiàn)追蹤(trace)和日志(log)記錄,從而更好地分析指標(biāo);提供流量控制能力,如斷路器和健康檢查,以增強(qiáng)四層路由。
Palladino說,Kuma保護(hù)底層網(wǎng)絡(luò)的能力提供了可靠性和更深層次的可觀察性,并且無需修改任何代碼。
Palladino說:“我們努力為Kuma構(gòu)建一個非常平滑漸進(jìn)的學(xué)習(xí)曲線。它的復(fù)雜度不會在早期壓垮開發(fā)人員,并且也不會阻止開發(fā)人員走得更遠(yuǎn)。我們確實(shí)為高級用戶提供了一個策略來配置底層代理數(shù)據(jù)平面。”
Kuma還利用了Kong同名的開源API網(wǎng)關(guān)。該網(wǎng)關(guān)管理組織與部署現(xiàn)代微服務(wù)的各種方法之間的信息流。
Kuma加入服務(wù)網(wǎng)格競爭行列
Kuma加入了服務(wù)網(wǎng)格競爭行列,這個群體與日俱增,聲稱可以更容易地支持微服務(wù)的部署。
Palladino說:“每個人都告訴我們,他們想要使用服務(wù)網(wǎng)格,但實(shí)際上沒有一種服務(wù)網(wǎng)格易于使用,而且真正適用企業(yè)生產(chǎn)環(huán)境。許多企業(yè)專注于Kubernetes,但對他們來說,這成為了云原生探索之旅的終點(diǎn)。我們提供了一個產(chǎn)品,允許他們擁有一個可以更早實(shí)現(xiàn)并支持他們遷移的服務(wù)網(wǎng)格。”
一個已經(jīng)引起廣泛注意的服務(wù)網(wǎng)格平臺是Istio。它定位于網(wǎng)絡(luò)層,使用底層進(jìn)行微服務(wù)開發(fā)和維護(hù)。這允許將管理運(yùn)維與應(yīng)用程序開發(fā)分離開來。
Palladino說,Istio幫助照亮了這片天空,但它仍然“非常復(fù)雜,有很多活躍的部件”。它在Kubernetes上運(yùn)行得很好,但并不是所有人都在運(yùn)行Kubernetes。”
他說,這種關(guān)注還會影響Linkerd和Containous等其他服務(wù)網(wǎng)格的選擇,比如最近推出的Maesh平臺。
“Maesh、Linkerd和其它控制平面網(wǎng)格都高度關(guān)注Kubernetes,”Palladino解釋說。“只有當(dāng)企業(yè)采用Kubernetes時,它們才會被采用。我們通過在這一過程的早期建立安全和可觀察性,實(shí)現(xiàn)了向Kubernetes的過渡。”
還需要努力協(xié)調(diào)服務(wù)網(wǎng)格平臺之間的互操作性。其中之一由微軟牽頭,它在今年早些時候率先推出了服務(wù)網(wǎng)格接口SMI規(guī)范。它的目標(biāo)是為開發(fā)人員提供運(yùn)行在Kubernetes上的不同服務(wù)網(wǎng)格技術(shù)的互操作性。
Palladino將這種努力淡化為邊緣化服務(wù)網(wǎng)格功能。
“我們根本不相信SMI,”他說。“這是將接口標(biāo)準(zhǔn)化的另一種嘗試,讓它變得平庸而不優(yōu)秀。它采用整個社區(qū)所有服務(wù)網(wǎng)格的公分母,從而降低了它們對最終用戶的價(jià)值。它界限很寬,但并不深入。”
Palladino認(rèn)為Kuma才真正實(shí)現(xiàn)了可以在所有平臺進(jìn)行互操作。
Kong以Mashape的名字成立于2009年。2015年,它將Kong平臺發(fā)布到開源社區(qū),并于去年對旗下所有業(yè)務(wù)產(chǎn)品正式啟用了該平臺的名稱。該公司已通過5輪融資籌集了6,910萬美元資金,最近一次是在3月份的C輪融資,總額4,300萬美元。
編者后記
當(dāng)Istio因其性能表現(xiàn)疲軟之際,會涌現(xiàn)一個又一個的新玩家,給市場帶來競爭與多樣性,這也是用戶喜聞樂見的。Kong涉足服務(wù)網(wǎng)格并不算太意外,我們可以了解到除了市面上的傳統(tǒng)云廠商打造的和開源的各項(xiàng)服務(wù)網(wǎng)格產(chǎn)品,Consul Service Mesh的出現(xiàn)也讓人眼前一亮。Consul Service Mesh與Kuma背后的廠商均有其成熟的開源產(chǎn)品做強(qiáng)力支撐:Consul的服務(wù)發(fā)現(xiàn)與注冊產(chǎn)品,Kong的網(wǎng)關(guān)產(chǎn)品。他們各自在開源社區(qū)擁有一片天下,此時推出服務(wù)網(wǎng)格產(chǎn)品自然會有一大批“擁躉”。
Kuma的性能較之Istio以及其它服務(wù)網(wǎng)格產(chǎn)品的優(yōu)劣尚未可知,但是其平臺中立的思想還是值得借鑒。當(dāng)前市場上,K8s并未完全普及,很多公司的產(chǎn)品都是部署在虛機(jī)甚至裸機(jī)上,如果此時又想嘗試下服務(wù)網(wǎng)格技術(shù),Kuma的出現(xiàn)不失為一種驚喜。
?推薦閱讀?
點(diǎn)擊?閱讀原文?查看更多
總結(jié)
以上是生活随笔為你收集整理的Kong 开源的的服务网格Kuma爬过了K8S这座大山的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是组件
- 下一篇: 初学cocoa开发:带你走入不一样的世界