1. 程式人生 > >Istio,下一個Kubernetes?

Istio,下一個Kubernetes?

近年來,開源專案被業界予以厚望,為業界眾多技術大咖所推崇,其中一個專案就是由谷歌和IBM聯合打造的Istio。Istio的出現使得服務網格——Service Mesh這一概念開始流行,Service Mesh 提供了一種透明的、與程式語言無關的方式,使網路配置、安全配置以及遙測等操作能夠靈活而簡便地實現自動化。從本質上說,Service Mesh 解耦了服務的開發與運維工作。如果你是一名開發者,那麼在部署新服務,或是修改現有服務的時候,就無需擔心這些操作會對你的分散式系統帶來哪些運維層面的影響。與此同時,運維人員可以放心地對服務之間的運維控制進行變更,無需重新部署服務或是修改服務的原始碼。而處於服務與底層網路之間的這一層基礎設施,就是 Service Mesh。

Service Mesh的出現,彌補了Kubernetes在微服務的連線、管理和監控方面的短板,為Kubernetes提供更好的應用和服務管理。因此,Service Mesh的代表Istio一經推出,就被認為是可以和Kubernetes形成雙劍合璧效果的微服務管理的利器,受到了業界的推崇。

正值全球雲原生領域頂級會議Kubecon+CloudNativeCon首次在中國召開之際,在容器領域頗有建樹的Rancher聯合華為共同舉辦雲原生服務網格(Istio)企業峰會,就服務網格在企業中的實踐應用進行了詳細的討論。在會中,老孫有幸對Rancher 創始人及CEO樑勝就Istio服務網格的探索及應用實踐進行了專訪。

Istio,K8S的最佳雲原生拍檔

與業界的普遍看法相同,樑勝也認為Istio與Kubernetes極為互補。“K8S實際上只是負責基本的排程和編排,負責主機上容器的執行,Istio做的是互補,因為它主要做的是服務發現。當用容器來實現不同的服務時,需要發現服務、動態連線服務、進行服務升級,甚至還會產生一些安全性、可靠性、效能方面的功能需求,實際上這些功能都是K8S原生沒有或者要用手動的方法才能實現的。Istio就是一個可以在K8S上,把這些應用、服務進行較好管理的框架。”樑勝說。

樑勝表示,目前雲基礎設施技術已經非常成熟,但在雲基礎設施之上,K8S在管理應用方面還是會存在一些問題,而Istio則彌補了這些不足。K8S真正實現的只是編排和排程的功能,對於管理應用、管理服務、服務發現、實現微服務這些比較高階的功能,還是需要通過附加的框架來實現。如果按照傳統的做法,可以利用程式語言開發中間件。但對比來說,Istio有個好處,由於它是一個獨立於程式設計語言的框架,可以通過操作人員、運維人員進行直接部署。

儘管Istio被稱作為下一代的K8S,然而樑勝卻並不認為Istio會替代K8S。樑勝認為,K8S本身的排程編排功能不會被Istio取代,除非將來有更好的排程編排。而且Istio與K8S並不是緊耦合的,除了K8S,Istio實際上也可以與Mesos、Consol等其他的框架來整合,這兩者並不是非要二選一不可,同時K8S和Istio也不是必須同時使用的。兩者實際上是互補又可以獨立生存的關係。

Rio,更好用的Istio前端

不過,雖然Istio是一個能夠彌補K8S短板的利器,但直接在K8S上使用Istio的技術門檻也並不低。為此,Rancher開發了Rio這款產品,旨在幫助使用者能夠更加簡單的使用Istio。據樑勝透露,目前該產品還沒有完全開發完成,預計要到明年年初才能夠真正釋出。樑勝坦言,雖然只是一個Istio的前端,但Rio開發的技術瓶頸也很高,有很多需要改進的地方,尤其是在可用性、可靠性方面的瓶頸,還需要收集更多使用者的反饋並進行迭代,最後才能推向市場。

在企業峰會上,樑勝為到場的觀眾現場演示了Demo版的Rio,通過幾行簡單的命令,即可輕鬆的配置、管理、升級容器,其簡單易用令人印象深刻。樑勝還告訴老孫,Rio雖然是基於Istio的,但Rio並不是僅僅只能支援Istio,它也可以支援其他的服務網格產品。例如,Linkerd。樑勝介紹說,Linkerd是CNCF裡另外一個服務網格專案,Linkerd實際上也不錯,只是在社群中,Istio支援的聲音大一點,而Linkerd只是一家公司在做,在很多情況下,Linkerd會更加簡單,也更加好用,有很多工程師也很喜歡Linkerd,所以Rancher也會提供相關的支援。目前Github上已經發布了Rio的原始碼,感興趣的朋友可以去看下。

Rancher,更安全穩定的容器平臺

雖然以Istio為代表的服務網格產品前景較為可觀,但樑勝認為,目前服務網格的市場還比較早,儘管如此,也並不意味著Rancher在服務網格市場的競爭壓力就比其他市場小。隨著網際網路企業的興起,傳統的大公司已經摒棄了以前普遍應對市場變化動作緩慢的做法,變得非常敏感。從目前的情況來看,容器和微服務包括Service Mesh的市場還不大,但大家都很清楚,傳統的大公司對Service Mesh、對新興的市場還是非常重視的。另一方面,樑勝則認為,對於像Rancher這樣的技術創新公司而言,真正比較在乎的競爭還是與其它同類型公司之間的競爭,這些公司的營銷手段、執行能力、實施速度,都是非常厲害的,在很多情況下是大公司所不能相比的。

樑勝最後總結道,Rancher提供的各項服務,包括Istio、Rio以及Rancher的開源,目的就是要讓更多的人使用這些產品,使用者量多了之後,產品質量就能夠提高,從而可以讓產品更好的走通用化、產品化的道路,也能夠把付費使用者服務的更好。Rancher提供的服務都不大,但在它上面的執行服務價值很高,因此Rancher完全是靠自己的能力、靠為使用者提供的價值來生存,而Rancher為使用者提供的主要價值就是確保平臺的穩定性和安全性,這已經得到了眾多大型企業使用者如華為、上汽、金風科技等和像Gartner、Forrest這樣的業界知名諮詢公司所認可,Rancher也將沿著這樣的道路走下去。