本文由Rancher Labs CEO及聯合創始人梁勝博士寫於前往參加DockerCon以前。從各家容器編排方案均很不成熟的初期,到三足鼎立的編排之戰,到現在k8s似已全面勝利,做爲整個發展歷程的參與者與見證者,回顧這幾年容器領域發展和Rancher的發展與選擇,梁勝博士分享了他的一些見解。安全
Docker宣佈支持Kubetnetes,擁抱昔日對手,而這一點在回溯過去時就早有苗頭。縱觀Docker在編排領域的發展之路,大概這一決定是歷史的必然。這篇文章或許能從另外一種視角帶你看看這個業界目前最熱議的話題。網絡
目前Docker技術獲得了普遍應用,在大量需求的催生下,咱們創造了Rancher,在過去三年的各屆DockerCon上,Rancher都獲得了不少來自用戶的熱情歡迎和積極反響。負載均衡
DockerCon有它的特別之處——不只在於它將主要行業玩家全都召集到了一塊,更是由於DockerCon是爲數很少的、參會者中用戶數量遠超供應商數量的技術大會。可以一會兒遇到這麼多用戶,不管是參會仍是贊助都十分值得。和咱們的用戶交談,聽取他們的想法,這激勵並啓發着咱們更好地改進Rancher產品。框架
Docker的技術革新正處於關鍵期,所以我對於Docker將在今年DockerCon EU公佈的內容很是感興趣。最近咱們發佈了Rancher 2.0 Tech Preview,該版本中咱們把Rancher從基於Docker的產品轉變成基於Kubernetes的產品。雖然Docker做爲一個應用程序打包和運行的標準取得了極大成功,而Kubernetes在容器基礎設施、編排和生態系統方面都已經超過了Docker,這也是咱們選擇Kubernetes的緣由。插件
基礎設施所涵蓋的範圍不只只是打包和運行,它還包括存儲、網絡、負載均衡和安全。三年前當咱們剛開始研發Rancher時,咱們認爲Docker將會給容器網絡和存儲定義行業標準插件接口。儘管Docker和其餘諸如SocketPlane(後被Docker收購)、Weveworks和ClusterHQ等早期先驅作了許多出色的工做,而且還獲得瞭如思科、EMC和NetApp等行業領導者的大量支持,然而Docker接口,像libnetwork、容器網絡模型(CNM)和Docker volume插件仍是沒能成爲可行的標準。咱們在Rancher中仍然在CNM和Docker volume插件方面作努力,不過咱們遇到了難以逾越的挑戰:設計
在Rancher 1.2(2016年12月發佈)中,經過切換到Kubernetes容器網絡接口(CNI)和Kubernetes Flexvolume存儲框架,咱們已經解決了這些問題。由於Rancher2.0是基於Kubernetes的,任何與Kubernetes集成的網絡、存儲、負載均衡和安全性方案均可以在Rancher上開箱即用。blog
咱們爲Rancher開發了名爲Cattle的容器編排器,來填補在Docker Swarm早期時缺失的一些功能,包括服務發現、DNS、服務升級和負載均衡器。咱們但願當Swarm更加完善以後,可以最終替代Cattle。接口
然而,在2016年3月Rancher 1.0發佈時,Swarm還沒準備好。那個時候Kubernetes還未成熟,容器編排的將來也不是很明朗。所以咱們決定,Rancher 1.0要同時支持多編排器:Cattle、Swarm、Kubernetes和Mesos。這樣一來,用戶便不會受限於某個特定的容器編排器,且Rancher的用戶都十分喜歡這一設計。進程
2016年6月時,Docker公佈了Swarm Mode,咱們都很爲此而激動。Swarm Mode提供了早期Docker Swarm中缺乏的許多功能,而且很是接近於Cattle所作的工做。因而咱們很快在Rancher中添加了Swarm Mode的支持。圖片
但是直到2017年初,Swarm Mode都沒有獲得重視。或許是早期的Swarm Mode實現上存在質量問題,也多是Kubernetes的發展已經遙遙領先。絕大數Rancher用戶都在使用Cattle和Kubernetes。
Rancher 2.0創建在行業標準Kubernetes之上。Cattle不會消失——它將成爲一種內置的Rancher體驗,咱們也會持續改進它。經過2.0,咱們提供了簡單的基於Kubernetes的Docker和Docker Compose用戶體驗。任何對Docker有基本瞭解的人均可以快速上手,等用戶熟練掌握以後還能體驗到更進階的原生Kubernetes體驗。
DockerCon Europe匯聚了大量響噹噹的贊助商,也無疑吸引了愈來愈多的Docker用戶。我一直從DockerHub上尋找最新的用戶數據做爲Docker增加的基準。在2017年4月的DockerCon Austin上,這個數字是120億,而且在那以後還在增加。
構成Kubernetes生態系統的公司其實差很少,不過參與模式卻徹底不一樣。大多數的生態系統合做夥伴像咱們同樣,認爲Docker是一種成熟的技術,且擁有大量的用戶。而Kubernetes生態系統更加活躍,由於在這一輩子態系統中有不少積極的發展、創新和整合。
早在2016年的12月份,我就曾注意到Docker之父、Docker公司CTO Solomon Hykes在他的一篇blog中,將Docker的定位放在了和OpenShift(以及Rancher 2.0)一樣的層級,這層級是位於Kubernetes之上的。看來從那時起,Docker就已計劃構建一個全新的、基於Kubernetes之上的Docker產品了?
在我從DockerCon回來以後,我會再寫一篇文章,分享更多個人一些見解與看法。
Rancher Labs全新發布的新產品Rancher 2.0,一方面,把Rancher 提供的Kubernetes分發版的用戶體驗,從原生的Kubernetes UI修改到被全球客戶普遍接受的Rancher UI,解決了業界遺留已久的Kubernetes原生UI易用性差的問題。另外一方面,在產品中增長了能夠納管其餘廠商提供的Kubernetes分發版功能,如Ubuntu Kubernetes、Dell EMC Kubernetes、Google GKE等等,從而具有了同時管理多個Kubernetes集羣的能力,這在業界都仍是獨一無二的特性。
做爲DockerCon的金牌贊助商,Rancher的技術人員將在現場G16展位和技術愛好者進行面對面的技術交流,並受大會之邀將進行兩場演講。
咱們還會帶來更多來自現場的快報,敬請關注!