2017年的云計(jì)算市場(chǎng)宫莱,有一個(gè)領(lǐng)域獲得了空前的關(guān)注 -- Kubernetes。 Kubernetes可以追溯到2014年哩罪,當(dāng)時(shí)Google公開(kāi)發(fā)布了該項(xiàng)目的開(kāi)源代碼授霸。2017年,Kubernetes廣受歡迎际插,幾乎所有的主要IT供應(yīng)商都支持這個(gè)平臺(tái)碘耳。
小數(shù)今天推送的這篇文章,為您揭示Kubernetes與Docker容器之間是怎樣的關(guān)系框弛?對(duì)企業(yè)客戶又意味著什么辛辨?
1
Kubernetes是一個(gè)開(kāi)源項(xiàng)目,提供容器編排瑟枫,部署和管理功能斗搞。自 2015 年 7月以來(lái),它一直是由Linux基金會(huì)下的云原生計(jì)算基金會(huì)(CNCF)運(yùn)營(yíng)慷妙。盡管Kubernetes不再只是Google的一個(gè)項(xiàng)目僻焚,Google仍然貢獻(xiàn)了遠(yuǎn)大于比其他任何機(jī)構(gòu)的代碼量。
將AIX應(yīng)用程序遷移到云的最佳實(shí)踐
Kubernetes 2017年如此耀眼膝擂,2018年Kubernetes將繼續(xù)成為一支重要的力量虑啤。要理解這點(diǎn)隙弛,首先要認(rèn)識(shí)到這項(xiàng)技術(shù)和云計(jì)算的完美契合之處。
在過(guò)去三咐旧,四年中驶鹉,越來(lái)越多的企業(yè)選擇使用Docker容器來(lái)部署云工作負(fù)載。Docker容器提供的既是運(yùn)行容器化應(yīng)用程序的運(yùn)行時(shí)铣墨,也是封裝和交付容器應(yīng)用的格式室埋。容器提供了直接在虛擬機(jī)管理程序內(nèi)部改善可移植性和效率的承諾。
隨著容器使用量的增長(zhǎng)伊约,需要對(duì)容器集群進(jìn)行編排姚淆,調(diào)度和控制。這就是Kubernetes適合的地方屡律。Kubernetes提供了大規(guī)模運(yùn)行容器的編排系統(tǒng)和管理平臺(tái)腌逢。還提供了一系列API抽象,使其他技術(shù)可以插入超埋,使平臺(tái)具有很強(qiáng)的可擴(kuò)展性搏讶,并且能夠支持各種不同的供應(yīng)商部署用例。
比其核心編排能力更重要的是霍殴,Kubernetes在2017年成為實(shí)現(xiàn)多云世界的事實(shí)平臺(tái)媒惕。雖然AWS在2017年繼續(xù)主導(dǎo)公有云,但企業(yè)仍然希望能夠在多個(gè)云上部署和運(yùn)行應(yīng)用程序来庭。
容器提供了運(yùn)行應(yīng)用程序的基本包裝妒蔚,可以在任何支持容器的云上部署。有了Kubernetes月弛,就有了一個(gè)平臺(tái)肴盏,可以幫助企業(yè)在運(yùn)行Kubernetes的云或本地部署管理容器的部署和編排。
云中的Kubernetes
一顆種子總會(huì)發(fā)芽帽衙,結(jié)出碩果菜皂。在作為開(kāi)源技術(shù)的短短3年時(shí)間里,Kubernetes成為基于容器的工作負(fù)載的默認(rèn)編排引擎厉萝。雖然捐贈(zèng)的是1.0版本恍飘,但是谷歌在大規(guī)模運(yùn)行容器方面有十年的研究和經(jīng)驗(yàn)。
Google是否在內(nèi)部使用Kubernetes冀泻?來(lái)自Kubernetes博客:“Google上的許多開(kāi)發(fā)人員都是以前在Borg項(xiàng)目上的開(kāi)發(fā)人員常侣。我們已經(jīng)將Borg的最佳創(chuàng)意融入了Kubernetes,并試圖解決用戶在多年來(lái)與Borg確定的一些痛點(diǎn)弹渔「焓”
谷歌在一些內(nèi)部項(xiàng)目中使用Kubernetes的聲音很清晰,且很快就會(huì)改變一些現(xiàn)有的關(guān)鍵產(chǎn)品肢专。即使未來(lái)需要更好的展示舞肆,Kubernetes也可以輕松定制 – 最大的好處是可以根據(jù)需要將自定義組件與現(xiàn)有組件進(jìn)行混合和匹配焦辅。
以下是Google在過(guò)去幾年 Kubernetes 的搜索量增長(zhǎng)情況:
Google在Kubernetes上運(yùn)行的Linux容器(LXC)并不是那么容易處理,而且需要掌握更多的專業(yè)知識(shí)椿胯。
2017年初筷登,Kubernetes 只支持谷歌云平臺(tái)(GCP)和谷歌Kubernetes引擎(GKE),但是在一年中哩盲,擴(kuò)展到包括所有三家主要的公有云供應(yīng)商前方。
二月份,微軟正式加入支持Kubernetes的行列廉油,宣布 Azure容器服務(wù)支持Kubernetes惠险。去年11月,Kubernetes在亞馬遜彈性容器服務(wù)(Amazon EKS)首次亮相抒线。
除了公有云支持外班巩,CNCF在9月份還宣布了Kubernetes認(rèn)證服務(wù)提供商計(jì)劃。該計(jì)劃現(xiàn)在有25個(gè)合作伙伴公司開(kāi)發(fā)和銷售自己的Kubernetes發(fā)行版并提供管理服務(wù)嘶炭。為了確保不同Kubernetes供應(yīng)商和平臺(tái)之間的互操作性抱慌,CNCF于2017年11月推出了認(rèn)證Kubernetes計(jì)劃,目前擁有42個(gè)成員公司眨猎。
Docker
Kubernetes部署大多使用Docker作為默認(rèn)的容器引擎抑进,除此之外還有CoreOS的rkt等。就其本身而言宵呛,Docker有一個(gè)叫做Swarm的自身的編排系統(tǒng)单匣,首次亮相于2014年12月夕凝。
在許多企業(yè)的容器部署中宝穗,多數(shù)情況是Docker容器引擎正在被使用,Kubernetes被選擇作為編排工具码秉,而不是Swarm逮矛。10月17日,在與Kubernetes進(jìn)行了三年的市場(chǎng)競(jìng)爭(zhēng)之后转砖,Docker Inc.宣布也將支持Kubernetes须鼎。
要清楚的是,Docker公司并沒(méi)有放棄自己的Swarm容器編排系統(tǒng); 相反府蔗,它同時(shí)支持Swarm和Kubernetes晋控,讓企業(yè)可以選擇想要使用的平臺(tái)。
在接受eWEEK 視頻采訪時(shí)姓赤,Docker首席執(zhí)行官史蒂夫·辛格(Steve Singh)解釋了為什么選擇擁抱Kubernetes赡译。Singh說(shuō):“Kubernetes為我們所做的事情是消除了任何潛在的混亂和沖突。我們有愛(ài)Kubernetes的客戶不铆,也有愛(ài)Docker Swarm的客戶蝌焚,不應(yīng)該強(qiáng)迫客戶在兩者之間做出選擇裹唆,而是讓他們選擇想要使用他們的東西。 ”
Kubernetes之前的Docker 讓容器變得更酷只洒,更易用许帐。由Docker公司推出的Docker 在LXC功能的擴(kuò)展之外,增加了多種功能毕谴。包括跨機(jī)器的可移植部署成畦,版本控制,組件重用以及現(xiàn)在的 Docker Hub 涝开,它提供了“開(kāi)發(fā)測(cè)試流水線自動(dòng)化羡鸥,100,000個(gè)免費(fèi)應(yīng)用程序,公共和私有注冊(cè)中心”忠寻。
以下是Google for Docker搜索量增長(zhǎng)的圖表:
Kubernetes 1.9和超越
2017年惧浴,Kubernetes更新了四個(gè)主要版本,增加了新的特性和功能奕剃。第一個(gè)主要版本是3月27日推出的Kubernetes 1.6衷旅,帶來(lái)了新的可擴(kuò)展性和穩(wěn)定性功能。Kubernetes 1.7于6月29日發(fā)布纵朋,提供了幫助管理和保護(hù)容器基礎(chǔ)設(shè)施的新功能柿顶。第三個(gè)版本是1.8更新,于9月28日推出操软,并支持基于角色的訪問(wèn)控制(Role-Based Access Control嘁锯,RBAC)。
Kubernetes 1.9是2017年的最后一次重大更新聂薪,于12月15日正式推出家乘。Kubernetes 1.9的亮點(diǎn)是Apps Workloads API,它為 Kubernetes 中長(zhǎng)時(shí)間運(yùn)行無(wú)狀態(tài)和有狀態(tài)工作負(fù)載提供了基礎(chǔ)藏澳。
這是Kubernetes轉(zhuǎn)型的一年仁锯,2017開(kāi)源的努力始于一家公有云供應(yīng)商,終于年底支持所有三家主要的公有云提供商翔悠。該項(xiàng)目也從Docker競(jìng)爭(zhēng)對(duì)手的角色轉(zhuǎn)到被Docker擁抱业崖。多云的承諾長(zhǎng)久以來(lái)只是一個(gè)承諾。作為一個(gè)可以在任何公有云提供商上啟用容器應(yīng)用程序工作負(fù)載的抽象層蓄愁,隨著Kubernetes 2017年的興起双炕,2018多云承諾將成為現(xiàn)實(shí)。
2
Kubernetes正在鞏固自己作為事實(shí)上的容器編排引擎的地位撮抓,而Docker幫助實(shí)現(xiàn)了這一點(diǎn)妇斤。盡管Docker一直是領(lǐng)先的容器技術(shù),但容器編排市場(chǎng)還沒(méi)這么清晰。2017年末趟济,隨著包括Docker在內(nèi)的主要云平臺(tái)提供商支持Kubernetes和一些令人驚訝的CNCF成員資格的增加乱投,這種情況發(fā)生了變化。
正確的時(shí)機(jī)
“時(shí)機(jī)就是一切”顷编,對(duì)于Kubernetes來(lái)說(shuō)戚炫,這似乎是正確的。通過(guò)讓容器更易用媳纬,Docker正在推動(dòng)Kubernetes的發(fā)展双肤。事實(shí)上,它已經(jīng)成為每個(gè)公司發(fā)展的共生關(guān)系 钮惠。使用Kubernetes的人越多茅糜,使用Docker的也會(huì)越多,反之亦然素挽。
根據(jù) Portworx2017年度容器采購(gòu)調(diào)查 (2017年2月至3月完成)蔑赘,有兩項(xiàng)統(tǒng)計(jì)數(shù)據(jù)顯示:
“對(duì)于擁有超過(guò)5000名員工的公司,Kubernetes的使用率為48%预明,主要編排工具占33%缩赛。”
“79%的樣本選擇Docker作為主要容器技術(shù)撰糠∷肘桑”
為了進(jìn)一步加持 Kubernetes 領(lǐng)導(dǎo)者地位,大型云計(jì)算和軟件供應(yīng)商們紛紛加入阅酪,以支持Docker容器的工作負(fù)載旨袒。
Kubernetes商業(yè)化產(chǎn)品
自從開(kāi)源以來(lái),Kubernetes有很多商業(yè)化產(chǎn)品术辐,在過(guò)去的幾個(gè)月砚尽,這個(gè)list上取得了重大且令人印象深刻的突破。
以Google(Google ContainerEngine)术吗,Red Hat(OpenShift)尉辑,CoreOS(Tectonic)帆精,Canonical和 Apprenda 為長(zhǎng)期商業(yè)供應(yīng)商(長(zhǎng)期以月計(jì))较屿。微軟和VMware也已經(jīng)提供了對(duì)Kubernetes的支持,最近已經(jīng)全面all-in 推出卓练。
2017 Kubernetes 得勝之年
2017年下半年隘蝎,主要云服務(wù)商將Kubernetes添加到其核心產(chǎn)品中。值得注意的公告包括:
亞馬遜網(wǎng)絡(luò)服務(wù)(AWS)于八月份以白金會(huì)員 (最高級(jí)別) 加入了CNCF襟企。雖然AWS加入CNCF與 Kubernetes 沒(méi)有直接關(guān)系嘱么,但AWS擁有大量客戶在運(yùn)行容器和Kubernetes。
之后顽悼,10月份曼振,Cloud Foundry基金會(huì)宣布了由Kubernetes提供支持的Cloud Foundry Container Runtime(CFCR)几迄,而Pivotal Cloud Foundry(與VMware合作 )則 于10月份在VMworld 宣布了Pivotal Container Service(PKS)。Pivotal和VMware都作為CNCF的白金會(huì)員注冊(cè)冰评; 再次映胁,可用的最高水平。
VMware正在與Kubernetes合作的事實(shí)是一個(gè)明確的信號(hào)甲雅,Kubernetes和容器希望保持相關(guān)性解孙。許多人質(zhì)疑容器和云計(jì)算是否會(huì)取代虛擬機(jī)。雖然專家認(rèn)為他們?cè)谄髽I(yè)中存在共存的空間抛人,但可以看看VMware這位虛擬化之王的明顯轉(zhuǎn)變弛姜。
在十月之后,Microsoft 將 Azure容器服務(wù) (ACS)更名 為AKS妖枚,K代表Kubernetes廷臼。這與他們以前的觀點(diǎn)有很大的轉(zhuǎn)變,即 ACS的好處之一是它支持多種編排工具 绝页。
即使是Docker Inc.也已經(jīng)屈服中剩,最近在其Docker企業(yè)版框架中添加了本地Kubernetes支持。這對(duì)Kubernetes來(lái)說(shuō)是一個(gè)重大的勝利抒寂,并將推動(dòng)Docker自己的編排平臺(tái)Docker Swarm的未來(lái)發(fā)展结啼。
Docker甚至委托獨(dú)立基準(zhǔn)測(cè)試來(lái)對(duì)比Swarm和Kubernetes 。兩者肯定都有用例屈芜,但Kubernetes得到Google支持的事實(shí)是經(jīng)過(guò)了戰(zhàn)斗性測(cè)試的(還記得 PokémonGO嗎 郊愧? ),并且擁有巨大的社區(qū)支持井佑,企業(yè)把它看作標(biāo)準(zhǔn)的容器編排引擎属铁。
這對(duì)企業(yè)意味著什么?
Kubernetes和Docker一直在堅(jiān)持躬翁。隨著公司遷移到云端焦蘑,他們會(huì)發(fā)現(xiàn)他們有一些需求PaaS或IaaS最適合,還有一些其他需求容器(有些人稱之為CaaS)會(huì)更適合盒发。
為了享受到上云帶來(lái)的好處例嘱,企業(yè)正在轉(zhuǎn)向DevOps和云原生開(kāi)發(fā)。采用DevOps時(shí)宁舰,企業(yè)開(kāi)始使用運(yùn)行在容器中的微服務(wù)拼卵,將應(yīng)用程序構(gòu)建為獨(dú)立的組件。這些團(tuán)隊(duì)將會(huì)變得更新琛( 亞馬遜CTO Werner Vogels 創(chuàng)造了“雙比薩團(tuán)隊(duì)”(two-pizza team)一詞)腋腮,并且能夠獨(dú)立于應(yīng)用的其他組件更新其“服務(wù)”的功能。
通過(guò)將開(kāi)發(fā)工作分解為專注于解耦服務(wù)的小型團(tuán)隊(duì),企業(yè)可以擴(kuò)展開(kāi)發(fā)工作即寡,并更快地為客戶/用戶提供價(jià)值』惭疲現(xiàn)在,已然不是每六個(gè)月更新一次的代碼庫(kù)聪富,而是按需隨時(shí)進(jìn)行更新实柠。
自動(dòng)化是復(fù)雜的抽象,為了使這項(xiàng)工作自動(dòng)化善涨,提供一個(gè)簡(jiǎn)單窒盐,可重復(fù)的方式來(lái)安全地交付和部署軟件,團(tuán)隊(duì)會(huì)更頻繁地執(zhí)行钢拧。
技術(shù)的抽象和多樣使監(jiān)控成為難題的重要部分蟹漓。企業(yè)擁有數(shù)千個(gè)獨(dú)立移動(dòng)的部件,其中許多可能顯示為傳統(tǒng)監(jiān)控解決方案的黑盒子源内。隨著企業(yè)邁向云原生葡粒,越來(lái)越多的應(yīng)用程序正在云中運(yùn)行,專門(mén)設(shè)計(jì)并運(yùn)行良好的監(jiān)控方法至關(guān)重要膜钓。
2018年將發(fā)生什么嗽交?Kubernetes給業(yè)務(wù)需求和企業(yè)客戶能夠帶來(lái)的改變已經(jīng)明晰,作為構(gòu)建和運(yùn)行云原生應(yīng)用的平臺(tái)乘勝追擊颂斜,能夠在多大比例的企業(yè)實(shí)現(xiàn)軟著陸呢夫壁?大概套用那句老話是最準(zhǔn)確的:前途是光明的,道路是曲折的沃疮。
原文鏈接:
1盒让、2018 is the year of Kubernetes – with some help from Docker
https://www.tuicool.com/articles/QBFjAf6
2、2017 Year in Review: Kubernetes Enables a Multi-Cloud World
http://www.eweek.com/cloud/2017-year-in-review-kubernetes-enables-a-multi-cloud-world