真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Kubernetes的用途和特點(diǎn)是什么

本篇內(nèi)容主要講解“Kubernetes的用途和特點(diǎn)是什么”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“Kubernetes的用途和特點(diǎn)是什么”吧!

成都創(chuàng)新互聯(lián)長(zhǎng)期為超過(guò)千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為沂源企業(yè)提供專業(yè)的網(wǎng)站制作、做網(wǎng)站,沂源網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。


目錄

一. Kubernetes用途

二. Kubernetes特點(diǎn)

三. 介紹容器技術(shù)

四. Kubernetes能做什么?

五. 使用Kubernetes的好處

六. 了解架構(gòu)


一. Kubernetes用途

Kubernetes是容器集群管理系統(tǒng),是一個(gè)開(kāi)源的平臺(tái),可以實(shí)現(xiàn)容器集群的自動(dòng)化部署,自動(dòng)擴(kuò)縮容,維護(hù)等功能

  • 快速部署應(yīng)用

  • 快速擴(kuò)展應(yīng)用

  • 無(wú)縫對(duì)接新的應(yīng)用功能

  • 節(jié)省資源,優(yōu)化硬件資源的使用

二. Kubernetes特點(diǎn)

  • 可移植 : 支持公有云,私有云,混合云,多重云

  • 可擴(kuò)展 : 模塊化,插件化,可掛載,可組合,支持各種形式的擴(kuò)展

  • 自動(dòng)化 : 自動(dòng)部署,自動(dòng)重啟,自動(dòng)復(fù)制,自動(dòng)伸縮/擴(kuò)展,通過(guò)聲明式語(yǔ)法提供了強(qiáng)大的自修復(fù)能力

Kubernetes是Google2014年創(chuàng)建管理的,是Google10多年大規(guī)模容器管理技術(shù)Borg的開(kāi)源版本

三. 介紹容器技術(shù)

Kubernetes使用Linux容器技術(shù)來(lái)提供應(yīng)用的隔離,如Docker或者rkt

容器允許你在同一臺(tái)機(jī)器上運(yùn)行多個(gè)服務(wù),不僅提供不同的環(huán)境給每個(gè)服務(wù),而且將它們互相隔離,容器類似于虛擬機(jī),但開(kāi)銷(xiāo)小很多

一個(gè)容器僅僅是運(yùn)行在宿主機(jī)上被隔離的單個(gè)進(jìn)程,僅消耗應(yīng)用容器消耗的資源,不會(huì)有其他進(jìn)程的開(kāi)銷(xiāo)

容器都是調(diào)用同一個(gè)內(nèi)核,自然會(huì)有安全隱患

容器實(shí)現(xiàn)隔離機(jī)制介紹

有兩個(gè)機(jī)制可用 : 第一個(gè)是Linux命名空間,它使每個(gè)進(jìn)程只能看到它自己的系統(tǒng)視圖(文件,進(jìn)程,網(wǎng)絡(luò)接口,主機(jī)名等) 第二個(gè)是Linux控制組(cgroups),它限制了進(jìn)程能使用的資源量(CPU,內(nèi)存,網(wǎng)絡(luò)帶寬等)

Docker容器鏡像層

容器鏡像層是只讀的,容器運(yùn)行時(shí),一個(gè)新的可寫(xiě)層在鏡像層之上被創(chuàng)建容器中進(jìn)程寫(xiě)入位于底層的一個(gè)文件時(shí),此文件的一個(gè)拷貝在頂層被創(chuàng)建,進(jìn)程寫(xiě)得此時(shí)拷貝

容器鏡像可移植性的限制

一個(gè)在特定硬件架構(gòu)之上編譯的容器化應(yīng)用,只能在有相同硬件架構(gòu)的機(jī)器上運(yùn)行

容器優(yōu)點(diǎn)
  • 敏捷的應(yīng)用程序創(chuàng)建和部署 : 與虛擬機(jī)鏡像相比,容器鏡像更容器創(chuàng)建,提升了硬件的使用效率

  • 持續(xù)開(kāi)發(fā),集成和部署 : 提供可靠與頻繁的容器鏡像構(gòu)建和部署,可以很方便及快速的回滾(由于鏡像不可變性)

  • 關(guān)注開(kāi)發(fā)與運(yùn)維的分離 : 在構(gòu)建/發(fā)布時(shí)創(chuàng)建應(yīng)用程序容器鏡像,從而將應(yīng)用程序和基礎(chǔ)架構(gòu)分離

  • 開(kāi)發(fā),測(cè)試和生產(chǎn)環(huán)境的一致性 : 在筆記本電腦上運(yùn)行與云中一樣

  • 云和操作系統(tǒng)的可移植性 : 可運(yùn)行在Ubuntu,RHEL,CoreOS,內(nèi)部部署,Google 容器引擎和其他任何地方

  • 以應(yīng)用為中心的管理 : 提升了操作系統(tǒng)的抽象級(jí)別,以便在使用邏輯資源的操作系統(tǒng)上運(yùn)行應(yīng)用程序

  • 松耦合,分布式,彈性伸縮,微服務(wù) : 應(yīng)用程序被分成更小,更獨(dú)立的部分,可以動(dòng)態(tài)部署和管理,而不是巨型單體應(yīng)用運(yùn)行在專用的大型機(jī)上

  • 資源隔離 : 通過(guò)對(duì)應(yīng)用進(jìn)行資源隔離,可以很容易的預(yù)測(cè)應(yīng)用程序性能

  • 資源利用 : 高效率和高密度

四. Kubernetes能做什么?

最基礎(chǔ)的,Kubernetes可以在物理或虛擬機(jī)集群上調(diào)度和運(yùn)行應(yīng)用程序容器.然而,Kubernetes還允許開(kāi)發(fā)人員從物理和虛擬機(jī)'脫離',從以主機(jī)為中心的基礎(chǔ)架構(gòu)轉(zhuǎn)移到以容器為中心的基礎(chǔ)架構(gòu),這樣可以提供容器固有的全部?jī)?yōu)點(diǎn)和益處.Kubernetes提供了基礎(chǔ)設(shè)施來(lái)構(gòu)建一個(gè)真正以容器為中心的開(kāi)發(fā)環(huán)境

Kubernetes滿足了生產(chǎn)中運(yùn)行應(yīng)用程序的許多常見(jiàn)的需求
  • Pod提供復(fù)合應(yīng)用并保留一個(gè)應(yīng)用一個(gè)容器的容器模型

  • 掛載外部存儲(chǔ)

  • Secret管理

  • 應(yīng)用健康檢查

  • 副本應(yīng)用實(shí)例

  • 橫向自動(dòng)擴(kuò)縮容

  • 服務(wù)發(fā)現(xiàn)

  • 負(fù)載均衡

  • 滾動(dòng)更新

  • 資源監(jiān)測(cè)

  • 日志采集和存儲(chǔ)

  • 支持自檢和調(diào)試

  • 認(rèn)證和鑒權(quán)

這提供了平臺(tái)即服務(wù)(PAAS)的簡(jiǎn)單性以及基礎(chǔ)架構(gòu)即服務(wù)(IAAS)的靈活性,并促進(jìn)跨基礎(chǔ)設(shè)施供應(yīng)商的可移植性

五. 使用Kubernetes的好處

  • 簡(jiǎn)化應(yīng)用程序部署

  • 更好的利用硬件

  • 健康檢查和自修復(fù)

  • 自動(dòng)擴(kuò)容

  • 簡(jiǎn)化應(yīng)用部署

六. 了解架構(gòu)

Kubernetes集群分為兩部分 :

  • Kubernetes控制平面

  • (工作)節(jié)點(diǎn)

控制平面的組件 :

  • etcd分布式持久化存儲(chǔ)

  • API服務(wù)器

  • 調(diào)度器

  • 控制器管理器

這些組件用來(lái)存儲(chǔ),管理集群狀態(tài),但它們不是運(yùn)行應(yīng)用的容器

工作節(jié)點(diǎn)上運(yùn)行的組件 :

  • Kubelet

  • Kubelet服務(wù)代理(kube-proxy)

  • 容器進(jìn)行時(shí)(Docker,rkt或者其他)

附加組件 :

  • Kubernetes DNS服務(wù)器

  • 儀表板

  • Ingress控制器

  • Heapster(容器集群監(jiān)控)

  • 容器網(wǎng)絡(luò)接口插件

etcd

創(chuàng)建的所有對(duì)象 - pod,ReplicationController,服務(wù)和私密憑據(jù)等,需要以持久化方式存儲(chǔ)到某個(gè)地方,這樣它們的manifest在API服務(wù)器重啟和失敗的時(shí)候才不會(huì)丟失.為此,Kubernetes使用了etcd

etcd是一個(gè)響應(yīng)快,分布式,一致的Key-value存儲(chǔ).因?yàn)樗欠植际降?故可以運(yùn)行多個(gè)etcd實(shí)例來(lái)獲取高可用性和更好的性能

唯一能直接和etcd通信的是Kubernetes的API服務(wù)器.所有其他組件通過(guò)API服務(wù)器間接地讀取,寫(xiě)入數(shù)據(jù)到etcd.這帶來(lái)一些好處,其中之一就是增強(qiáng)樂(lè)觀鎖系統(tǒng),驗(yàn)證系統(tǒng)的健壯性;并且,通過(guò)把實(shí)際存儲(chǔ)機(jī)制從其他組件抽離,未來(lái)替換起來(lái)也更容易.值得強(qiáng)調(diào)的是,etcd是Kubernetes存儲(chǔ)集群狀態(tài)和元數(shù)據(jù)的唯一的地方

API服務(wù)器

Kubernetes API服務(wù)器作為中心組件,其他組件或者客戶端都會(huì)去調(diào)用它.以RESTful API的形式提供了可以查詢,修改集群狀態(tài)的CRUD(Create,Read,Update,Delete)接口.他將狀態(tài)存儲(chǔ)到etcd中

API服務(wù)器除了提供一種一致的方式將對(duì)象存儲(chǔ)到etcd,也對(duì)這些對(duì)象做校驗(yàn),這樣客戶端就無(wú)法存入非法的對(duì)象(直接寫(xiě)入存儲(chǔ)的話是有可能的).除了檢驗(yàn),還會(huì)處理樂(lè)觀鎖,這樣對(duì)于并發(fā)更新的情況,對(duì)對(duì)象做更改就不會(huì)被其他客戶端覆蓋

API服務(wù)器的客戶端之一就是使用的命令行工具kubectl,也支持監(jiān)聽(tīng)資源

調(diào)度器

通常不會(huì)去指定pod應(yīng)該運(yùn)行在哪個(gè)集群節(jié)點(diǎn)上,這項(xiàng)工作交給調(diào)度器.宏觀來(lái)看,調(diào)度器的操作比較簡(jiǎn)單.就是利用API服務(wù)器的監(jiān)聽(tīng)機(jī)制等待新創(chuàng)建的pod,然后給每個(gè)新的,沒(méi)有節(jié)點(diǎn)集的pod分配節(jié)點(diǎn)

調(diào)度器不會(huì)命令選中的節(jié)點(diǎn)去運(yùn)行pod.調(diào)度器做的就是通過(guò)API服務(wù)器更新pod的定義.然后API服務(wù)器再去通知Kubelet該pod已經(jīng)被調(diào)度過(guò).當(dāng)目標(biāo)節(jié)點(diǎn)上的Kubelet發(fā)現(xiàn)該pod被調(diào)度到本節(jié)點(diǎn),他就會(huì)創(chuàng)建并且運(yùn)行pod的容器

盡管宏觀上調(diào)度的過(guò)程看起來(lái)比較簡(jiǎn)單,但實(shí)際上為pod選擇最佳節(jié)點(diǎn)的任務(wù)并不簡(jiǎn)單.當(dāng)然,最簡(jiǎn)單的調(diào)度方式是不關(guān)心節(jié)點(diǎn)上已經(jīng)運(yùn)行的pod,隨機(jī)選擇一個(gè)節(jié)點(diǎn).另一方面,調(diào)度器可以利用高級(jí)技術(shù),例如機(jī)器學(xué)習(xí),來(lái)預(yù)測(cè)接下來(lái)幾分鐘或幾小時(shí)哪種類型的pod將會(huì)被調(diào)度,然后以最大的硬件利用率,無(wú)須重新調(diào)度已運(yùn)行pod的方式來(lái)調(diào)度.Kubernetes的默認(rèn)調(diào)度器實(shí)現(xiàn)方式處于最簡(jiǎn)單和最復(fù)雜程度之間

控制器管理器

API服務(wù)器只做了存儲(chǔ)資源到etcd和通知客戶端有變更的工作.調(diào)度器則只是給pod分配節(jié)點(diǎn),所以需要有活躍的組件確保系統(tǒng)真實(shí)狀態(tài)朝API服務(wù)器定義的期望的狀態(tài)收斂.這個(gè)工作由控制器管理器里的控制器來(lái)實(shí)現(xiàn)

單個(gè)控制器,管理器進(jìn)程當(dāng)前組合了多個(gè)執(zhí)行不同非沖突任務(wù)的控制器.這些控制器最終會(huì)被分解到不同的進(jìn)程,如果需要的話,我們能夠用自定義實(shí)現(xiàn)替換它們每一個(gè)

控制器包括 :

  • Replication管理器(ReplicationController資源的管理器)

  • ReplicaSet,DaemonSet以及Job控制器

  • Deployment控制器

  • StatefulSet控制器

  • Node控制器

  • Service控制器

  • Endpoints控制器

  • Namespace控制器

  • PersistentVolume控制器

  • 其他

Kubelet

Kubelet就是負(fù)責(zé)所有運(yùn)行在工作節(jié)點(diǎn)上內(nèi)容的組件.它第一個(gè)任務(wù)就是在API服務(wù)器中創(chuàng)建一個(gè)Node資源來(lái)注冊(cè)該節(jié)點(diǎn).然后需要持續(xù)監(jiān)控API服務(wù)器是否把該節(jié)點(diǎn)分配給pod,然后啟動(dòng)pod容器.具體實(shí)現(xiàn)方式是告知配置好的容器進(jìn)行時(shí)來(lái)從特定容器鏡像運(yùn)行容器,Kubelet隨后持續(xù)監(jiān)控運(yùn)行的容器,向API服務(wù)器報(bào)告他們的狀態(tài),事件和資源消耗

Kubelet也是運(yùn)行容器存活探針的組件,當(dāng)探針報(bào)錯(cuò)時(shí)它會(huì)重啟容器.最后一點(diǎn),當(dāng)pod從API服務(wù)器刪除時(shí),Kubelet終止容器,并通知服務(wù)器pod已經(jīng)被終止了

kube-proxy

每個(gè)工作節(jié)點(diǎn)都會(huì)運(yùn)行kube-proxy,用于確??蛻舳丝梢酝ㄟ^(guò)Kubernetes API連接到你定義的服務(wù)

kube-proxy確保對(duì)服務(wù)IP和端口的連接最終能到達(dá)支持服務(wù)的某個(gè)pod處.如果有多個(gè)pod支撐一個(gè)服務(wù),那么代理會(huì)發(fā)揮對(duì)pod的負(fù)載均衡作用

Kubernetes插件

DNS服務(wù)器

集群中的所有pod默認(rèn)配置使用集群內(nèi)部DNS服務(wù)器.這使得pod能夠輕松地通過(guò)名稱查詢到服務(wù),甚至是無(wú)頭服務(wù)pod的IP地址

DNS服務(wù)pod通過(guò)kube-dns服務(wù)對(duì)外暴露,使得該pod能夠像其他pod一樣在集群中移動(dòng).服務(wù)的IP地址在集群每個(gè)容器的/etc/reslv.conf文件的nameserver中定義.kube-dns pod利用API服務(wù)器的監(jiān)控機(jī)制來(lái)訂閱Service和Endpoint的變動(dòng),以及DNS記錄的變更,是的其客戶端總是能夠獲取到最新的DNS信息.客觀的說(shuō),在Service和Endpoint資源發(fā)生變化到DNS pod收到訂閱通知時(shí)間點(diǎn)之間,DNS記錄可能會(huì)無(wú)效

Ingress控制器

Ingress控制器運(yùn)行一個(gè)反向代理服務(wù)器,根據(jù)集群中定義的Ingress,service以及Endpoint資源來(lái)配置該控制器.所以需要訂閱這些資源,然后每次其中一個(gè)發(fā)生變化則更新代理服務(wù)器的配置

盡管Ingress資源的定義指向一個(gè)Service,Ingress控制器會(huì)直接將流量轉(zhuǎn)到服務(wù)的pod而不經(jīng)過(guò)服務(wù)IP.當(dāng)外部客戶端通過(guò)Ingress控制器連接時(shí),會(huì)對(duì)客戶端IP進(jìn)行保存,這使得在某些用例中,控制器比Service更受歡迎

其他插件都需要監(jiān)聽(tīng)集群狀態(tài),當(dāng)有變更時(shí)執(zhí)行相應(yīng)動(dòng)作

到此,相信大家對(duì)“Kubernetes的用途和特點(diǎn)是什么”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!


網(wǎng)頁(yè)題目:Kubernetes的用途和特點(diǎn)是什么
轉(zhuǎn)載源于:http://weahome.cn/article/gcides.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部