在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

核心組件原理——pod核心原理

倩倩 ? 來(lái)源:CSDN ? 作者:CSDN ? 2022-09-20 11:03 ? 次閱讀

1. 核心組件原理 —— pod 核心原理

1.1 pod 是什么

pod 也可以理解是一個(gè)容器,裝的是 docker 創(chuàng)建的容器,也就是用來(lái)封裝容器的一個(gè)容器;

pod 是一個(gè)虛擬化分組, 有自己的 IP 地址和主機(jī)名 hostname,利用 namespace 進(jìn)行資源隔離,相當(dāng)于一臺(tái)獨(dú)立沙箱環(huán)境;

pod 相當(dāng)于一臺(tái)獨(dú)立主機(jī),內(nèi)部可以封裝一個(gè)或多個(gè)容器(通常是一組相關(guān)的容器),內(nèi)部容器之間訪問(wèn)采用 localhost。

1.2 pod 用來(lái)干什么

通常情況下,在服務(wù)部署的時(shí)候,使用 pod 來(lái)管理一組相關(guān)的服務(wù)(一個(gè) pod 中要么部署一個(gè)服務(wù),要么部署一組有關(guān)系的服務(wù))。如下圖是部署了一組有關(guān)系的服務(wù)的結(jié)構(gòu)圖,其中 C 表示容器(container),下面的 pod 里就有很多個(gè)容器。

1c977b52-387a-11ed-ba43-dac502259ad0.png

如何理解一組相關(guān)的服務(wù)?

如下圖:有一個(gè)請(qǐng)求是訪問(wèn) Nginx,然后部署了 Nginx 的容器就把請(qǐng)求轉(zhuǎn)發(fā)給部署了 web 服務(wù)的容器,web 再訪問(wèn)數(shù)據(jù)庫(kù),然后請(qǐng)求會(huì)依次返回來(lái)數(shù)據(jù),最后再返回給用戶。因此在 鏈?zhǔn)秸{(diào)用的調(diào)用鏈路上的服務(wù) 叫做一組相關(guān)的服務(wù)。

1ca9d928-387a-11ed-ba43-dac502259ad0.png

1.3 實(shí)現(xiàn) web 服務(wù)集群

只需要復(fù)制多個(gè) pod 的副本即可,這也是 k8s 管理的先進(jìn)之處。k8s 如果要進(jìn)行擴(kuò)容或縮容,只需要控制 pod 的數(shù)量即可。比如上面那個(gè)部署模式,服務(wù)集群就是復(fù)制多個(gè)這樣的 pod。

1cb75f44-387a-11ed-ba43-dac502259ad0.png

1.4 pod 底層網(wǎng)絡(luò)和數(shù)據(jù)存儲(chǔ)是如何進(jìn)行的

前面說(shuō)過(guò) pod 內(nèi)部的容器也是一個(gè)獨(dú)立的沙箱環(huán)境,因此也有自己的 ip 和 端口。如果內(nèi)部容器還是通過(guò) ip:port 來(lái)通信,相當(dāng)于還是遠(yuǎn)程訪問(wèn),這樣的話性能會(huì)受到一定的影響。如何提高內(nèi)部容器之間訪問(wèn)的性能呢?

1cd7de0e-387a-11ed-ba43-dac502259ad0.png

pod 底層

pod 內(nèi)部容器創(chuàng)建之前,必須先創(chuàng)建 pause 容器。pause 有兩個(gè)作用:共享網(wǎng)絡(luò)和共享存儲(chǔ)。

每個(gè)服務(wù)容器共享 pause 存儲(chǔ),不需要自己存儲(chǔ)數(shù)據(jù),都交給 pause維護(hù)。

pause 也相當(dāng)于這三個(gè)容器的網(wǎng)卡,因此他們之間的訪問(wèn)可以通過(guò) localhost 方式訪問(wèn),相當(dāng)于訪問(wèn)本地服務(wù)一樣,性能非常高(就像本地幾臺(tái)虛擬機(jī)之間可以 ping 通)。

2. ReplicaSet 副本控制器

2.1 副本控制器基本理解

作用:管理控制 pod 副本(服務(wù)集群)的數(shù)量,以使其永遠(yuǎn)與預(yù)期設(shè)定的數(shù)量保持一致。例如:replicas = 3 (創(chuàng)建 3 個(gè)副本,這是提前設(shè)置好的)

1cf0ca0e-387a-11ed-ba43-dac502259ad0.png

當(dāng)副本設(shè)置為 3 時(shí),副本控制器將會(huì)永遠(yuǎn)保證副本數(shù)量為 3。因此當(dāng)有 pod 服務(wù)宕機(jī)時(shí)(如上面第 3 個(gè) pod),那副本控制器會(huì)立馬重新創(chuàng)建一個(gè)新的 pod,就能夠保證副本數(shù)量一直為預(yù)先設(shè)定好的 3 個(gè)。

2.2 ReplicaSet 和 ReplicationController 的區(qū)別

ReplicaSet 和 ReplicationController 都是副本控制器,其中:

相同點(diǎn):都有前面 2.1 節(jié)所描述的功能

不同點(diǎn):標(biāo)簽選擇器的功能不同。ReplicaSet 可以使用標(biāo)簽選擇器進(jìn)行 單選 和 復(fù)合選擇;而 ReplicationController 只支持 單選操作。

什么意思呢?

假設(shè)下面有下面兩個(gè)不同機(jī)器上的 Node 結(jié)點(diǎn),如何知道它們的 pod 其實(shí)都是相同的呢?答案是通過(guò)標(biāo)簽。

給每個(gè) pod 打上標(biāo)簽 ( key=value 格式,如下圖中的 app=web, release=stable,這有兩個(gè)選項(xiàng),相同的pod副本的標(biāo)簽是一樣的),于是副本控制器可以通過(guò)標(biāo)簽選擇器 seletor 去選擇一組相關(guān)的服務(wù)。

一旦 selector 和 pod 的標(biāo)簽匹配上了,就表明這個(gè) pod 是當(dāng)前這個(gè)副本控制器控制的,表明了副本控制器和 pod 的所屬關(guān)系。如下圖中 seletor 指定了 app = web 和 release=stable 是復(fù)合選擇,要用 ReplicaSet 才能實(shí)現(xiàn)若用 ReplicationController 的話只能選擇一個(gè),如只選擇匹配app=web標(biāo)簽。這樣下面的 3 個(gè) pod 就歸這個(gè)副本控制器管。

1d02c948-387a-11ed-ba43-dac502259ad0.png

可見(jiàn) ReplicaSet 功能更齊全,所以在新版的 k8s 中,建議使用 ReplicaSet 作為副本控制器,不再使用 ReplicationController。

3. Deployment 部署對(duì)象

3.1 滾動(dòng)更新

ReplicaSet 副本控制器可以永久保持 pod 副本的數(shù)量。但是項(xiàng)目的需求在不斷的迭代、更新,項(xiàng)目在不斷發(fā)版。那如何做到服務(wù)更新?難道把服務(wù)停掉再把新版本部署上去嗎?當(dāng)然不是,答案是用滾動(dòng)更新。就是重新創(chuàng)建一個(gè) pod (v2版本) 來(lái)代替 之前的 pod (v1版本)。

1d1d1596-387a-11ed-ba43-dac502259ad0.png

那是如何滾動(dòng)更新的呢?涉及到下面要講到的部署模型。

3.2 部署模型

單獨(dú)的 ReplicaSet 是不支持滾動(dòng)更新的,Deployment 對(duì)象支持滾動(dòng)更新,通常和 ReplicaSet 一起使用。

需要滾動(dòng)更新時(shí)的步驟:

Deployment 建立新的 Replicaset

Replicaset 重新建立新的 pod

所以它們之間是有層次關(guān)系的,Deployment 管 Replicaset,Replicaset 維護(hù) pod。在更新時(shí)刪除的是舊的 pod,老版本的 ReplicaSet 是不會(huì)刪除的,所以在需要時(shí)還可以回退以前的狀態(tài)。

4. StatefulSet 部署有狀態(tài)服務(wù)

4.1 引入定義

思考:如果 MySQL(有狀態(tài)服務(wù)) 使用容器化部署,會(huì)存在什么問(wèn)題?

1、容器都是有生命周期的,一旦宕機(jī)數(shù)據(jù)就很可能丟失

2、pod 也有生命周期的,用 pod 部署時(shí)把 pod 集群副本重啟以后也可能會(huì)出現(xiàn)數(shù)據(jù)丟失

因此對(duì) k8s 來(lái)說(shuō),不能使用 Deployment 部署有狀態(tài)的服務(wù)。通常情況下,Deployment 被用來(lái)部署無(wú)狀態(tài)服務(wù)。

然后 StatefulSet 就是為了解決有狀態(tài)服務(wù)使用容器化部署的一個(gè)問(wèn)題。

4.2 如何理解狀態(tài)服務(wù)

有狀態(tài)服務(wù)

有實(shí)時(shí)的數(shù)據(jù)需要存儲(chǔ)

在有狀態(tài)服務(wù)集群中,如果把某一個(gè)服務(wù)抽離出來(lái),一段時(shí)間后再加入回集群網(wǎng)絡(luò),此后集群網(wǎng)絡(luò)會(huì)無(wú)法使用

無(wú)狀態(tài)服務(wù)

沒(méi)有實(shí)時(shí)的數(shù)據(jù)需要存儲(chǔ)

在無(wú)狀態(tài)服務(wù)集群中,如果把某一個(gè)服務(wù)抽離出去,一段時(shí)間后再加入回集群網(wǎng)絡(luò),對(duì)集群服務(wù)無(wú)任何影響,因?yàn)樗鼈儾恍枰鼋换?,不需要?shù)據(jù)同步等等。

4.3 部署模型

StatefulSet 的部署模型和 Deployment 的很相似。

比如下圖,借助 PVC(與存儲(chǔ)有關(guān)) 文件系統(tǒng)來(lái)存儲(chǔ)的實(shí)時(shí)數(shù)據(jù),因此下圖就是一個(gè)有狀態(tài)服務(wù)的部署。

在 pod 宕機(jī)之后重新建立 pod 時(shí),StatefulSet 通過(guò)保證 hostname 不發(fā)生變化來(lái)保證數(shù)據(jù)不丟失。因此 pod 就可以通過(guò) hostname 來(lái)關(guān)聯(lián)(找到) 之前存儲(chǔ)的數(shù)據(jù)。

1d2cea70-387a-11ed-ba43-dac502259ad0.png

原文鏈接:https://blog.csdn.net/qq_43280818/article/details/10691018

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 控制器
    +關(guān)注

    關(guān)注

    114

    文章

    16998

    瀏覽量

    183150
  • 容器
    +關(guān)注

    關(guān)注

    0

    文章

    507

    瀏覽量

    22377
  • POD
    POD
    +關(guān)注

    關(guān)注

    0

    文章

    18

    瀏覽量

    6128

原文標(biāo)題:Kubernetes 核心組件原理梳理,年底加雞腿必看~

文章出處:【微信號(hào):網(wǎng)絡(luò)工程師筆記,微信公眾號(hào):網(wǎng)絡(luò)工程師筆記】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    詳解Kubernetes中的Pod調(diào)度親和性

    在 Kubernetes(K8s)中,Pod 調(diào)度親和性(Affinity) 是一種高級(jí)調(diào)度策略,用于控制 Pod 與節(jié)點(diǎn)(Node)或其他 Pod 之間的關(guān)聯(lián)(親和)或反關(guān)聯(lián)(反親和)關(guān)系。通過(guò)親和性規(guī)則,管理員可以更精細(xì)地控
    的頭像 發(fā)表于 06-07 13:56 ?98次閱讀

    飛凌嵌入式2K0300i核心板發(fā)布,自主可控新選擇!

    核心
    飛凌嵌入式
    發(fā)布于 :2025年05月07日 11:34:19

    電池包全面解析:從核心組件到實(shí)際應(yīng)用

    電池包是由多個(gè)關(guān)鍵組件協(xié)同工作的復(fù)雜系統(tǒng),以下是其核心組成部分: 電芯(電池單體): 儲(chǔ)能的核心單元,通過(guò)化學(xué)反應(yīng)存儲(chǔ)和釋放電能。 電池管理系統(tǒng)(BMS): 實(shí)時(shí)監(jiān)控電芯的電壓、溫度、電流,實(shí)現(xiàn)均衡
    的頭像 發(fā)表于 03-04 18:17 ?555次閱讀

    XYZ三軸直線模組的核心優(yōu)勢(shì)與應(yīng)用

    XYZ三軸直線模組由X、Y、Z軸組成,通過(guò)電機(jī)驅(qū)動(dòng)實(shí)現(xiàn)三維空間精準(zhǔn)定位。具有三自由度、高精度、模塊化設(shè)計(jì)等特點(diǎn),廣泛應(yīng)用于工業(yè)自動(dòng)化、電子制造、醫(yī)療設(shè)備和科研領(lǐng)域,是現(xiàn)代工業(yè)和高科技領(lǐng)域的核心組件
    的頭像 發(fā)表于 02-25 13:28 ?772次閱讀
    XYZ三軸直線模組的<b class='flag-5'>核心</b>優(yōu)勢(shì)與應(yīng)用

    Kubernetes Pod常用管理命令詳解

    Kubernetes Pod常用管理命令詳解
    的頭像 發(fā)表于 02-17 14:06 ?422次閱讀
    Kubernetes <b class='flag-5'>Pod</b>常用管理命令詳解

    通信基站核心組件TNC插頭,為何不可或缺?

    德索工程師說(shuō)道在通信技術(shù)日新月異的當(dāng)下,通信基站作為現(xiàn)代通信網(wǎng)絡(luò)的神經(jīng)中樞,承載著人們?nèi)粘Mㄔ?、暢快上網(wǎng)等各類通信需求。在通信基站紛繁復(fù)雜的組件體系中,TNC插頭猶如一顆關(guān)鍵螺絲釘,看似渺小,卻發(fā)揮著無(wú)可替代的重要作用,其核心價(jià)值主要體現(xiàn)在以下幾個(gè)維度。
    的頭像 發(fā)表于 01-23 10:25 ?364次閱讀
    通信基站<b class='flag-5'>核心</b><b class='flag-5'>組件</b>TNC插頭,為何不可或缺?

    天問(wèn)ASRPRO核心板+ESP32S3#pcb設(shè)計(jì)

    核心
    默語(yǔ)聆聽
    發(fā)布于 :2025年01月13日 00:51:48

    為什么要選擇BGA核心板?

    導(dǎo)讀M3562核心板不僅在性能上表現(xiàn)卓越,還采用了先進(jìn)的BGA封裝技術(shù)。那么,BGA封裝核心板究竟有哪些獨(dú)特的優(yōu)勢(shì)呢?本文將帶您深入探討。繼MX2000和CPMG2ULBGA核心板之后,ZLG致遠(yuǎn)
    的頭像 發(fā)表于 01-07 11:36 ?566次閱讀
    為什么要選擇BGA<b class='flag-5'>核心</b>板?

    MT8788安卓核心板_MTK8788核心板參數(shù)_聯(lián)發(fā)科MTK核心

    MT8788安卓核心板是一款小巧而強(qiáng)大的開發(fā)平臺(tái),其尺寸僅為52.5mm x 38.5mm x 2.95mm。該核心板集成了多種電路組件,包括處理器、GPU、LPDDR3存儲(chǔ)器、eMMC閃存及電源
    的頭像 發(fā)表于 01-03 20:06 ?896次閱讀
    MT8788安卓<b class='flag-5'>核心</b>板_MTK8788<b class='flag-5'>核心</b>板參數(shù)_聯(lián)發(fā)科MTK<b class='flag-5'>核心</b>板

    驍龍665安卓核心板_SM6125核心板參數(shù)_安卓核心板高通方案定制

    驍龍665(SM6125)核心板是一款先進(jìn)的智能模塊,搭載了多種網(wǎng)絡(luò)制式的LTE Cat 4模塊,旨在滿足現(xiàn)代化通訊需求。這款核心板基于64位架構(gòu),采用三星11納米工藝技術(shù)制造,配備了八核CPU
    的頭像 發(fā)表于 11-13 20:17 ?1442次閱讀
    驍龍665安卓<b class='flag-5'>核心</b>板_SM6125<b class='flag-5'>核心</b>板參數(shù)_安卓<b class='flag-5'>核心</b>板高通方案定制

    深度解析linux HID核心

    在linux內(nèi)核中,HID核心是完成HID功能的關(guān)鍵組件,如果內(nèi)核支持HID,在啟動(dòng)過(guò)程中,則會(huì)對(duì)HID進(jìn)行初始化,完成該操作的函數(shù)是hid_init(),實(shí)現(xiàn)在/drivers/hid/hid-core.c中。
    的頭像 發(fā)表于 09-29 17:04 ?1117次閱讀
    深度解析linux HID<b class='flag-5'>核心</b>

    【米爾NXP i.MX 93開發(fā)板試用評(píng)測(cè)】1、異構(gòu)核心通信的技術(shù)內(nèi)容

    組件,其中兩個(gè)是可選的。核心組件位于rpmsg_lite.c。兩個(gè)可選組件用于實(shí)現(xiàn)阻塞接收API(在rpmsg_queue.c中)和動(dòng)態(tài)\"命名\"端點(diǎn)創(chuàng)建和刪除公告服務(wù)(在
    發(fā)表于 09-21 20:24

    混聯(lián)式混合動(dòng)力汽車核心組件介紹

    混聯(lián)式驅(qū)動(dòng)系統(tǒng)融合了串聯(lián)式與并聯(lián)式的技術(shù)特點(diǎn),其構(gòu)成如下圖所示: 核心組件包括發(fā)動(dòng)機(jī)、發(fā)電機(jī)、功率轉(zhuǎn)換器、電機(jī)控制器、驅(qū)動(dòng)電機(jī)、動(dòng)力耦合器以及動(dòng)力電池系統(tǒng)等。 發(fā)動(dòng)機(jī)輸出的能量一部分通過(guò)機(jī)械鏈接直接
    的頭像 發(fā)表于 08-13 18:16 ?1734次閱讀
    混聯(lián)式混合動(dòng)力汽車<b class='flag-5'>核心</b><b class='flag-5'>組件</b>介紹

    表面貼裝 TCXO 汽車電子用 DSK321STD:卓越性能,穩(wěn)定可靠的汽車電子核心組件

    表面貼裝 TCXO(汽車電子用)DSK321STD:卓越性能,穩(wěn)定可靠的汽車電子核心組件
    的頭像 發(fā)表于 08-01 10:22 ?1326次閱讀
    表面貼裝 TCXO 汽車電子用 DSK321STD:卓越性能,穩(wěn)定可靠的汽車電子<b class='flag-5'>核心</b><b class='flag-5'>組件</b>
    主站蜘蛛池模板: 5566成人 | 四虎影院久久 | 新网球王子u17世界杯篇免费观看 | 久热中文字幕在线精品免费 | 日韩欧美卡一卡二卡新区 | 久久久久久久久久久9精品视频 | 日本xxwwxxww视频免费丝袜 | 色老头·com 色老头成人免费综合视频 色老头久久久久 | 看片午夜| 在线亚洲欧美性天天影院 | h视频在线播放 | 国产高清视频在线播放www色 | 手机看片久久青草福利盒子 | 五月婷婷综合色 | 黄色一级毛片看一级毛片 | 欧美zooz人禽交免费 | 1300部小u女视频免费 | 人人艹在线视频 | 日本三级特黄 | 欧美日韩一区二区三区视频在线观看 | 夜夜狠狠操| 中国china体内裑精亚洲毛片 | 天天精品视频在线观看资源 | 一级全免费视频播放 | 人人干网| 亚洲 图片 小说 欧美 另类 | 天天玩天天操 | 好吊色青青青国产在线观看 | 天天爽夜夜爽8888视频精品 | 色丁香在线 | 在线高清一级欧美精品 | 日美一级毛片 | 久久综合九色综合欧美播 | 亚洲视频欧美视频 | 久久久久久综合 | 免费视频www | 亚洲三级在线视频 | 欧美日本不卡 | 亚洲人成电影院在线观看 | 色网址在线观看 | 亚洲久久久 |