新聞中心
Kubernetes是一個(gè)可以移植、可擴(kuò)展的開(kāi)源平臺(tái),使用 聲明式的配置 并依據(jù)配置信息自動(dòng)地執(zhí)行容器化應(yīng)用程序的管理。在所有的容器編排工具中(類似的還有 docker swarm / mesos等),Kubernetes的生態(tài)系統(tǒng)更大、增長(zhǎng)更快,有更多的支持、服務(wù)和工具可供用戶選擇。

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、海北州網(wǎng)絡(luò)推廣、微信小程序定制開(kāi)發(fā)、海北州網(wǎng)絡(luò)營(yíng)銷、海北州企業(yè)策劃、海北州品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供海北州建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com
Kubernetes工作節(jié)點(diǎn)和控制平面
Kubernetes分有兩個(gè)方面:工作節(jié)點(diǎn)和控制平面。工作節(jié)點(diǎn)是實(shí)際的容器化應(yīng)用程序以及必要的Kubernetes工具所在的位置。控制平面是管理集群工具所在的位置。圖1對(duì)此架構(gòu)進(jìn)行了高層次的研究。
如圖一所示,該體系結(jié)構(gòu)分為工作節(jié)點(diǎn)和負(fù)責(zé)運(yùn)行工作負(fù)載以及運(yùn)行管理工具的頭節(jié)點(diǎn)。
兩種情況下的節(jié)點(diǎn)都是在虛擬機(jī)或?qū)嶋H的機(jī)器中執(zhí)行的。
擴(kuò)展Kubernetes Worker節(jié)點(diǎn)與工作負(fù)載
需要注意的是,Kubernetes底層基礎(chǔ)設(shè)施是運(yùn)行工作節(jié)點(diǎn)工作負(fù)載時(shí)可用的資源(計(jì)算、內(nèi)存、磁盤和網(wǎng)絡(luò)),但它并不直接控制它們。Kubernetes負(fù)責(zé)擴(kuò)展工作負(fù)載,但更高級(jí)別的機(jī)制(如公共云自動(dòng)擴(kuò)展或手動(dòng)干預(yù))負(fù)責(zé)調(diào)整節(jié)點(diǎn)的可用性。因此,可以使用控制器與外部系統(tǒng)進(jìn)行交互。
Kubernetes Worker節(jié)點(diǎn)組件
圖2展示了Kubernetes Worker節(jié)點(diǎn)的基本元素。
Kubelet
kubelet是運(yùn)行在工作節(jié)點(diǎn)上的一個(gè)“小”程序,負(fù)責(zé)在控制平面和節(jié)點(diǎn)之間進(jìn)行平衡。kubelet核心目的是執(zhí)行pods上來(lái)自頭節(jié)點(diǎn)集群的指令,并報(bào)告工作負(fù)載當(dāng)前的狀態(tài)。
Kube Proxy
Kube Proxy負(fù)責(zé)在節(jié)點(diǎn)上實(shí)施網(wǎng)絡(luò)規(guī)則,并允許進(jìn)出節(jié)點(diǎn)的流量。
Kube Proxy不同于入口,入口在集群級(jí)別操作,并定義進(jìn)入集群的網(wǎng)絡(luò)路由規(guī)則。
Pod
Pod是節(jié)點(diǎn)上的離散工作單元,具有復(fù)制性。它們是封裝一個(gè)或多個(gè)容器化應(yīng)用程序的抽象。Pod可以對(duì)一起運(yùn)行的容器進(jìn)行分組和隔離,并且同一臺(tái)機(jī)器上的pod之間也可以通信。容器和Pod之間的關(guān)系由Kubernetes部署描述符控制。
Deployment和ReplicaSet
Pod通常作為ReplicaSet的一部分進(jìn)行配置和部署。ReplicaSet定義Pod所需的運(yùn)行時(shí)特征,并使Kubernetes工作以保持該狀態(tài)。ReplicaSet通常由Deployment定義,Deployment定義了ReplicaSet參數(shù)和管理集群時(shí)要使用的方法(即pod是更新還是重新創(chuàng)建)。
Sidecar
在Pod級(jí)別,額外的功能是通過(guò)Sidecar插件實(shí)現(xiàn)的。Sidecar可以處理諸如Pod級(jí)別的日志記錄和信息收集之類的任務(wù)。
圖3更詳細(xì)地介紹了工作程序節(jié)點(diǎn)中的Pod。
Kubernetes的運(yùn)行流程是怎樣的?Kubernetes的運(yùn)行流程是怎樣的?
Kubernetes control plane
接下來(lái)到了控制器端,了解Kubernetes如何操作來(lái)控制集群的操作。
圖4詳細(xì)介紹了頭節(jié)點(diǎn)組件。
Kubernetes的運(yùn)行流程是怎樣的?Kubernetes的運(yùn)行流程是怎樣的?
Etcd
最容易理解的組件是etcd(發(fā)音為“ et-cee-dee”)。Etcd是一個(gè)分布式對(duì)象存儲(chǔ),充當(dāng)整個(gè)集群的配置和狀態(tài)記錄數(shù)據(jù)庫(kù)。
API Server
API服務(wù)器(API Server)是集群的中央通信機(jī)制。當(dāng)控制平面、工作節(jié)點(diǎn)和管理員通過(guò)Kubernetes命令行工具(如kubectl)或其他UI應(yīng)用配置更改時(shí),API Server則可以代理它們之間的交互。
Scheduler
調(diào)度程序(Scheduler)負(fù)責(zé)標(biāo)識(shí)運(yùn)行Pod的節(jié)點(diǎn)。根據(jù)Pod的特性和可用節(jié)點(diǎn)的現(xiàn)有狀態(tài)所使用的方法是不同,但是其目標(biāo)都是達(dá)到自定義編寫的程度。調(diào)度程序在執(zhí)行工作時(shí)與API服務(wù)器進(jìn)行交互。
Controller
控制器(Controller)組件負(fù)責(zé)將集群保持在配置時(shí)所需的狀態(tài),并在集群偏離控制時(shí)將其移向該狀態(tài)??刂破鞯淖饔镁拖褚环N恒溫器,它指定所需的狀態(tài),然后工作來(lái)維持它。在Kubernetes中,可以創(chuàng)建一個(gè)對(duì)象,用于記錄在etcd中的持久實(shí)體。然后,控制器將執(zhí)行操作以確保對(duì)象具有所需的屬性。
例如,ReplicaSet(上面討論過(guò))根據(jù)使用標(biāo)準(zhǔn)定義運(yùn)行pod。相對(duì)于該ReplicaSet的群集的實(shí)際狀態(tài)是狀態(tài)。ReplicaSet是對(duì)象,指定的pod計(jì)數(shù)是spec。集群相對(duì)于該ReplicaSet的實(shí)際狀態(tài)是status??刂破鲝募航邮贞P(guān)于此狀態(tài)的一致報(bào)告,并通過(guò)創(chuàng)建或銷毀pod來(lái)采取措施使?fàn)顟B(tài)與規(guī)范一致。
容器圖像存儲(chǔ)庫(kù)
最后一個(gè)組件是映像存儲(chǔ)庫(kù)(也稱為圖像注冊(cè)表)。此組件存在于集群之外,管理員和控制平面可以訪問(wèn)它以下載所需的容器定義。注冊(cè)中心由包括Docker Hub在內(nèi)的各種組織托管,可以是公共的,也可以是私有的。主要的云提供商都為企業(yè)提供托管存儲(chǔ)庫(kù)。
Kubernetes規(guī)則容器
現(xiàn)在已經(jīng)了解了Kubernetes架構(gòu)以及Kubernetes是如何實(shí)現(xiàn)的。由于其部署、管理和擴(kuò)展基于容器的應(yīng)用程序,可見(jiàn)Kubernetes不是一個(gè)簡(jiǎn)單的系統(tǒng)。Kubernetes具有高度的可配置性和靈活性,可以處理意想不到的情況。
Kubernetes是當(dāng)前軟件架構(gòu)方法中的最突出的技術(shù)之一。因此,對(duì)DevOps、容器、云本地應(yīng)用程序和微服務(wù)體系結(jié)構(gòu)感興趣的人來(lái)說(shuō),這些Kubernetes的知識(shí)都是必不可少的。
標(biāo)題名稱:簡(jiǎn)單講解一下Kubernetes的運(yùn)行流程
網(wǎng)站路徑:http://www.dlmjj.cn/article/dpiggso.html


咨詢
建站咨詢
