10 月 17 日,Docker 在丹麥哥本哈根舉行的 DockerCon 大會(huì)上宣布,將擴(kuò)大其 Docker 平臺(tái)并選擇積極擁抱容器編排對(duì)手 Kubernetes。這意味著 Docker 客戶(hù)及開(kāi)發(fā)人員將可以選擇同時(shí)使用 Kubernetes 與 DockerSwarm 進(jìn)行容器工作負(fù)載的編排。
Docker 的創(chuàng)始人 Solomon Hykes 在大會(huì)上介紹,對(duì)于即將推出的 Docker 平臺(tái)新版本,開(kāi)發(fā)人員將能夠在其工作站中的 Kubernetes 上直接進(jìn)行生產(chǎn)應(yīng)用程序的構(gòu)建與測(cè)試。而運(yùn)營(yíng)人員則能夠從 Docker 企業(yè)版中獲得各種幫助,具體包括多租戶(hù)安全保護(hù),鏡像掃描以及基于角色的訪(fǎng)問(wèn)控制等,同時(shí)配合 Kubernetes 或者 Swarm 在生產(chǎn)環(huán)境中實(shí)現(xiàn)應(yīng)用運(yùn)行。
Solomon Hykes 在大會(huì)上表示,今后在選擇容器集群管理技術(shù)時(shí)現(xiàn)有的 Docker 開(kāi)發(fā)人員不必學(xué)習(xí)新的 Kubernetes 工具,下一個(gè)版本的 Docker 將內(nèi)置完整的 Kubernetes 發(fā)行版本,開(kāi)發(fā)人員將能夠一直使用 Docker 工具。
Docker 的理念為“Build, Ship and Run Any App, Anywhere”,通過(guò)容器和鏡像的特性讓 DevOps 變得容易,但 Docker 的前景,更在于支持分布式、服務(wù)化設(shè)計(jì),實(shí)現(xiàn)一系列可獨(dú)立開(kāi)發(fā)、獨(dú)立部署和獨(dú)立擴(kuò)展的服務(wù)組合,以保證業(yè)務(wù)的靈活性和穩(wěn)定性。
Docker 容器被稱(chēng)為容器運(yùn)行時(shí)的事實(shí)標(biāo)準(zhǔn),而在容器編排上,Kubernetes、Mesos 和來(lái)自 Docker 官方的 DockerSwarm 一直以來(lái)處于競(jìng)爭(zhēng)狀態(tài),但來(lái)自 Google 公司的 Kubernetes 以其高效、簡(jiǎn)便、高水平的可移植性等優(yōu)勢(shì)占領(lǐng)了絕大部分市場(chǎng),而如今 Docker 官方宣布將擁抱這樣一位競(jìng)爭(zhēng)對(duì)手,看起來(lái) Kubernetes 儼然贏(yíng)得了編排框架市場(chǎng)的勝利。
專(zhuān)家觀(guān)點(diǎn)TalkingData 大數(shù)據(jù)及云計(jì)算工程師 宋凈超(https://jimmysong.io)對(duì)此為讀者帶來(lái)了一番解讀:
我覺(jué)得 Kubernetes 的眼光不止于容器編排,Docker 作為 Cloud Native 生態(tài)中的最基礎(chǔ)的 Runtime,之后可能會(huì)被其他的 Container Engine 替代,到時(shí)候 Docker 也只不過(guò)是 Runtime 的一個(gè)選擇而已。
而 Kubernetes 所在的 CNCF 是為了解決企業(yè)上云的系列問(wèn)題,從 Runtime 到部署、監(jiān)控、分布式追蹤、網(wǎng)絡(luò)等等,我認(rèn)為接下來(lái)它自己也會(huì)去構(gòu)建一個(gè)相應(yīng)的云原生生態(tài)。那到時(shí)候是否又是另一場(chǎng)大戰(zhàn),我們拭目以待。
針對(duì)這個(gè)事件,通俗一點(diǎn)來(lái)講,Docker 相當(dāng)于一部功能機(jī),可以滿(mǎn)足用戶(hù)的一般需求。但是隨著移動(dòng)互聯(lián)網(wǎng)的到來(lái),大家需要更多的功能,原來(lái)的功能機(jī)已經(jīng)無(wú)法滿(mǎn)足需求了,這時(shí)候智能機(jī),比如 iPhone 開(kāi)始爆發(fā)了,這就是 Kubernetes 問(wèn)世的一個(gè)環(huán)境。
但是功能機(jī)也不甘示弱,他們有了 MTK,可以低成本去做功能啊!可以以低成本滿(mǎn)足用戶(hù) 80% 的需求。這也就是指這一次 Docker 官方說(shuō)的,它將去支持 Kubernetes。但就是那 20% 的非功能性需求決定了用戶(hù)體驗(yàn)。而 Kubernetes 正是完全有著占有用戶(hù)這 20% 需求的能力,所以一直以來(lái)它作為容器編排的實(shí)際市場(chǎng)領(lǐng)跑者。
再?gòu)囊粋€(gè)具體的點(diǎn)上去做個(gè)比喻就是,Docker 這個(gè)機(jī)子它本來(lái)只能支持單卡模式,但是現(xiàn)在它支持雙卡了,它將自己本來(lái)的主卡,也就是 DockerSwarm 放到了副卡的位置上去了,而現(xiàn)在的主卡很明顯就是 Kubernetes。但是你看 iPhone,這業(yè)界超一流的標(biāo)準(zhǔn),它只支持單卡模式,那么未來(lái) Docker 這部功能機(jī),它如果想要向著這種一流去做,它現(xiàn)在的這個(gè)雙卡戰(zhàn)略會(huì)走得遠(yuǎn)嗎?將來(lái)是否會(huì)直接將 DockerSwarm 這一副卡給去掉?
這可能是一個(gè)稍顯不恰當(dāng)?shù)谋扔鳎⒉皇琴H低 Docker 而抬升 Kubernetes,畢竟先有了 Docker 生態(tài),有了容器化之后才有了 Kubernetes,這里只是為了讓讀者切身感受,幫助理解。