本篇內(nèi)容介紹了“Kubernetes的概念和作用是什么”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到旺蒼網(wǎng)站設(shè)計(jì)與旺蒼網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、空間域名、網(wǎng)頁(yè)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋旺蒼地區(qū)。
是時(shí)候該學(xué)習(xí)Kubernetes
了,不然都不敢說(shuō)自己了解容器、了解Docker。
Kubernetes
,它是一個(gè)全新的基于容器技術(shù)的分布式架構(gòu)方案,近些年在容器領(lǐng)域使用非常廣泛,作為容器化部署實(shí)施的典型方案。
看似很新(相對(duì)于剛出現(xiàn)時(shí)來(lái)說(shuō)),但它卻是谷歌十幾年以來(lái)大規(guī)模應(yīng)用容器技術(shù)的經(jīng)驗(yàn)積累和升華的重要成果。確切地說(shuō),Kubernetes
是谷歌嚴(yán)格保密十幾年的秘密武器——Borg
的一個(gè)開(kāi)源版本。Borg是谷歌的一個(gè)久負(fù)盛名的內(nèi)部使用的大規(guī)模集群管理系統(tǒng),它基于容器技術(shù),目的是實(shí)現(xiàn)資源管理的自動(dòng)化,以及跨過(guò)個(gè)數(shù)據(jù)中心資源利用率的最大化。十幾年以來(lái),谷歌一直通過(guò)Borg
系統(tǒng)管理者數(shù)據(jù)龐大的應(yīng)用程序集群,由于谷歌員工都簽署了保密協(xié)議,即使離職也不能泄露Borg
的內(nèi)部設(shè)計(jì),所以外界一直無(wú)法了解關(guān)于它的更多信息。直到2015年4月,傳聞許久的Borg
論文發(fā)布,伴隨著Kubernetes
的高調(diào)宣傳被谷歌首次公開(kāi),大家才得以了解它的更多內(nèi)幕。正式由于站在Borg
這個(gè)前輩的肩膀上,汲取了Borg
過(guò)去十年間的經(jīng)驗(yàn)與教訓(xùn),所以Kubernetes
一經(jīng)開(kāi)源就一鳴驚人,并迅速稱霸容器領(lǐng)域。
Borg
就是一個(gè)噴氣式飛機(jī)的駕駛系統(tǒng),非常的專業(yè)和高大上,他適用于谷歌這樣的大公司,它有幾百萬(wàn)的機(jī)器。Kubernetes
是一個(gè)它的簡(jiǎn)化版,它是一輛設(shè)計(jì)優(yōu)良的轎車,它適合中小型公司,更方便的用它來(lái)調(diào)度自己的集群。
Kubernetes
是用于自動(dòng)部署,擴(kuò)展和管理容器化應(yīng)用程序的開(kāi)源系統(tǒng),它將組成應(yīng)用程序的容器組合成邏輯單元,以便于管理和服務(wù)發(fā)現(xiàn)。Kubernetes
源自谷歌15年生產(chǎn)環(huán)境的運(yùn)維經(jīng)驗(yàn),同時(shí)凝聚了社區(qū)的最佳創(chuàng)意和實(shí)踐。
Kubernetes
,構(gòu)建在Docker技術(shù)之上,為跨主機(jī)的容器化應(yīng)用提供資源調(diào)度、服務(wù)發(fā)現(xiàn)、高可用管理和彈性伸縮等一整套功能,它提供了完善的管理工具,涵蓋開(kāi)發(fā)、部署測(cè)試、運(yùn)維監(jiān)控等各個(gè)環(huán)節(jié)。它的目標(biāo)不僅僅是一個(gè)編排系統(tǒng),更是提供一個(gè)規(guī)范,可以讓你來(lái)描述集群的架構(gòu),定義服務(wù)的最終狀態(tài),Kubernetes
可以幫你將系統(tǒng)自動(dòng)達(dá)到和維持在這個(gè)狀態(tài)。
亮點(diǎn)1:Kubernetes
以“一切以服務(wù)(Service)為中心,一切圍繞服務(wù)運(yùn)轉(zhuǎn)”作為指導(dǎo)思想的創(chuàng)新型產(chǎn)品。它在功能和架構(gòu)設(shè)計(jì)上始終遵循著這一指導(dǎo)思想,構(gòu)建在Kubernetes
上的系統(tǒng)不僅可以獨(dú)立運(yùn)行在物理機(jī)、虛擬機(jī)集群或企業(yè)私有云上,也可以被托管在公有云上。
亮點(diǎn)2:Kubernetes
是一個(gè)開(kāi)放的開(kāi)發(fā)平臺(tái)。與J2EE不同,它不局限于任何一種語(yǔ)言,沒(méi)有限定任何編程接口,所以不論是用Java、Go、C++還是Python編寫的程序,都可以被映射為Kubernetes
的Service,并通過(guò)標(biāo)準(zhǔn)的TCP通訊協(xié)議進(jìn)行交互。此外,Kubernetes
平臺(tái)對(duì)現(xiàn)有的編程語(yǔ)言、編程框架、中間件沒(méi)有任何侵入性,做到了零侵入,因此現(xiàn)有的系統(tǒng)也很容易改造升級(jí)并遷移到Kubernetes
平臺(tái)之上。
亮點(diǎn)3:Kubernetes
的另一個(gè)亮點(diǎn)是自動(dòng)化。在Kubernetes
的解決方案中,一個(gè)可以自我擴(kuò)展、自我診斷,并且容易升級(jí),在收到服務(wù)擴(kuò)容的請(qǐng)求后,Kubernetes
會(huì)觸發(fā)調(diào)度流程,最終在選定的目標(biāo)節(jié)點(diǎn)上啟動(dòng)相應(yīng)數(shù)據(jù)的服務(wù)實(shí)例副本,這些服務(wù)實(shí)例副本在啟動(dòng)成功后會(huì)自動(dòng)加入負(fù)載均衡器中并生效,整個(gè)過(guò)程無(wú)須額外的人工操作。另外,Kubernetes
會(huì)定時(shí)巡查每個(gè)服務(wù)的所有實(shí)例的可用性,確保服務(wù)實(shí)例的數(shù)量始終保持為預(yù)期的數(shù)量,當(dāng)它發(fā)現(xiàn)某個(gè)實(shí)例不可用時(shí),會(huì)自動(dòng)重啟該實(shí)例或者其他節(jié)點(diǎn)上重新調(diào)度、運(yùn)行一個(gè)新實(shí)例,這樣一個(gè)復(fù)雜的過(guò)程無(wú)須人工干預(yù)即可全部自動(dòng)完成。
亮點(diǎn)4:Kubernetes
是一個(gè)完備的分布式系統(tǒng)支撐平臺(tái)。具備完備的集群管理能力,包括多層次的安全防護(hù)和準(zhǔn)入機(jī)制、多租戶應(yīng)用支撐能力、透明的服務(wù)注冊(cè)和服務(wù)發(fā)現(xiàn)機(jī)制、內(nèi)建的智能負(fù)載均衡器、強(qiáng)大的故障發(fā)現(xiàn)和自我修復(fù)能力、服務(wù)滾動(dòng)升級(jí)和在線擴(kuò)容能力、可擴(kuò)展的資源自動(dòng)調(diào)度機(jī)制,以及多粒度的資源配額管理能力。同時(shí),Kubernetes
提供了完善的管理工具,這些涵蓋了包括開(kāi)發(fā)、部署測(cè)試、運(yùn)維監(jiān)控在內(nèi)的各個(gè)環(huán)節(jié)。因此,Kubernetes
是一個(gè)全新的基于容器技術(shù)的分布式架構(gòu)解決方案,并且是一個(gè)一站式的完備的分布式系統(tǒng)開(kāi)發(fā)和支持平臺(tái)。
隨著容器化部署環(huán)境限制、語(yǔ)言差異、容器數(shù)量的龐大、負(fù)載均衡、故障檢測(cè)、故障修復(fù)等問(wèn)題,倘若將過(guò)多的精力、時(shí)間放在這些地方,其工作量將會(huì)多大,將會(huì)讓很多企業(yè)、產(chǎn)品對(duì)容器望而止步。在容器化的時(shí)代,Kubernetes
足以免去上述面臨的問(wèn)題,讓容器化使用變得的更加容易、輕松,只需花費(fèi)更多的時(shí)間去完成業(yè)務(wù)功能的開(kāi)發(fā)。
Kubernetes
特性如下:
Service拓?fù)洌?/strong>基于集群拓?fù)涞姆?wù)流量路由??梢宰屢粋€(gè)服務(wù)基于集群的Node
拓?fù)溥M(jìn)行流量路由。例如,一個(gè)服務(wù)可以指定流量是被優(yōu)先路由到一個(gè)和客戶端在同一個(gè)Node
或者在同一可用區(qū)域的端點(diǎn)。
端點(diǎn)切片:Kubernetes 集群中網(wǎng)絡(luò)端點(diǎn)的可擴(kuò)展跟蹤。
存儲(chǔ)編排:自動(dòng)掛載所選存儲(chǔ)系統(tǒng),包括本地存儲(chǔ)、諸如 GCP 或 AWS 之類公有云提供商所提供的存儲(chǔ)或者諸如 NFS、iSCSI、Gluster、Ceph、Cinder 或 Flocker 這類網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)。
Secret和配置管理:部署和更新 Secrets 和應(yīng)用程序的配置而不必重新構(gòu)建容器鏡像,且不必將軟件堆棧配置中的秘密信息暴露出來(lái)。
批量執(zhí)行:除了服務(wù)之外,Kubernetes 還可以管理你的批處理和 CI 工作負(fù)載,在期望時(shí)替換掉失效的容器。
服務(wù)發(fā)現(xiàn)與負(fù)載均衡:無(wú)需修改您的應(yīng)用程序即可使用陌生的服務(wù)發(fā)現(xiàn)機(jī)制。Kubernetes 為容器提供了自己的 IP 地址和一個(gè) DNS 名稱,并且可以在它們之間實(shí)現(xiàn)負(fù)載均衡。
自我修復(fù):重新啟動(dòng)失敗的容器,在節(jié)點(diǎn)死亡時(shí)替換并重新調(diào)度容器,殺死不響應(yīng)用戶定義的健康檢查的容器,并且在它們準(zhǔn)備好服務(wù)之前不會(huì)將它們公布給客戶端。
自動(dòng)化上線和回滾:Kubernetes 會(huì)分步驟地將針對(duì)應(yīng)用或其配置的更改上線,同時(shí)監(jiān)視應(yīng)用程序運(yùn)行狀況以確保你不會(huì)同時(shí)終止所有實(shí)例。如果出現(xiàn)問(wèn)題,Kubernetes 會(huì)為你回滾所作更改。你應(yīng)該充分利用不斷成長(zhǎng)的部署方案生態(tài)系統(tǒng)。
自動(dòng)裝箱:根據(jù)資源需求和其他約束自動(dòng)放置容器,同時(shí)避免影響可用性。將關(guān)鍵性工作負(fù)載和盡力而為性質(zhì)的服務(wù)工作負(fù)載進(jìn)行混合放置,以提高資源利用率并節(jié)省更多資源。
IPv4/IPv6雙協(xié)議棧:為 Pod 和 Service 分配 IPv4 和 IPv6 地址。
水平擴(kuò)縮:使用一個(gè)簡(jiǎn)單的命令、一個(gè)UI或基于CPU使用情況自動(dòng)對(duì)應(yīng)用程序進(jìn)行擴(kuò)縮。
使用Kubernetes
的理由很多,最重要的理由是,IT行業(yè)從來(lái)都是由新技術(shù)驅(qū)動(dòng)的。
當(dāng)前,Docker容器化技術(shù)已經(jīng)被很多公司采用,從單機(jī)走向集群已成為必然。云計(jì)算的蓬勃發(fā)展正在加速這一進(jìn)程。Kubernetes
作為當(dāng)前被業(yè)界廣泛認(rèn)可和看好的基于Docker的大規(guī)模容器化分布式系統(tǒng)解決方案,得到了以谷歌為首的IT巨頭們的大力宣傳和維持推進(jìn)。
2015年,谷歌聯(lián)合20多家公司一起建立了CNCF
(Cloud Native Computing Foundation,云原生計(jì)算基金會(huì))開(kāi)源組織來(lái)推廣Kubernetes
,并由此開(kāi)創(chuàng)了云原生應(yīng)用(Cloud Native Application)的新時(shí)代。作為CNCF“欽定”的官方云原生平臺(tái),Kubernetes
正在顛覆應(yīng)用程序的開(kāi)發(fā)方式。
不妨從以下幾個(gè)方面來(lái)看看,你一定會(huì)喜歡上它的哦!
使用 Kubernetes
部署任何應(yīng)用都是小菜一碟。只要應(yīng)用可以打包成鏡像,能夠容器部署,Kubernetes
就一定能啟動(dòng)它。
不管什么語(yǔ)言、什么框架寫的應(yīng)用(如:Java, Python, Node.js),Kubernetes
都可以在任何環(huán)境中安全的啟動(dòng)它,如:物理服務(wù)器、虛擬機(jī)、云環(huán)境。
如果你有換云環(huán)境的需求,例如從GCP到AWS,使用Kubernetes
的話,你就不用有任何擔(dān)心。
Kubernetes
完全兼容各種云服務(wù)提供商,例如 Google Cloud
、Amazon
、Microsoft Azure
,還可以工作在 CloudStack
, OpenStack
, OVirt
, Photon
, VSphere
等。
看下圖,左邊是4個(gè)虛擬機(jī),黃色和藍(lán)色部分是運(yùn)行的應(yīng)用,白色部分是未使用的內(nèi)存和處理器資源。
右邊,同樣的應(yīng)用打包運(yùn)行在容器中。
Kubernetes
如果發(fā)現(xiàn)有節(jié)點(diǎn)工作不飽和,便會(huì)重新分配pod
,幫助我們節(jié)省開(kāi)銷,高效的利用內(nèi)存、處理器等資源。
如果一個(gè)節(jié)點(diǎn)宕機(jī)了,Kubernetes
會(huì)自動(dòng)重新創(chuàng)建之前運(yùn)行在此節(jié)點(diǎn)上的pod
,在其他節(jié)點(diǎn)上運(yùn)行。
網(wǎng)絡(luò)、負(fù)載均衡、復(fù)制等特性,對(duì)于Kubernetes
都是開(kāi)箱即用的。
pod是無(wú)狀態(tài)運(yùn)行的,任何時(shí)候有pod宕了,立馬會(huì)有其他pod接替它的工作,用戶完全感覺(jué)不到。
如果用戶量突然暴增,現(xiàn)有的pod規(guī)模不足了,那么會(huì)自動(dòng)創(chuàng)建出一批新的pod,以適應(yīng)當(dāng)前的需求。
反之亦然,當(dāng)負(fù)載降下來(lái)的時(shí)候,Kubernetes
也會(huì)自動(dòng)縮減 pod 的數(shù)量。
你不必精通于Chef
和 Ansible
這類工具,只需要對(duì) CI 服務(wù)寫個(gè)簡(jiǎn)單的腳本然后運(yùn)行它,就會(huì)使用你的代碼創(chuàng)建一個(gè)新的 pod,并部署到 Kubernetes
集群里面。
應(yīng)用打包在容器中使其可以安全的運(yùn)行在任何地方,例如你的 PC、一個(gè)云服務(wù)器,使得測(cè)試極其簡(jiǎn)單。
Kubernetes
如此流行的一個(gè)重要原因是:應(yīng)用會(huì)一直順利運(yùn)行,不會(huì)被pod或節(jié)點(diǎn)的故障所中斷。
如果出現(xiàn)故障,Kubernetes
會(huì)創(chuàng)建必要數(shù)量的應(yīng)用鏡像,并分配到健康的pod或節(jié)點(diǎn)中,直到系統(tǒng)恢復(fù)。
而且用戶不會(huì)感到任何不適。
一個(gè)容器化的基礎(chǔ)設(shè)施是有自愈能力的,可以提供應(yīng)用程序的不間斷操作,即使一部分基礎(chǔ)設(shè)施出現(xiàn)故障。
Kubernetes
使得應(yīng)用的啟動(dòng)、遷移、部署變得簡(jiǎn)單又安全。
不必?fù)?dān)心應(yīng)用遷移后工作出現(xiàn)問(wèn)題,也不用擔(dān)心一臺(tái)服務(wù)器無(wú)法應(yīng)付突發(fā)的用戶量。
需要注意的是,你的應(yīng)用最好使用微服務(wù)架構(gòu)進(jìn)行開(kāi)發(fā),因?yàn)槲⒎?wù)應(yīng)用比單體應(yīng)用更適合做容器化。
不要為了單純的使用Kubernetes
而引入,要看你的系統(tǒng)規(guī)模是否值得去用,否則可能適得其反,畢竟Kubernetes
的學(xué)習(xí)是需要一定成本。
參考文章:
http://www.mamicode.com/info-detail-1436432.html
https://yellow.systems/blog/why-you-should-use-kubernetes-in-your-next-project
“Kubernetes的概念和作用是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
新聞標(biāo)題:Kubernetes的概念和作用是什么
標(biāo)題鏈接:http://jinyejixie.com/article36/gpgcpg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、ChatGPT、外貿(mào)建站、網(wǎng)站內(nèi)鏈、建站公司、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)