女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

倩倩 ? 來源:CSDN ? 作者:CSDN ? 2022-09-20 11:03 ? 次閱讀

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

1.1 pod 是什么

pod 也可以理解是一個容器,裝的是 docker 創建的容器,也就是用來封裝容器的一個容器;

pod 是一個虛擬化分組, 有自己的 IP 地址和主機名 hostname,利用 namespace 進行資源隔離,相當于一臺獨立沙箱環境;

pod 相當于一臺獨立主機,內部可以封裝一個或多個容器(通常是一組相關的容器),內部容器之間訪問采用 localhost。

1.2 pod 用來干什么

通常情況下,在服務部署的時候,使用 pod 來管理一組相關的服務(一個 pod 中要么部署一個服務,要么部署一組有關系的服務)。如下圖是部署了一組有關系的服務的結構圖,其中 C 表示容器(container),下面的 pod 里就有很多個容器。

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

如何理解一組相關的服務?

如下圖:有一個請求是訪問 Nginx,然后部署了 Nginx 的容器就把請求轉發給部署了 web 服務的容器,web 再訪問數據庫,然后請求會依次返回來數據,最后再返回給用戶。因此在 鏈式調用的調用鏈路上的服務 叫做一組相關的服務。

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

1.3 實現 web 服務集群

只需要復制多個 pod 的副本即可,這也是 k8s 管理的先進之處。k8s 如果要進行擴容或縮容,只需要控制 pod 的數量即可。比如上面那個部署模式,服務集群就是復制多個這樣的 pod。

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

1.4 pod 底層網絡和數據存儲是如何進行的

前面說過 pod 內部的容器也是一個獨立的沙箱環境,因此也有自己的 ip 和 端口。如果內部容器還是通過 ip:port 來通信,相當于還是遠程訪問,這樣的話性能會受到一定的影響。如何提高內部容器之間訪問的性能呢?

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

pod 底層

pod 內部容器創建之前,必須先創建 pause 容器。pause 有兩個作用:共享網絡和共享存儲。

每個服務容器共享 pause 存儲,不需要自己存儲數據,都交給 pause維護。

pause 也相當于這三個容器的網卡,因此他們之間的訪問可以通過 localhost 方式訪問,相當于訪問本地服務一樣,性能非常高(就像本地幾臺虛擬機之間可以 ping 通)。

2. ReplicaSet 副本控制器

2.1 副本控制器基本理解

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

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

當副本設置為 3 時,副本控制器將會永遠保證副本數量為 3。因此當有 pod 服務宕機時(如上面第 3 個 pod),那副本控制器會立馬重新創建一個新的 pod,就能夠保證副本數量一直為預先設定好的 3 個。

2.2 ReplicaSet 和 ReplicationController 的區別

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

相同點:都有前面 2.1 節所描述的功能

不同點:標簽選擇器的功能不同。ReplicaSet 可以使用標簽選擇器進行 單選 和 復合選擇;而 ReplicationController 只支持 單選操作。

什么意思呢?

假設下面有下面兩個不同機器上的 Node 結點,如何知道它們的 pod 其實都是相同的呢?答案是通過標簽。

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

一旦 selector 和 pod 的標簽匹配上了,就表明這個 pod 是當前這個副本控制器控制的,表明了副本控制器和 pod 的所屬關系。如下圖中 seletor 指定了 app = web 和 release=stable 是復合選擇,要用 ReplicaSet 才能實現若用 ReplicationController 的話只能選擇一個,如只選擇匹配app=web標簽。這樣下面的 3 個 pod 就歸這個副本控制器管。

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

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

3. Deployment 部署對象

3.1 滾動更新

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

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

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

3.2 部署模型

單獨的 ReplicaSet 是不支持滾動更新的,Deployment 對象支持滾動更新,通常和 ReplicaSet 一起使用。

需要滾動更新時的步驟:

Deployment 建立新的 Replicaset

Replicaset 重新建立新的 pod

所以它們之間是有層次關系的,Deployment 管 Replicaset,Replicaset 維護 pod。在更新時刪除的是舊的 pod,老版本的 ReplicaSet 是不會刪除的,所以在需要時還可以回退以前的狀態。

4. StatefulSet 部署有狀態服務

4.1 引入定義

思考:如果 MySQL(有狀態服務) 使用容器化部署,會存在什么問題?

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

2、pod 也有生命周期的,用 pod 部署時把 pod 集群副本重啟以后也可能會出現數據丟失

因此對 k8s 來說,不能使用 Deployment 部署有狀態的服務。通常情況下,Deployment 被用來部署無狀態服務。

然后 StatefulSet 就是為了解決有狀態服務使用容器化部署的一個問題。

4.2 如何理解狀態服務

有狀態服務

有實時的數據需要存儲

在有狀態服務集群中,如果把某一個服務抽離出來,一段時間后再加入回集群網絡,此后集群網絡會無法使用

無狀態服務

沒有實時的數據需要存儲

在無狀態服務集群中,如果把某一個服務抽離出去,一段時間后再加入回集群網絡,對集群服務無任何影響,因為它們不需要做交互,不需要數據同步等等。

4.3 部署模型

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

比如下圖,借助 PVC(與存儲有關) 文件系統來存儲的實時數據,因此下圖就是一個有狀態服務的部署。

在 pod 宕機之后重新建立 pod 時,StatefulSet 通過保證 hostname 不發生變化來保證數據不丟失。因此 pod 就可以通過 hostname 來關聯(找到) 之前存儲的數據。

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

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

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 控制器
    +關注

    關注

    114

    文章

    16973

    瀏覽量

    182975
  • 容器
    +關注

    關注

    0

    文章

    507

    瀏覽量

    22369
  • POD
    POD
    +關注

    關注

    0

    文章

    18

    瀏覽量

    6122

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

文章出處:【微信號:網絡工程師筆記,微信公眾號:網絡工程師筆記】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    詳解Kubernetes中的Pod調度親和性

    在 Kubernetes(K8s)中,Pod 調度親和性(Affinity) 是一種高級調度策略,用于控制 Pod 與節點(Node)或其他 Pod 之間的關聯(親和)或反關聯(反親和)關系。通過親和性規則,管理員可以更精細地控
    的頭像 發表于 06-07 13:56 ?53次閱讀

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

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

    電池包全面解析:從核心組件到實際應用

    電池包是由多個關鍵組件協同工作的復雜系統,以下是其核心組成部分: 電芯(電池單體): 儲能的核心單元,通過化學反應存儲和釋放電能。 電池管理系統(BMS): 實時監控電芯的電壓、溫度、電流,實現均衡
    的頭像 發表于 03-04 18:17 ?524次閱讀

    XYZ三軸直線模組的核心優勢與應用

    XYZ三軸直線模組由X、Y、Z軸組成,通過電機驅動實現三維空間精準定位。具有三自由度、高精度、模塊化設計等特點,廣泛應用于工業自動化、電子制造、醫療設備和科研領域,是現代工業和高科技領域的核心組件
    的頭像 發表于 02-25 13:28 ?748次閱讀
    XYZ三軸直線模組的<b class='flag-5'>核心</b>優勢與應用

    Kubernetes Pod常用管理命令詳解

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

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

    德索工程師說道在通信技術日新月異的當下,通信基站作為現代通信網絡的神經中樞,承載著人們日常通話、暢快上網等各類通信需求。在通信基站紛繁復雜的組件體系中,TNC插頭猶如一顆關鍵螺絲釘,看似渺小,卻發揮著無可替代的重要作用,其核心價值主要體現在以下幾個維度。
    的頭像 發表于 01-23 10:25 ?358次閱讀
    通信基站<b class='flag-5'>核心</b><b class='flag-5'>組件</b>TNC插頭,為何不可或缺?

    天問ASRPRO核心板+ESP32S3#pcb設計

    核心
    默語聆聽
    發布于 :2025年01月13日 00:51:48

    MT8788安卓核心板_MTK8788核心板參數_聯發科MTK核心

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

    國產飛騰核心板,性能強勁,支持二次開發

    核心
    gnhpc
    發布于 :2024年12月27日 16:19:19

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

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

    深度解析linux HID核心

    在linux內核中,HID核心是完成HID功能的關鍵組件,如果內核支持HID,在啟動過程中,則會對HID進行初始化,完成該操作的函數是hid_init(),實現在/drivers/hid/hid-core.c中。
    的頭像 發表于 09-29 17:04 ?1090次閱讀
    深度解析linux HID<b class='flag-5'>核心</b>

    【米爾NXP i.MX 93開發板試用評測】1、異構核心通信的技術內容

    組件,其中兩個是可選的。核心組件位于rpmsg_lite.c。兩個可選組件用于實現阻塞接收API(在rpmsg_queue.c中)和動態\"命名\"端點創建和刪除公告服務(在
    發表于 09-21 20:24

    混聯式混合動力汽車核心組件介紹

    混聯式驅動系統融合了串聯式與并聯式的技術特點,其構成如下圖所示: 核心組件包括發動機、發電機、功率轉換器、電機控制器、驅動電機、動力耦合器以及動力電池系統等。 發動機輸出的能量一部分通過機械鏈接直接
    的頭像 發表于 08-13 18:16 ?1637次閱讀
    混聯式混合動力汽車<b class='flag-5'>核心</b><b class='flag-5'>組件</b>介紹

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

    表面貼裝 TCXO(汽車電子用)DSK321STD:卓越性能,穩定可靠的汽車電子核心組件
    的頭像 發表于 08-01 10:22 ?1310次閱讀
    表面貼裝 TCXO 汽車電子用 DSK321STD:卓越性能,穩定可靠的汽車電子<b class='flag-5'>核心</b><b class='flag-5'>組件</b>

    工業自動化控制系統的核心組件不包括什么

    工業自動化控制系統是現代工業生產中不可或缺的一部分,它通過計算機、傳感器、執行器等設備實現對生產過程的自動控制和管理。在工業自動化控制系統中,有許多核心組件,它們共同構成了系統的骨架和靈魂。然而
    的頭像 發表于 06-11 10:57 ?943次閱讀