摘要:因此,也是運(yùn)行谷歌的一種方式,所以本質(zhì)上來(lái)說(shuō),你注冊(cè)就是為了能夠訪問(wèn)一組指定的設(shè)計(jì)原則,這組原則會(huì)讓你的應(yīng)用程序有效運(yùn)作,像谷歌那樣輕松建立和管理您的應(yīng)用程序。
今天我們來(lái)聊聊,但不從技術(shù)細(xì)節(jié)角度,聊為什么容器、Kubernetes是值得使用和整合到你的項(xiàng)目堆棧中的。我們的目標(biāo)是給你們提供一個(gè)關(guān)于應(yīng)該如何思考你的底層構(gòu)架以及將它可視化問(wèn)題,從這個(gè)角度來(lái)談我們的話題:Kubernetes為什么重要?
簡(jiǎn)介Kubernetes旨在作為你容器的管理層。然而,它的重點(diǎn)是無(wú)縫提供給你的應(yīng)用程序真實(shí)實(shí)在的需要,滿足你的應(yīng)用程序所依賴的需要。舉個(gè)例子,這些應(yīng)用所需就是由Kubernetes提供的:訪問(wèn)與供應(yīng)商無(wú)關(guān)的數(shù)據(jù)卷、負(fù)載均衡、冗余控制、彈性擴(kuò)容、滾動(dòng)更新以及配置密鑰管理。
有了例如上述的性能和特點(diǎn),再加上由Docker和容器本身運(yùn)行時(shí)提供的打包件,管理應(yīng)用程序的實(shí)踐(不是servers)才開(kāi)始通過(guò)使用Kubernetes展開(kāi)。
Kubernetes的開(kāi)始起源于谷歌,它在谷歌系統(tǒng)中有自己的起源:Borg和Omega。許多基于這些系統(tǒng)的設(shè)計(jì)和安裝的相同概念,已經(jīng)作為一個(gè)新的表現(xiàn)形式滲入Kubernetes,這個(gè)表現(xiàn)形式包括現(xiàn)今的標(biāo)準(zhǔn),合并了很多谷歌在過(guò)去十年里吸取到的實(shí)踐經(jīng)驗(yàn)教訓(xùn)。
Kubernetes不是像很多人開(kāi)場(chǎng)白講得那樣,是Borg或者Omega的“開(kāi)源”版本;而是一個(gè)谷歌花了很多力氣來(lái)為你的工作和服務(wù)創(chuàng)建的新管理工具。Kubernetes在谷歌是利用許多年的架構(gòu)和實(shí)踐經(jīng)驗(yàn)開(kāi)始的,但是因?yàn)樗情_(kāi)源項(xiàng)目,而且已經(jīng)證明它可以真正簡(jiǎn)化開(kāi)發(fā)、操作和管理職責(zé),所以自從它的初始公開(kāi)版本在2014年6月提交后,就積累了越來(lái)越多的代碼提交貢獻(xiàn)。
這是Kubernetes自從2015年以來(lái)收到的代碼提交數(shù)量的一個(gè)截圖:
這些圖簡(jiǎn)短地描述了一個(gè)真實(shí)的、合作的Kubernetes技術(shù)社區(qū)。
導(dǎo)言就像我們之前提到過(guò)的,有很多人以個(gè)人名義或者是公司名義加入到Kubernentes。然而,真正的問(wèn)題是,你有沒(méi)有像最初開(kāi)始的那樣,按照谷歌的方式來(lái)運(yùn)行你的應(yīng)用程序和服務(wù)呢?
我們現(xiàn)在了解到的是,Kubernetes不僅僅只是一個(gè)容器管理系統(tǒng),它也從內(nèi)部查看了谷歌為實(shí)踐每一個(gè)服務(wù)和產(chǎn)品:從Gmail、搜索、地圖到GCE(服務(wù)產(chǎn)品清單還在持續(xù)增長(zhǎng)),是如何運(yùn)行他們的基礎(chǔ)設(shè)施的。
因此,Kubernetes也是運(yùn)行谷歌的一種方式,所以本質(zhì)上來(lái)說(shuō),你注冊(cè)就是為了能夠訪問(wèn)一組指定的設(shè)計(jì)原則,這組原則會(huì)讓你的應(yīng)用程序有效運(yùn)作,像谷歌那樣輕松建立和管理您的應(yīng)用程序。這并不是說(shuō),底層系統(tǒng)例如OpenStack或者AWS處理IaaS資源,就不能用了,而是說(shuō)這些系統(tǒng)都盡可能做到最好,而Kubernetes就是為帶來(lái)你的應(yīng)用程序所需要的一切而生。最終,融合Kubernetes會(huì)創(chuàng)建一個(gè)良好組件的結(jié)合。
所以,如果你正在為你的項(xiàng)目考慮Kubernetes,那么你必須信任項(xiàng)目所呈現(xiàn)的基礎(chǔ)和范式,從Pod開(kāi)始,然后剩下的concepts自然會(huì)跟過(guò)來(lái)。這將給用戶非凡的組合功能和靈活性,Kubernetes本身的視野在重新定義你的應(yīng)用程序是如何構(gòu)建的上體現(xiàn)了輔助作用。
Kubernetes為什么重要?就像最近的關(guān)于Borg、Omega和Kubernetes的那篇論文里提到的細(xì)節(jié)(論文戳這里:點(diǎn)我)Kubernetes幫助建立成套工具來(lái)輔助管理和縮放你的應(yīng)用程序。
以下是Kubernetes如何讓改進(jìn)應(yīng)用程序開(kāi)發(fā)的方法:
功能容器將應(yīng)用環(huán)境封裝,從應(yīng)用程序開(kāi)發(fā)者和基礎(chǔ)設(shè)施層面抽象掉很多機(jī)器和操作系統(tǒng)的細(xì)節(jié)。
管理API從面向機(jī)器轉(zhuǎn)到面向應(yīng)用程序,程序部署和檢查極大提高,數(shù)據(jù)中心也由面向機(jī)器轉(zhuǎn)向面向應(yīng)用程序。
應(yīng)用程序API的轉(zhuǎn)換可以讓團(tuán)隊(duì)無(wú)需擔(dān)心機(jī)器和操作系統(tǒng)的細(xì)節(jié)特性。
專注于機(jī)器上的應(yīng)用程序,這也允許團(tuán)隊(duì)以更靈活、更模塊化的方式來(lái)操作。
原因是Kubrnetes是pod的常見(jiàn)使用模式實(shí)例,或者說(shuō)是一個(gè)組件,是一個(gè)復(fù)雜應(yīng)用程序中可以編寫,運(yùn)行以及被一個(gè)小團(tuán)隊(duì)全權(quán)負(fù)責(zé)管理功能的組件。
甚至其它的Kubernetes旨在提高你的應(yīng)用程序的組件,是建立在例如像ReplicationsSets,部署,服務(wù)之類的概念之上,因此,合并鞏固所有的應(yīng)用程序需求,業(yè)務(wù)政策以及團(tuán)隊(duì),就變得簡(jiǎn)單,可以無(wú)縫銜接。你可以探測(cè)不同的Kubernetes的概念,不僅僅跟Pod互相作用,而且允許你為你的應(yīng)用在《用戶指南詞匯表》里創(chuàng)建新功能。
不同人員的任務(wù)角色Kubernetes也會(huì)通過(guò)吸引大量不同的任務(wù)角色來(lái)給你的公司構(gòu)架提供幫助。
開(kāi)發(fā)者(developers):不僅可以創(chuàng)建通用的應(yīng)用,他們還可以使用集群本質(zhì)的屬性來(lái)完成任何應(yīng)用的特定需求。
在使用案例之中,devs想要把一個(gè)特定的Node作為目標(biāo),或者將一組Nodes作為目標(biāo),表示不同的硬件細(xì)節(jié)的特定標(biāo)簽可以用于個(gè)人Pod調(diào)度。也就是,如果你想要在AMD CPU(而不是Intel)架構(gòu)上運(yùn)行你的應(yīng)用程序,或者你希望利用GPU,甚至是有大數(shù)量的RAM的Node。
消耗各種不同的機(jī)器在不僅在Kubernetes上是可能的,而且它事實(shí)上將所有的機(jī)器都拉平衡,并且將他們呈現(xiàn)為一個(gè)通用的計(jì)算資源。
這不僅由你的應(yīng)用程序體現(xiàn)了Pets vs. Cattle的意識(shí)形態(tài),你的機(jī)器也是。
運(yùn)維(Devops):Kubernetes概念,比如像Deployments,replicaSets,Services等等,所有這些都會(huì)幫助減輕運(yùn)維,確保每個(gè)應(yīng)用都有一個(gè)描述性的系列業(yè)務(wù)政策,而且這些規(guī)格都是隨時(shí)實(shí)施和維護(hù)的。
管理員(Admins):作為Kubernetes的一部分,admins可以通過(guò)使用例如像Heapster或者cAdvisor一樣的工具來(lái)獲得訪問(wèn)權(quán)和流程容器資源,同樣的,檢查集群的事件,API請(qǐng)求,監(jiān)測(cè)數(shù)據(jù),和利用Kubedash做分析。
這些不同的軟件度量不僅提供檢測(cè)Kubernetes集群服務(wù),而且還提供一個(gè)對(duì)這些應(yīng)用程序自身的細(xì)粒度理解,因?yàn)樗麄兌际嵌鄮Э刂频摹H绻话岩恍?fù)雜沉重的安裝留給用戶的話,很多在其他系統(tǒng)里的應(yīng)用程序?qū)用娴姆治鍪遣豢赡芡瓿傻摹_@些在Kubernetes上的本地功能說(shuō)明了項(xiàng)目的努力不僅是針對(duì)你的應(yīng)用程序的增長(zhǎng),而且這個(gè)水準(zhǔn)的信息是一個(gè)為你的應(yīng)用程序確定的需求,你不該自己創(chuàng)建這個(gè)功能,而是該功能應(yīng)該被通過(guò)系統(tǒng)提交給你。
其他:最近,許多不同的任務(wù)角色可以跟Kubernetes互相作用,在基礎(chǔ)水準(zhǔn)上,通過(guò)利用dashboard將你的集群可視化,同時(shí)運(yùn)行措施:比如創(chuàng)建一個(gè)新的資源,比如為對(duì)資源利用標(biāo)簽進(jìn)行查詢,比如檢查或生成報(bào)告。
整體情況為了幫助大家理解Kubernetes大框架是如何運(yùn)作,我們來(lái)展示的一些圖,可以幫助大家更好的理解這個(gè)項(xiàng)目。
就像James Burker說(shuō)的:
只有你知道自己去過(guò)哪里,你才會(huì)知道你想去往哪里。
基于這個(gè)話,我們要考慮Kubernetes的鼻祖就是Borg以及它和Borg的極大淵源。從這句話出發(fā),我們可以考慮該如何有組織的思考集群。
讓我們先來(lái)看一些從Borg的論文里讀到的情況,這不僅可以讓我們一窺Borg是如何配置的,還可以讓我們知道同樣的模型是如何應(yīng)用到Kubernetes上面的。
這里我們可以看到我們的首要云架構(gòu)從上面看是怎么樣的。
如果我們進(jìn)一步放大,我們可以檢測(cè)到每個(gè)在數(shù)據(jù)中心的建設(shè)包括了至少一個(gè)Borg集群,它被分成了約10000個(gè)機(jī)器:
再進(jìn)一步觀察這個(gè)“細(xì)胞”,我們可以一睹控制臺(tái)的組件和工人/Nodes的不同,以及Kubernetes Pods和Borg里十分相像,對(duì)于任何應(yīng)用程序后者在整個(gè)過(guò)程中的服務(wù),是唯一的原子單元。
可能就像你現(xiàn)在注意到的那樣,這里有很多平行的Borg組件,還有現(xiàn)在存在于Kubernetes之中的,特別是1:1相對(duì)應(yīng)的集群和Pods——這些相似點(diǎn)會(huì)讓你在思考聯(lián)合Kubernetes配置的時(shí)候更快想明白。
雖然Kubernetes目前還不能像Borg那樣每個(gè)集群規(guī)模達(dá)到10000個(gè)節(jié)點(diǎn),但是它最近已經(jīng)優(yōu)化到可以允許集群支持最多1000個(gè)Nodes和30000個(gè)pods,而且99%的API可以在1秒內(nèi)呼叫回應(yīng),還有99%的Pods(已經(jīng)有先拉下來(lái)的鏡像)在5秒內(nèi)開(kāi)啟——巨額收益代表規(guī)模增長(zhǎng)10倍,據(jù)報(bào)道稱根據(jù)谷歌的內(nèi)部人士稱,實(shí)際是增長(zhǎng)將近14倍。
Kubernetes當(dāng)然是為“黃金時(shí)間段”準(zhǔn)備的,不僅是因?yàn)樵S多公司都在生產(chǎn)過(guò)程中使用,而且還單純因?yàn)樗男阅芎鸵?guī)模。
結(jié)論我們希望你能夠有更好的理解在現(xiàn)今的軟件發(fā)展時(shí)代“Kubernents為什么重要”的原因,也希望你能夠更好理解如何組織以及構(gòu)架你的集群來(lái)使之整合。
去接受Kubernetes的規(guī)范,可能一開(kāi)始看起來(lái)像是消防水龍帶但本質(zhì)上是深思熟慮之后的設(shè)計(jì)原則,這原則不僅為軟件開(kāi)發(fā)展示適當(dāng)?shù)姆椒紤],還為每一個(gè)從ops到管理系統(tǒng)的不論重要還是輔助的應(yīng)用程序組件都考慮到了。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/32465.html
摘要:月日,由騰訊云聯(lián)手極客邦科技共同組織的線下沙龍會(huì)議在杭州舉辦。騰訊云技術(shù)專家姚俊軍表示。未來(lái),騰訊云將繼續(xù)保持開(kāi)放連接的理念,為電商企業(yè)提供更加智慧的解決方案,為行業(yè)云上發(fā)展賦能。 12 月 22 日,由騰訊云聯(lián)手極客邦科技共同組織的線下沙龍會(huì)議在杭州舉辦。本次沙龍會(huì)議邀請(qǐng)了來(lái)自騰訊云、小紅書、蘑菇街等企業(yè)的技術(shù)專家,共同探討了數(shù)字信息時(shí)代構(gòu)建自主可控的智能+電商平臺(tái)的趨勢(shì)和解決方案。...
摘要:月日,由騰訊云聯(lián)手極客邦科技共同組織的線下沙龍會(huì)議在杭州舉辦。騰訊云技術(shù)專家姚俊軍表示。未來(lái),騰訊云將繼續(xù)保持開(kāi)放連接的理念,為電商企業(yè)提供更加智慧的解決方案,為行業(yè)云上發(fā)展賦能。 12 月 22 日,由騰訊云聯(lián)手極客邦科技共同組織的線下沙龍會(huì)議在杭州舉辦。本次沙龍會(huì)議邀請(qǐng)了來(lái)自騰訊云、小紅書、蘑菇街等企業(yè)的技術(shù)專家,共同探討了數(shù)字信息時(shí)代構(gòu)建自主可控的智能+電商平臺(tái)的趨勢(shì)和解決方案。...
摘要:在這個(gè)風(fēng)起云涌的時(shí)代,云原生技術(shù)作為孕育這些高科技的土壤,亦是備受世人關(guān)注。結(jié)合可靠的自動(dòng)化手段,云原生技術(shù)使工程師能夠輕松地對(duì)系統(tǒng)作出頻繁和可預(yù)測(cè)的重大變更。 showImg(https://segmentfault.com/img/bVbpMA1?w=1200&h=300); 當(dāng)今的社會(huì)是高速發(fā)展的新型科技社會(huì),互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、人工智能等一系列新鮮事物如雨后春筍般噴薄而出,并以前所...
摘要:在這個(gè)風(fēng)起云涌的時(shí)代,云原生技術(shù)作為孕育這些高科技的土壤,亦是備受世人關(guān)注。結(jié)合可靠的自動(dòng)化手段,云原生技術(shù)使工程師能夠輕松地對(duì)系統(tǒng)作出頻繁和可預(yù)測(cè)的重大變更。 showImg(https://segmentfault.com/img/bVbpMA1?w=1200&h=300); 當(dāng)今的社會(huì)是高速發(fā)展的新型科技社會(huì),互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、人工智能等一系列新鮮事物如雨后春筍般噴薄而出,并以前所...
摘要:在這個(gè)風(fēng)起云涌的時(shí)代,云原生技術(shù)作為孕育這些高科技的土壤,亦是備受世人關(guān)注。結(jié)合可靠的自動(dòng)化手段,云原生技術(shù)使工程師能夠輕松地對(duì)系統(tǒng)作出頻繁和可預(yù)測(cè)的重大變更。 showImg(https://segmentfault.com/img/bVbpMA1?w=1200&h=300); 當(dāng)今的社會(huì)是高速發(fā)展的新型科技社會(huì),互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、人工智能等一系列新鮮事物如雨后春筍般噴薄而出,并以前所...
閱讀 3454·2023-04-25 23:25
閱讀 2107·2021-11-12 10:36
閱讀 2820·2019-08-30 12:47
閱讀 2046·2019-08-29 18:45
閱讀 442·2019-08-29 17:28
閱讀 1789·2019-08-29 17:15
閱讀 1714·2019-08-29 16:05
閱讀 1411·2019-08-29 14:17