正在閱讀:各個廠商的“開掛”之路 容器圈熱鬧的2017年各個廠商的“開掛”之路 容器圈熱鬧的2017年

2017-12-29 15:36 出處:其他 作者:佚名 責任編輯:zhangxiaomeng

  【PConline 產業觀察】2017年是容器生態發展上具有媯{碑意義的一年,AWS、Azure和Alibaba Cloud都相繼在其原有容器服務上新增了Kubernetes支援,而Docker也在今年10月宣佈同時支援Swarm和Kubernetes。有人說,容器編排大戰就此宣告結束。那麼,Google的Kubernetes為何發展如此迅猛,而Docker公司為何改變了最初的決策,如此紅火的容器生態發生了怎樣的變化?

  Kubernetes的“開掛”之路

  2017年Kubernetes共發佈了四個版本,在多用戶、多負載、安全性、使用易用性等做出了改進:

  Kubernetes 1.6伸縮性SLO支援包含5000個節點(15萬個Pod)的集群,可以將多個Kubernetes集群結合併透過單獨的API端點使用,發佈一系列高級調度和全面的存儲自動化功能。

  Kubernetes 1.7推出Network Policy API,並加強了網路安全性,以beta版提供了存儲和由狀態工作負載的管理、API聚合層。

  Kubernetes 1.8版本在安全方面做出了努力,曾經在1.6版本處於beta狀態的基於角色訪問功能已經穩定,新增beta狀態的Pod橫向自動伸縮自定義功能,允許源碼樹外(out-of-tree)的卷驅動,架設Kubernetes集群的命令kubeadm加入了集群陞級的支援。

  Kubernetes 1.9版本全面提供了App Workload應用程式設計接口、新增對Windows系統的支援、並在存儲方面新增了Container Storage Interface功能。

  Constellation Research公司首席分析師、副總裁Holger Mueller表示,CSI的演化可能是目前Kubernetes最重要的新功能。他指出,Kubernetes在過去幾年中實現了跨越式的發展,設定了一個非常高的標準,成為一個快速贏得關注、“不到兩年時間內從零到發展成為明確領導者”的標準。

  Kubernetes於2014年6月開源,在Docker公司推出著名開源項目14個月之後。早期Kubernetes受到了Google內部Borg系統的影響,Google稱其已經使用了十餘年容器化技術,而坊間流傳Borg才是Google的內部容器管理系統。早在2015年,Kubernetes還尚不如現在般成熟,其發佈版本等相關消息也很少被業界提及。而2015年7月,Google做了一個非常明智的決定,與Linux基金會合作創立CNCF基金會(Cloud Native Computing Foundation)並捐獻Kubernetes作為種子項目。再往後,Kubernetes在開源社區中呼聲不斷升高,各大IT巨頭相繼加入CNCF基金會,從此Kubernetes進入了勢不可擋的發展期。

  Docker的變革

  Docker在2017年也是動作不小,先是4月份將項目重新梳理並拆分為Moby和LinuxKit,再是10月份宣稱同時支援Swarm和Kubernetes。

  雖然更名為Moby讓廣大開發者一片嘩然,但是Rancher的Darren Stepherd在其tweet中總結到:“被Moby困擾了嗎?簡單說,這對Docker的使用者而言沒有什麼變化。這樣的項目在內部做了改變,可以幫助如Rancher Labs的系統構建者。”Docker公司經過此番改革之後,使用者可以透過需求定制一款自己的容器系統;而Docker二進制文件並沒有改變,用戶並不會受到影響。

1

  2017年10月DockerCon上傳來另一重磅消息,經過與Google一年的合作,Docker宣佈支援Kubernetes,可以在同一個集群中運行Kubernetes和Swarm。大會邀請到了Kubernetes 核心作者 Tim Hockin,他在大會上說道“如果沒有Docker,就沒有Kubernetes’這種說法並不誇張。在大家看來,容器技術發展四年,已經很久了。但是,實際上今天建立分散式系統依然很難,開發者們依舊很難一起快速地搭建可靠的、可擴展的應用程式。未來還有很多需要做的事情,我相信:這僅僅是一個開始,接下來(雙方的)合作一定會給大家帶來更多。” 而Docker創始人Solomon Hykes則表示“漸漸地我們意識到,我們是同樣的一群人,關注的是同樣的事情,我們爭論並希望解決的都是同樣的問題。我們就像一個大家庭,這次其實更像是家庭的團聚。”

  12月,Docker拆分Docker Engine後捐獻的containerd也正式發行1.0版本,添加了包括創建壓力測試系統、垃圾收集和填充記憶體使用等性能改進。這意味著Docker兌現了他一年前的承諾,containerd是可以用於工業級的容器運行時標準。

1

  CoreOS重新啟程

  在Docker推出其火爆的開源項目之後,CoreOS於2013年10月開源了其Container Linux,一款基於Linux Kernel的輕量級作業系統,該系統旨在為集群部署提供基礎結構,同時側重於自動化、易於部署應用程式、安全性、可靠性和可擴展性。作為輕量作業系統,Container Linux僅提供在軟體容器內部署應用程式所需的最小功能,以及用於服務發現和配置共享的內置機制。Container Linux還提供了一個守護進程etcd,它運行在集群中的所有電腦上,並提供一個動態配置註冊表,允許在集群成員之間輕鬆可靠地共享各種配置數據。最初CoreOS與Docker緊密合作,但是後來認為Docker不滿足於“一個簡單的基礎單元”,在2014年底推出開源容器引擎Rocket(簡稱rkt)。

  而2017年,rkt派系的CoreOS捨棄掉自己調度工具Fleet,將重心轉移至Kubernetes,並在剛剛發佈了商用Kubernetes平台Tectonic1.8版本,新增開放雲服務,可以進行維護、自動化、修補和陞級等,而且可以跨裸機、本地數據中心、公有雲等多樣環境運作。

1

  阿埵菗蒮I容器技術Pouch

  Pouch是一個開源的孵化項目,源自阿堣熙’菗蒡e器技術,目前數據中心運行有數十萬個Pouch容器,大規模支撐內部離線在線業務的混部。Pouch源自阿傞4和Docker的融合,透過阿堣熙★B維和應用視角,實現了對阿堣熙’茖幼e器和物理機使用一致的體驗。

  首先,Pouch是一種富容器技術,內部應用體驗類似虛擬機,擁有init進程,富含多種系統服務;其次,透過內核加固與輕量級虛擬機支援,Pouch提供豐富的安全隔離保障和隔離維度;在鏡像分發上,特別是超大規模場景下可透過P2P的方式緩解網路負載;在內核相容性方面,更加符合企業現狀,考慮到大部分企業IT系統內核的陞級緩慢、版本較低,最大限度適配現有底層基礎設施。

1

  依然在堅持的Mesos

  比Docker的Kubernetes支援舉措早一個月,Mesos今年九月也宣佈了對Kubernetes的支援,其平台用戶可以裝設、擴展和陞級多個生產級的Kubernete集群。對此Mesosphere CTO Tobi Knaup稱此舉是為了讓用戶們可以有更多的編排系統選擇。“我們的用戶是運維團隊,有時他們需要支援上萬個開發者,他們需要多樣化的軟體,不應該將他們侷限在一個選擇之中。選擇非常重要。”

1

  要知道Mesos的Marathon可是第一個Docker容器的編排系統,比Swarm和Kubernetes都要早。在容器發展的早期,很多人會選擇Mesos來解決容器的編排問題。Apache Mesos的商業版本是DCOS,這家在第四輪融資1.12億美元的公司擁有來自HPE、微軟等強力支援,Mesosphere毫不隱晦其DCOS的目標是在全球擁有2000個用戶。目前,Mesosphere也確實擁有不錯的成績:美國十大金融服務公司中五家公司、北美十大銀行中五家銀行、全球十大通信運營商中五家、六個最大connected cars的汽車製造廠商都選擇了Mesos。而IT公司如Autodesk、yelp、當當網、豆瓣網也其忠實用戶。

  在2017年的KubeCon主題演講中,Kelsey Hightower講到,運維不要指望僅靠一個共享集群就能滿足所有人,Google的Borg系統並不是這麼設計的。對此,Mesosphere的產品市場經理Chris Gaun評價道:“Kubernetes並不是孤島,最少它需要與CI/CD方案結合在一起,在此基礎上,如果能夠配以現代化的高效數據服務和基於機器學習框架的解決方案,則會讓用戶更加滿意。”

1

  Rancher的重大轉變

  Rancher Labs致力打造作業系統級別的虛擬化工具,其中最為著名的是Linux容器。Rancher Labs公司成立與2014年,它有兩款產品即Cattle 是 Rancher自有的Docker容器管理平台,RancherOS輕量的開源容器Linux作業系統。

  曾經,Cattle是Rancher內置的編排系統,並也支援Swarm、Mesos、Kubernetes編排系統;但是今年,和CoreOS類似,Racher推出了其2.0版本的容器管理平台並宣佈all-in Kubernetes,2.0版本基於Kubernetes設計了UI,有對CLI、AP、Docker Compose的支援,還可以導入並配置自有或第三方雲廠商的集群。

  梁勝在一次媒體采訪中說到:“許多用戶都擁有Kubernetes集群,但是他們並沒有Google般理想的均一化結構。他們需要控制訪問的工具,以區分不同團隊、不同項目和不同應用。他們需要一個集中控制台,以處理不同類型的基礎設備;Kubernetes在這上面依然不盡人意,Kubernetes提供的都是自有的監控配置和網路驅動,這需一個普適的解決方案。”

  IaaS廠商也紛紛支援Kubernetes

  Google雖然內部使用的是Borg系統,但是其公有雲容器服務採用Kubernetes作編辦系統。與Kuberentes升溫曲線,比較有趣的巧合是在Gartner的IaaS廠商魔力四象限中,創立於2011年的Google雲從2014年時與IBM等其他數家廠商在Visionaries象限優勢微弱,到2016年Google雲則獨佔Visionaries象限,而在2017年Google雲則在Visionaries象限中保持一定優勢。

1

1

  今年,Azure於二月份、IBM於三月份、Oracle於九月份、阿媔釧韝Q一月、AWS於十二月宣佈正式支援Kubernetes。其實上述廠商也都已經是 Docker的合作夥伴,並提供了相關的企業級產品服務,如提供Docker Enterprise Edition(Docker EE)支援。除了常見的微服務、應用遷移場景之外,AWS、Azure、阿媔釭漁e器服務也支援機器學習場景。而Google、IBM和Oracle則直接提供了AI平台化服務。另一方面,AWS、Azure、阿媔部BGoogle雲等廠商在公有雲上所提供的容器服務近乎免費(Google),收費的只是用戶消耗的資源,關於容器編排管理的市場價值我們會下段有所提及。

  Kubernetes與Docker是敵是友?在容器生態發展的層面,這或許是個偽命題

  創業公司Docker被估值10億美元,它提供了容器運行時幾乎被默認為事實標準。而另一方面,Google的Kubernetes似乎贏得了編排引擎之爭。通常人們認為編排系統一層會帶來巨大的市場收益,所以人們都說Kubernetes對Docker造成了直接威脅。而在Cloud Technology Partnership 的首席結構師兼Forbes觀察員Mike Kavis看來,真正有市場價值的是整個的PaaS/CaaS平台,而編排系統只是其中一層而已。真正應該與Docker相提並論的應該是VMWare、CloudFoundry等,Docker盈利模式應該是對應的支援服務。

1

  相信不少人記得去年Kelsey Hightower和Solomon Hykes的Twitter爭執,其中的建設性批評應該在一定程度上幫助Docker重新審視其產品規劃。現在Kubernetes成為了Docker的賦能者;曾經任職Google 的Docker現任首席布道師Patrick Chanezon在一次采訪中表示,早些時候Kubernetes的安全性能仍然有待提高,現在情況得到了改善。

  對於開發者而言,多家編排系統相互支援是皆大歡喜的事情。開源屆英雄輩出,動態和趨勢此起彼伏,連曾經公開“吵紅臉”的Kubernetes和Docker都已經不計前嫌,旁人何須再糾結於過往。

  而Google和Docker等容器玩家更關注的是如何將成熟的容器化技術服務於企業,正如Tim Hockin說道“實際上今天建立分散式系統依然很難,開發者們依舊很難一起快速地搭建可靠的、可擴展的應用程式。”

  結語

  容器技術的價值在於開放的社區、開放的生態。如果說容器圈今年的主旋律是什麼?應該就是標準化。Kubernetes的成功在於其開放的社區政策,在於實現了開放的容器編排標準。而Docker也終於在12月份提交了容器運行時標準 containerd 1.0。

  標準化,意味著人們對這件事已經達成共識,並願意在此基礎上進行協助創新。不需要再去爭吵,不需要再各自造輪子,業界整體得以更高速有效地積累經驗和拓展新領域,從而進入穩定的成長期。

  Market Share 和 Mind Share是不同的概念。開源社區中呼聲甚高的 Kubernetes 可以說在 Mind Share 上完勝,它贏得了越來越多開發者的芳心;“不戰而屈人之兵”,它的市場自然也會隨之升溫,這也是為什麼幾乎各大雲廠商都陸續決定提供Kubernetes編排服務。

  一個開發者的項目想穫得商業的成功,必須要首先在開源社區中得到認同。在開源社區,大家可以得到最真切和最‘刺耳’的建議,Show your code please,沒有哪堣騄o裡更相信技術實力。GitHub曾經在一次媒體采訪中說道:“開源社區已經發展出了自己的社會結構,而且這種社會結構還在不停地進化中。如果你沒有全程參與進去,遲早你會被歷史的進程所拋棄。” 今天,恐怕沒有哪個IT廠商會逆行倒施。

  在12月初剛剛結束的KubeCon上,許多主題演講者屢次提到‘boring’一詞,並表示讓Kubernetes走向成功需要再次讓這個項目變得枯燥無味。有些抱怨者說,除非對構建互聯網分散式系統略知一二,否則Kubernetes是個難以理解和使用的項目,這是一個很複雜的系統。難道Kubernetes就不能不這麼‘boring’嗎?“這恰恰是一直以來的目標,在需要的地方創立Kubernetes,然後由此發展相關生態體系,而這個核心部分需要保持無聊。”Kubernetes布道師Kelsey Hightower說道。同時,紅帽公司的Clayton Coleman也表示,開發應用才是令人興奮的環節,但是運行應用這個環節需要無聊。

  It is getting boring and getting good. 八卦和談資越來越少的時候,正是人們在安心做事的時候。業界都關心怎樣能透過容器技術帶來應用層創新,帶來更多的價值。未來,讓我們拭目以待。[返回頻道首頁]

 
來不及淘寶了 教你3分鐘做出高顏值紅包封 醫院內網染病毒履殺不止 真相竟然是這樣的 出門找個車位真是難 未來用AI即時預判空車位? IPv6終於迎來發展元年 卻擋了SDN的前路? 3D列印的磁性網格機器人長這樣?可抓取小物體

為您推薦

加載更多
加載更多
加載更多
加載更多
加載更多
加載更多
加載更多
加載更多
加載更多
最新資訊離線隨時看 聊天吐槽贏獎品