侵權投訴

Kubernetes組件pod核心原理

Linux愛好者 ? 2021-09-02 09:27 ? 次閱讀

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

1.1 pod 是什么

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

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

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

1.2 pod 用來干什么

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

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

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

1.3 實現 web 服務集群

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

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

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

pod 底層

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

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

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

2. ReplicaSet 副本控制器

2.1 副本控制器基本理解

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

當副本設置為 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 就歸這個副本控制器管。

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

3. Deployment 部署對象

3.1 滾動更新

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

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

3.2 部署模型

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

需要滾動更新時的步驟:

Deployment 建立新的 Replicaset

Replicaset 重新建立新的 pod

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

4. StatefulSet 部署有狀態服務

4.1 引入定義

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

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

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

因此對 k8s 來說,不能使用 Deployment 部署有狀態的服務。通常情況下,Deployment 被用來部署無狀態服務。然后 StatefulSet 就是為了解決有狀態服務使用容器化部署的一個問題。

4.2 如何理解狀態服務

有狀態服務

有實時的數據需要存儲

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

無狀態服務

沒有實時的數據需要存儲

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

4.3 部署模型

StatefulSet 的部署模型和 Deployment 的很相似。比如下圖,借助 PVC(與存儲有關) 文件系統來存儲的實時數據,因此下圖就是一個有狀態服務的部署。在 pod 宕機之后重新建立 pod 時,StatefulSet 通過保證 hostname 不發生變化來保證數據不丟失。因此 pod 就可以通過 hostname 來關聯(找到) 之前存儲的數據。

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

責任編輯:haq

原文標題:Kubernetes 核心組件原理梳理

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
分享:

評論

相關推薦

基于飛凌FETMX8MP-C核心板的AGV小車

在科技日新月異的當今社會,5G和AI都是非常火爆的概念。隨著5G的商用,5G技術在社會的普及程度逐步....
發表于 09-26 11:05 ? 443次 閱讀

核心板在智慧交通/電力/醫療/自動化領域典型應用推薦

核心板典型應用飛凌嵌入式深耕智能設備核心平臺領域多年,積累了豐富的行業知識和經驗,擁有成熟的技術、產....
的頭像 欒新科 發表于 09-24 18:03 ? 30次 閱讀
核心板在智慧交通/電力/醫療/自動化領域典型應用推薦

STM32F103C8T6核心板ST_Link為什么會下載失敗

STM32F103C8T6核心板ST_Link為什么會下載失敗?怎樣去解決這個問題?...
發表于 09-24 07:56 ? 0次 閱讀

工業品質4G Cat.1核心板——Core_Air724UG,很貴,但不是因為顏值

 讓萬物互聯更簡單,合宙通信在技術及服務方面不斷探索突破,為行業應用帶來工業品質4G Ca....
的頭像 閆國梁 發表于 09-14 10:45 ? 66次 閱讀
工業品質4G Cat.1核心板——Core_Air724UG,很貴,但不是因為顏值

CB240核心板硬件

       i.MX8Mmini核心板四核ARM Cortex-A53內核,工作頻率高達1.8GHz,單核通用Cortex-M4, ...
發表于 09-09 15:09 ? 303次 閱讀
CB240核心板硬件

不漲價!不缺貨!198元ARM工業核心板,還含稅!

ARM Cortex-A8工業級核心板,198元起!
的頭像 黃工 發表于 09-07 19:04 ? 41次 閱讀
不漲價!不缺貨!198元ARM工業核心板,還含稅!

方案|基于飛凌FETMX8MP-C核心板實現的商用車智能駕駛終端

一、背景:2019年3月,我國交通部發布了JT/T 1178.2,即《營運貨車安全技術條例 第2部分:牽引車輛與掛車》,其中規定自2020年...
發表于 09-07 13:58 ? 202次 閱讀

stm32f103rct6_mini v2.0核心板原理圖相關資料下載

發表于 09-06 06:10 ? 0次 閱讀

一文透析Nginx-ingress 控制器如何實現的

主機nginx 一般nginx做主機反向代理(網關)有以下配置 upstream order{ se....
的頭像 Linux愛好者 發表于 09-01 14:44 ? 1122次 閱讀
一文透析Nginx-ingress 控制器如何實現的

米爾MYD-YA15XC-T產品介紹V1

米爾電子基于STM32MP1處理器推出了第二代低成本開發套件MYD-YA15XC-T,套件由核心板M....
發表于 09-01 14:08 ? 21次 閱讀

一文讓你讀懂Nginx的五大應用場景

一、HTTP服務器 Nginx本身也是一個靜態資源的服務器,當只有靜態資源的時候,就可以使用Ngin....
的頭像 開關電源芯片 發表于 08-27 09:16 ? 1926次 閱讀

運行nginx所需的最低配置

安全服務器是只允許所需數量的服務器。理想情況下,我們將通過單獨啟用其他功能來基于最小系統構建服務器。....
的頭像 阿銘linux 發表于 08-23 10:53 ? 1239次 閱讀

STM32F407核心板測試三種時鐘輸出的情況

使用的板子是STM32F407核心板,分別測試了三種時鐘輸出的情況,這里沒有截圖,大概波形是這樣的:輸出外部高速時鐘(晶振)的...
發表于 08-12 08:04 ? 0次 閱讀

電子產品設計理念

硬件設計1、電子產品設計理念人無我有(創新)人有我優(改進)主要是這點①:價格②:性能③:方便綜合:選好CPU(ARM);電...
發表于 08-11 09:11 ? 0次 閱讀

基于stm32的智能垃圾桶設計

一、硬件材料清單:1、STM32核心板2、OLED顯示屏3、語音識別模塊4、舵機二、實現的功能1:語音識別2:垃圾分類3:例如說出...
發表于 08-11 09:07 ? 0次 閱讀

基于STM32WB55的核心板設計開發過程中遇到的關鍵問題及解決方案

本文主要是記錄基于STM32WB55的核心板設計開發過程中遇到的關鍵問題及解決方案。1、硬件設計目前PCB已打板回來焊接完成。...
發表于 08-11 08:27 ? 0次 閱讀

了解LCD1602的使用方法

實驗目的:了解LCD1602的使用方法.掌握編寫LCD1602顯示程序的方法.實驗環境:硬件:STM32F103C8T6核心板,PC,USB線...
發表于 08-10 06:56 ? 0次 閱讀

STM32核心板連接計算機

第三章程序下載與驗證一、本章簡介STM32核心板連接計算機,計算機通過軟件向STM32微控制器下載程序,觀察STM32狀態(教程...
發表于 08-09 07:55 ? 0次 閱讀

基于FETMX8MM-C核心板的智能加油機

隨著近幾年信息技術的不斷發展,智能化的概念早已逐漸滲透到各行各業。在日益繁雜的城市建設中,節省用戶時....
發表于 08-01 09:52 ? 121次 閱讀

基于FETA40i-C核心板的智慧公交系統

等公交車是一件令人煩惱的事情,這個過程會不斷挑戰我們的耐心,也許你的奮力追趕換來的只是擦肩而過,也許....
發表于 08-01 09:48 ? 88次 閱讀

瑞蘇盈科Zynq 7015核心板驅動的電動方程式賽車 問鼎FS大賽

大學生方程式汽車大賽(Formula Student)是全球最大的工程師競賽。得益于創新的、基于FP....
發表于 07-23 16:29 ? 1601次 閱讀
瑞蘇盈科Zynq 7015核心板驅動的電動方程式賽車 問鼎FS大賽

TQA40I核心板的簡單介紹

TQA40I核心板 尺寸 80mm*52mm 核心?? 四核 主頻 最高1.2GHz 內存 1GB ....
發表于 07-03 15:02 ? 151次 閱讀

基于TQiMX6UL核心板的智慧水產養殖解決方案

傳統的養殖模式容易造成水體污染、水產品質和產量受到嚴重的影響,以往粗放式的完全依靠經驗進行水產養殖的....
發表于 07-03 14:54 ? 206次 閱讀

關于IDO-SOM2D01核心板的介紹

今天給大家介紹一個,基于SigmaStar SSD201/202芯片,針對智能家居、智能家電、醫療電....
發表于 07-03 09:16 ? 295次 閱讀
關于IDO-SOM2D01核心板的介紹

Sigmastar SSD201芯片的應用及優勢

目前SSD201已經量產,啟明云端的很多品牌客戶也已經開始投入使用。它是SigmaStar公司的一顆....
發表于 07-03 09:09 ? 466次 閱讀
Sigmastar SSD201芯片的應用及優勢

基于全志T507核心板的智能加油機

隨著社會的發展,機動車輛日益普及,加油站數量也在隨之增加。由于人力成本的提高以及顧客對便捷支付和加油....
發表于 06-29 15:59 ? 274次 閱讀

天嵌IMX8MM核心板的應用及參數

天嵌IMX8MM核心板采用先進的.MX8M Mini四核處理器,運行速度高達1.8GHz。一個通用型....
發表于 06-28 09:18 ? 140次 閱讀

弗艾泰克:如何運用phyCORE-i.MX8M核心板實現機器學習

隨著制造過程中能源效率要求的不斷提高,更完善、安全和高效的工業自動化控制便成了首選。而工業控制不僅服....
的頭像 Simon觀察 發表于 06-23 17:07 ? 2043次 閱讀
弗艾泰克:如何運用phyCORE-i.MX8M核心板實現機器學習

ARM+FPGA架構有什么優勢?

M7015核心板擁有ARM處理器的軟件可編程性與FPGA的硬件可編程性,不僅實現數據存儲分析、網絡通....
的頭像 ZLG致遠電子 發表于 06-18 17:42 ? 731次 閱讀

瑞蘇盈科發布ZU17/19EG高端核心板

瑞蘇盈科仙女座XZU90基于Xilinx Zynq UltraScale+ MPSoC打造,并針對需....
發表于 06-15 11:50 ? 4295次 閱讀

TQ335X_CoreB核心板的參數介紹

TQ335X_CoreB核心板是天嵌科技推出的一款工業級核心板,配套成熟的底板和齊全的學習應用資料,....
發表于 06-04 09:18 ? 151次 閱讀

基于sigmastar SSD201/SSD202D核心板選型介紹

啟明云端作為廈門星宸科技(sigmastar)大中華區代理和A級方案商,近日基于sigmastar ....
發表于 06-01 17:51 ? 576次 閱讀

TQ_SS08_SERVER八串口服務器的功能優勢

天嵌科技基于TQIMX6UL_CoreB核心板推出的一款八串口服務器(TQ_SS08_SERVER詳....
發表于 06-01 09:20 ? 72次 閱讀

簡單介紹基于ARM核心板的邊緣計算網關

邊緣計算類網關產品作為連接邊緣、本地、云端的橋梁,邊緣采集、邊緣存儲、邊緣計算分析,龐大數據量的篩選....
發表于 05-31 12:05 ? 271次 閱讀
簡單介紹基于ARM核心板的邊緣計算網關

基于ARM核心板的智能公交調度一體機方案分享

智能調度一體機可實現車輛定位、手動、自動報站、語音喊話、站點采集、TTS播報、視頻監控、信息交互、考....
發表于 05-30 10:05 ? 256次 閱讀
基于ARM核心板的智能公交調度一體機方案分享

基于ARM核心板的5G技術應用-車地5G傳輸終端

車地通信,是列車高速運行過程中,把車載數據向車站、車輛段、停車場等屬地進行及時傳輸,以實現運營方對乘....
發表于 05-30 10:04 ? 220次 閱讀
基于ARM核心板的5G技術應用-車地5G傳輸終端

關于TQIMX6Q_CoreC核心板的簡單介紹

邊緣計算平臺指的是在靠近數據源頭的網絡邊緣側,采集和存儲原始數據,進行計算和分析,通過網絡與本地控制....
發表于 05-25 10:13 ? 201次 閱讀
關于TQIMX6Q_CoreC核心板的簡單介紹

天嵌科技TQIMX6Q_CoreC核心板的關鍵特性有哪些

邊緣計算平臺指的是在靠近數據源頭的網絡邊緣側,采集和存儲原始數據,進行計算和分析,通過網絡與本地控制....
發表于 05-25 09:37 ? 115次 閱讀

關于TQi.MX6UL工控核心板的介紹

在物聯網中國,嵌入式的使用越來越廣泛,如智能家居控制系統,通過對電器、照明燈光等智能控制,實現家庭安....
發表于 05-24 10:40 ? 85次 閱讀

一文帶你深入了解 Nginx!

今天我們來談談什么是Nginx? 什么是Nginx? Nginx代碼完全用C語言從頭寫成,已經移植到....
的頭像 Linux愛好者 發表于 05-13 15:01 ? 461次 閱讀
一文帶你深入了解 Nginx!

如何徹底搞懂Nginx知識網結構

1.Nginx知識網結構圖 Nginx是一個高性能的HTTP和反向代理服務器,特點是占用內存少,并發....
的頭像 Linux愛好者 發表于 05-03 14:15 ? 345次 閱讀
如何徹底搞懂Nginx知識網結構

面向軌道交通自動化信息化,國產軌交計算核心板出擊

在國家數字化發展的版圖中,作為民生工程之一的軌道交通是重中之重,因此近十年,我國以“八縱八橫”高速鐵....
發表于 04-25 11:12 ? 280次 閱讀

淺析物理內存與虛擬內存的關系及其管理機制

本文主要介紹內存管理機制:物理內存與虛擬內存的關系,Linux內存管理機制,Python內存管理機制....
的頭像 Linux愛好者 發表于 04-12 09:55 ? 883次 閱讀
淺析物理內存與虛擬內存的關系及其管理機制

可快速閱讀、查看Nginx日志的工具Rhit

【導語】:一個格式化 Nginx 日志,可快速閱讀、查看 Nginx 日志的工具。 簡介 Rhit ....
的頭像 Linux愛好者 發表于 04-04 18:01 ? 775次 閱讀
可快速閱讀、查看Nginx日志的工具Rhit

OMEGA東京奧運會計時器

截至2019年共舉辦了31屆奧運會,其中27屆的計時設備都由歐米茄(OMEGA,Ω)提供,今年的東京....
的頭像 西西 發表于 03-26 17:08 ? 3922次 閱讀
OMEGA東京奧運會計時器

ACU2CG MPSOC核心板發布 Xilinx Zynq UltraScale+MPSoC再添一員

Zynq? UltraScale+? MPSoC 器件不僅提供 64 位處理器可擴展性,同時還將實時....
的頭像 FPGA技術專欄 發表于 03-22 15:14 ? 11723次 閱讀
ACU2CG MPSOC核心板發布 Xilinx Zynq UltraScale+MPSoC再添一員

DSP+ZYNQ核心板是如何實現核間通訊的?

這款DSP + ZYNQ核心板,是如何實現核間通訊呢? 核心板簡介 SOM-TL6678ZH是一款基....
的頭像 FPGA開源工作室 發表于 03-22 09:50 ? 935次 閱讀
DSP+ZYNQ核心板是如何實現核間通訊的?

CMC_V3核心板使用手冊說明

  CMC_V3 系列分 CMC690PR144 與 CMC691PR144 兩個版本,其封裝兼容。....
發表于 03-22 09:28 ? 118次 閱讀

一份Nginx模塊開發與架構解析實戰文檔

通過本章的學習,大家可以熟練地配置一個靜態Web服務器:對影響Web服務器性能的各個配置項有深入的理....
的頭像 Linux愛好者 發表于 03-03 15:36 ? 408次 閱讀

飛凌嵌入式i.MX6UL核心板引腳功能復用表的使用說明

由于每顆CPU的引腳數量有限,但為了滿足更多的使用場景,CPU廠家在設計時采用了引腳功能復用技術,即....
發表于 02-26 15:00 ? 168次 閱讀
飛凌嵌入式i.MX6UL核心板引腳功能復用表的使用說明

關于全志T3核心板在輸電線路圖像檢測中的應用

2020年10月27日,青海750千伏德令哈(托素)變電站330千伏送出線路工程正式開工。工程線路總....
發表于 02-26 14:36 ? 460次 閱讀
關于全志T3核心板在輸電線路圖像檢測中的應用

AMD線程撕裂者PRO系列產品線價格來了!64核心高達3.55萬

去年7月份,AMD發布了新的線程撕裂者PRO系列產品線,面向專業工作站,今年初又宣布面向零售市場開放....
的頭像 工程師鄧生 發表于 01-27 17:56 ? 1796次 閱讀
AMD線程撕裂者PRO系列產品線價格來了!64核心高達3.55萬

ARM核心板的型號都有哪些,其作用是什么

工控機箱的抗震:工控機箱在工作的時候,由于機箱內部的光驅、硬盤在高速運轉的時候都會產生震動,而震動很....
發表于 01-19 15:41 ? 476次 閱讀

AMD 銳龍 5000 系 Cezanne APU 核心圖曝光

AMD 即將于 1 月 11 日在 CES 正式發布銳龍 5000 系列 APU。外媒 VideoC....
的頭像 工程師鄧生 發表于 01-07 13:50 ? 995次 閱讀

小量多樣化的工業市場值得大力投入嗎?

工業類類客戶中需求量普遍都不會太高,可能一年也就1k~100k的需求量,有的甚至更低一年只有幾片需求....
的頭像 荷葉塘 發表于 12-29 15:02 ? 3858次 閱讀

CPLD開發板實驗板,支持EPM240,集成USB轉UART芯片CH340G

一 產品簡介:1、CPLD開發板實驗板,支持EPM240,集成USB轉UART芯片CH340G 2、....
的頭像 電路設計技能 發表于 12-25 16:47 ? 1112次 閱讀

基于FPGA數字門電路的實現

學習電子工程的過程中離不開大量的實驗和動手練習,就如同開車一樣,學習理論數載,如果從來沒有打幾把方向....
的頭像 璟琰乀 發表于 12-18 11:46 ? 1125次 閱讀
基于FPGA數字門電路的實現

華為預熱智慧屏新品:12月21日亮相 投屏暢聯通話等核心功能進一步優化增強

提出了“智慧屏”的概念后,華為已經推出了多款產品,包括V55i、V65i/V65、V75以及高端的X....
的頭像 工程師鄧生 發表于 12-17 11:27 ? 1341次 閱讀

Nginx知識網結構圖

反向代理:客戶端無法感知代理,因為客戶端訪問網絡不需要配置,只要把請求發送到反向代理服務器,由反向代....
的頭像 Linux愛好者 發表于 12-11 16:29 ? 720次 閱讀
Nginx知識網結構圖

基于瑞蘇盈科-火星ZX2核心板的六軸機械臂——什么是機器人奇點?

火星ZX2核心板(基于Xilinx Zynq-7000 SoC)能保障超高精度的運動軌跡,集成力控,....
發表于 12-10 13:47 ? 504次 閱讀
免费无限看黄app_蜜柚app官网下载入口_成版人黄瓜app