国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

Kubernetes Node全解

Guakin_Huang / 2149人閱讀

摘要:守護(hù)進(jìn)程,充當(dāng)和不同云提供商工具存儲(chǔ)卷負(fù)載均衡器等之間的抽象層。除此之外,在上還有一個(gè)健康檢查端點(diǎn),以及一些其他狀態(tài)端點(diǎn)。它就像是節(jié)點(diǎn)上運(yùn)行著的的網(wǎng)絡(luò)代理和負(fù)載均衡器一樣,通過(guò)在使用實(shí)現(xiàn)東西負(fù)載均衡。

今晚20:30,Kubernetes Master Class在線培訓(xùn)第四期《企業(yè)如何構(gòu)建CI/CD流水線》即將開(kāi)播,點(diǎn)擊鏈接:http://live.vhall.com/729465809
即可免費(fèi)預(yù)約注冊(cè)!

介 紹

Kubernetes在GitHub上擁有超過(guò)48,000顆星,超過(guò)75,000個(gè)commit,擁有以Google為代表的科技巨頭公司為主要貢獻(xiàn)者。可以說(shuō),Kubernetes已迅速掌管了容器生態(tài)系統(tǒng),成為容器編排平臺(tái)的真正領(lǐng)導(dǎo)者。

Kubernetes提供了諸如部署的滾動(dòng)和回滾、容器健康檢查、自動(dòng)容器恢復(fù)、基于指標(biāo)的容器自動(dòng)擴(kuò)展、服務(wù)負(fù)載均衡、服務(wù)發(fā)現(xiàn)(適用于微服務(wù)架構(gòu))等強(qiáng)大功能。在本文中,我們將討論Kubernetes重要的基本概念、master節(jié)點(diǎn)架構(gòu),并重點(diǎn)關(guān)注節(jié)點(diǎn)組件。

理解Kubernetes及其抽象

Kubernetes是一個(gè)開(kāi)源的編排引擎,用于自動(dòng)部署、擴(kuò)展、管理和提供托管容器化應(yīng)用程序的基礎(chǔ)架構(gòu)。在基礎(chǔ)架構(gòu)級(jí)別,Kubernetes集群由一組物理或虛擬機(jī)組成,每個(gè)機(jī)器都以特定角色運(yùn)行。

Master機(jī)器就像是所有業(yè)務(wù)的大腦,負(fù)責(zé)編排所有運(yùn)行在節(jié)點(diǎn)機(jī)器上的容器。每個(gè)節(jié)點(diǎn)都配有一個(gè)容器運(yùn)行時(shí)。節(jié)點(diǎn)接收來(lái)自master的指令,然后執(zhí)行操作來(lái)創(chuàng)建pod、刪除pod或調(diào)整網(wǎng)絡(luò)規(guī)則。

Master組件負(fù)責(zé)管理Kubernetes集群。它們管理pod的生命周期,pod是Kubernetes集群內(nèi)部署的基本單元。Master Server運(yùn)行以下組件:

kube-apiserver - 主要組件,為其他master組件公開(kāi)API。

etcd - 分布式密鑰/值存儲(chǔ)庫(kù),Kubernetes使用它來(lái)持久化存儲(chǔ)所有集群信息。

kube-scheduler – 依照pod規(guī)范中的信息,來(lái)決定運(yùn)行pod的節(jié)點(diǎn)。

kube-controller-manager - 負(fù)責(zé)節(jié)點(diǎn)管理(檢測(cè)節(jié)點(diǎn)是否出現(xiàn)故障)、pod復(fù)制和端點(diǎn)創(chuàng)建。

cloud-controller-manager - 守護(hù)進(jìn)程,充當(dāng)API和不同云提供商工具(存儲(chǔ)卷、負(fù)載均衡器等)之間的抽象層。

節(jié)點(diǎn)組件是Kubernetes中的worker機(jī)器,受到master的管理。節(jié)點(diǎn)可以是虛擬機(jī)(VM)或物理機(jī)器——Kubernetes在這兩種類(lèi)型的系統(tǒng)上都能良好運(yùn)行。每個(gè)節(jié)點(diǎn)都包含運(yùn)行pod的必要組件:

kubelet – 為位于那個(gè)節(jié)點(diǎn)上的pod監(jiān)視API服務(wù)器,確保它們正常運(yùn)行

cAdvisor - 收集在特定節(jié)點(diǎn)上運(yùn)行著的pod的相關(guān)指標(biāo)

kube-proxy - 監(jiān)視API服務(wù)器,實(shí)時(shí)獲取pod或服務(wù)的變化,以使網(wǎng)絡(luò)保持最新

容器運(yùn)行時(shí) - 負(fù)責(zé)管理容器鏡像,并在該節(jié)點(diǎn)上運(yùn)行容器

Kubernetes節(jié)點(diǎn)組件詳解

總而言之就是,節(jié)點(diǎn)上運(yùn)行著兩個(gè)最重要的組件——kubelet和kube-proxy,除此之外還有一個(gè)負(fù)責(zé)運(yùn)行應(yīng)用容器化應(yīng)用程序的容器引擎。

kubelet

kubelet處理著master和在其上運(yùn)行的節(jié)點(diǎn)之間的所有通信。它以manifest的形式接收來(lái)自主設(shè)備的命令,manifest定義著工作負(fù)載和操作參數(shù)。它與負(fù)責(zé)創(chuàng)建、啟動(dòng)和監(jiān)視pod的容器運(yùn)行時(shí)進(jìn)行接合。

kubelet還會(huì)周期性地對(duì)配置的活躍度探針和準(zhǔn)備情況進(jìn)行檢查。它會(huì)不斷監(jiān)視pod的狀態(tài),并在出現(xiàn)問(wèn)題時(shí)啟動(dòng)新實(shí)例。kubelet還有一個(gè)內(nèi)部HTTP服務(wù)器,在端口10255上顯示一個(gè)只讀視圖。除此之外,在/healthz上還有一個(gè)健康檢查端點(diǎn),以及一些其他狀態(tài)端點(diǎn)。例如,我們可以在/pods獲取正在運(yùn)行的pod的列表。我們還可以在/spec獲取kubelet正在運(yùn)行的機(jī)器的詳情。

kube-proxy

kube-proxy組件在每個(gè)節(jié)點(diǎn)上運(yùn)行,負(fù)責(zé)代理UDP、TCP和SCTP數(shù)據(jù)包(它不了解HTTP)。它負(fù)責(zé)維護(hù)主機(jī)上的網(wǎng)絡(luò)規(guī)則,并處理pod、主機(jī)和外部世界之間的數(shù)據(jù)包傳輸。它就像是節(jié)點(diǎn)上運(yùn)行著的pod的網(wǎng)絡(luò)代理和負(fù)載均衡器一樣,通過(guò)在iptables使用NAT實(shí)現(xiàn)東/西負(fù)載均衡。

kube-proxy過(guò)程位于連接到Kubernetes的網(wǎng)絡(luò)和在該特定節(jié)點(diǎn)上運(yùn)行的pod之間。它本質(zhì)上是Kubernetes的核心網(wǎng)絡(luò)組件,負(fù)責(zé)確保跨集群的所有元素有效地進(jìn)行通信。當(dāng)用戶(hù)創(chuàng)建Kubernetes服務(wù)對(duì)象時(shí),kube-proxy實(shí)例會(huì)負(fù)責(zé)將該對(duì)象轉(zhuǎn)換為位于worker節(jié)點(diǎn)的、本地iptables規(guī)則集上的有意義的規(guī)則。iptables用于將分配給服務(wù)對(duì)象的虛擬IP轉(zhuǎn)換為服務(wù)映射的所有pod IP。

容器運(yùn)行時(shí)

容器運(yùn)行時(shí)負(fù)責(zé)從公有或私有鏡像倉(cāng)庫(kù)中拉取鏡像,并根據(jù)這些鏡像運(yùn)行容器。當(dāng)下最流行的容器引擎無(wú)疑是Docker,不過(guò)Kubernetes還支持諸如rkt、runc等的其他容器運(yùn)行時(shí)。正如我們?cè)谏衔闹刑岬竭^(guò)的,kubelet會(huì)直接與容器運(yùn)行時(shí)交互,以啟動(dòng)、停止或刪除容器。

cAdvisor

cAdvisor是一個(gè)開(kāi)源代理,它能夠監(jiān)視資源使用情況并分析容器的性能。cAdvisor最初由谷歌創(chuàng)建,現(xiàn)在已與kubelet集成。

位于每個(gè)節(jié)點(diǎn)上的cAdvisor實(shí)例,會(huì)收集、聚合、處理和導(dǎo)出所有正在運(yùn)行的容器的指標(biāo),如CPU、內(nèi)存、文件和網(wǎng)絡(luò)使用情況等。所有數(shù)據(jù)都將發(fā)送到調(diào)度程序,以確保調(diào)度程序了解節(jié)點(diǎn)內(nèi)部的性能和資源使用情況。這些信息會(huì)被用于執(zhí)行各種編排任務(wù),如調(diào)度、水平pod擴(kuò)展、管理容器資源限制等。

從動(dòng)手實(shí)操了解節(jié)點(diǎn)組件端點(diǎn)

接下來(lái),我們將安裝一個(gè)Kubernetes集群(在Rancher的幫助下),以此來(lái)開(kāi)始探索節(jié)點(diǎn)組件公開(kāi)的一些API。要完成下面的操作,我們需要:

Google Cloud Platform帳戶(hù)(任何公有云也都是一樣的)

一臺(tái)主機(jī),后續(xù)Rancher會(huì)運(yùn)行在它上面(可以是個(gè)人PC / Mac或公有云中的VM)

在同一主機(jī)上,安裝kubectl和 Google Cloud SDK。驗(yàn)證好您的相關(guān)credential(gcloud init和gcloud auth login),確保gcloud能正常訪問(wèn)您的Google Cloud賬戶(hù)

在GKE上運(yùn)行的Kubernetes集群(運(yùn)行EKS或AKS也是相同的)

啟動(dòng)Rancher實(shí)例

首先,啟動(dòng)Rancher實(shí)例。這一過(guò)程非常簡(jiǎn)單,參考快速上手指南即可:

https://rancher.com/quick-start/

使用Rancher部署GKE集群

使用Rancher設(shè)置和配置Kubernetes集群,同樣是按指南進(jìn)行操作即可:

https://rancher.com/docs/ranc...

部署好集群后,我們可以快速部署Nginx以進(jìn)行測(cè)試:

為了與Kubernetes API進(jìn)行交互,我們需要在本地計(jì)算機(jī)上啟動(dòng)代理服務(wù)器:

讓我們檢查一下進(jìn)度,看它是否正在正常運(yùn)行,以及是否在監(jiān)聽(tīng)默認(rèn)端口:

現(xiàn)在,在瀏覽器中,檢查kubelet公開(kāi)的各種端點(diǎn):

接下來(lái),顯示集群可用節(jié)點(diǎn)的列表:

我們可以通過(guò)spec來(lái)檢查所有列出的、使用API的節(jié)點(diǎn)。在本文的示例中,我們使用n1-standard-1機(jī)器類(lèi)型(1個(gè)vCPU,3.75GB RAM,10GB的根大小磁盤(pán))創(chuàng)建了一個(gè)3節(jié)點(diǎn)集群。我們可以通過(guò)訪問(wèn)專(zhuān)用端點(diǎn)來(lái)確認(rèn)這些規(guī)范:


在不同端點(diǎn)使用相同的kubelet API,我們可以檢查我們創(chuàng)建的Nginx pod,以查看它們正運(yùn)行在什么節(jié)點(diǎn)上。

首先,列出正在運(yùn)行的pod:

現(xiàn)在,curl每個(gè)節(jié)點(diǎn)的/proxy/pods端點(diǎn),查看其運(yùn)行的pod列表:

我們還可以檢查cAdvisor端點(diǎn),它會(huì)以Prometheus格式輸出大量數(shù)據(jù)。默認(rèn)情況下,這在/metrics HTTP端點(diǎn)可用:

SSH到節(jié)點(diǎn)并直接調(diào)用kubelet端口,也可以獲得相同的cAdvisor或pod信息:

清理

要清理我們?cè)诒疚闹惺褂玫馁Y源,只需從Rancher UI中刪除Kubernetes集群即可(選擇集群并點(diǎn)擊Delete按鈕就可以了)。這將刪除我們的集群正在使用的所有節(jié)點(diǎn)以及關(guān)聯(lián)的IP地址。如果您是在公有云中使用VM來(lái)運(yùn)行Rancher,那么您也需要處理它。找出您的實(shí)例名稱(chēng),然后將其刪除即可:

結(jié) 語(yǔ)

在本文中,我們討論了Kubernetes節(jié)點(diǎn)機(jī)器的關(guān)鍵組件。之后,我們使用Rancher部署了一個(gè)Kubernetes集群,并完成了一個(gè)小型部署以幫助我們學(xué)習(xí)使用kubelet API。

若想了解有關(guān)Kubernetes及其架構(gòu)的更多信息,Kubernetes官方文檔是一個(gè)不錯(cuò)的起點(diǎn):https://kubernetes.io/docs/co...

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/32973.html

相關(guān)文章

  • Kubernetes中的負(fù)載均衡全解

    摘要:負(fù)載均衡器只能與和等特定的云服務(wù)提供商一起使用,且均衡器的功能根據(jù)提供者而定。因?yàn)樗亲鳛橐粋€(gè)基于的控制器在內(nèi)部執(zhí)行,因此對(duì)功能的訪問(wèn)相對(duì)不受限制不同于外部負(fù)載均衡器,它們中的一些可能無(wú)法在層面訪問(wèn)。 很多企業(yè)在部署容器的時(shí)候都會(huì)選擇Kubernetes作為其容器編排系統(tǒng)。這是對(duì)Kubernetes的可靠性,靈活性和特性廣泛的肯定。在這篇文章中,我們將對(duì)Kubernetes如何處理一個(gè)...

    lansheng228 評(píng)論0 收藏0
  • Etcd超全解:原理闡釋及部署設(shè)置的最佳實(shí)踐

    摘要:谷歌思科華為等等均是的貢獻(xiàn)成員。其中谷歌云平臺(tái)和等大型云提供商成功在生產(chǎn)環(huán)境中使用了。它為良好穩(wěn)定的生產(chǎn)部署提供了一個(gè)良好的起點(diǎn)。預(yù)先準(zhǔn)備在繼續(xù)之前,我們需要準(zhǔn)備一個(gè)谷歌云平臺(tái)的賬號(hào)免費(fèi)的應(yīng)該足夠了。我們將為部署配置。 本文將帶你充分了解Etcd的工作原理,演示如何用Kubernetes建立并運(yùn)行etcd集群,如何與Etcd交互,如何在Etcd中設(shè)置和檢索值,如何配置高可用等等。 sh...

    yhaolpz 評(píng)論0 收藏0
  • 深入淺出聊聊Kubernetes存儲(chǔ)(一):詳解Kubernetes存儲(chǔ)關(guān)鍵概念

    摘要:功能強(qiáng)大擴(kuò)展性高,在許多人看來(lái),它正在成為云計(jì)算的終極解決方案。我已經(jīng)多次給具有豐富存儲(chǔ)和云計(jì)算經(jīng)驗(yàn)的人解釋過(guò)這些問(wèn)題,他們幾乎都是抓耳撓腮,不明白這是怎么回事。和可能因?yàn)楹褪褂闷饋?lái)太麻煩了,在年月,隨著版本的發(fā)布,引入了動(dòng)態(tài)納管和的概念。 Kubernetes存儲(chǔ)全解!你知道PV和PVC的區(qū)別嗎?storage class和provisioner是什么關(guān)系?VolumeClaimTe...

    loonggg 評(píng)論0 收藏0
  • 【譯文】this全解

    摘要:避免從構(gòu)造函數(shù)返回任何東西,因?yàn)樗赡軙?huì)替換所產(chǎn)生的實(shí)例。避免使用使用也能創(chuàng)建一個(gè)實(shí)例然而這不會(huì)調(diào)用構(gòu)造函數(shù)。因?yàn)椴粫?huì)調(diào)用構(gòu)造函數(shù),所以這是一個(gè)有效的創(chuàng)建繼承模式的方法,能夠重寫(xiě)原型鏈上的構(gòu)造函數(shù)。 一. 全局 this 1.在瀏覽器中,在一個(gè)全局環(huán)境中,this就是window對(duì)象。 console.log(this === window); //true 2.在瀏覽器中,在全局...

    dreamtecher 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<