k8s 自身原理 3

前面有分享到 master 主節點上的 四個組件,etcd,ApiServer,scheduler,controller manager

接下來我們分享一波 woker 節點上的組件,xdm 還記得 worker 節點上都有什么嗎

  • kubelet
  • kube-proxy
  • 實際的服務對應的容器

kubectl 前面多多少少說了一些,但是 kubectl 具體是做啥的呢?

Kubelet

kubelet 是運行在節點中的關鍵節點之一,主要負責運行在該節點上的所有組件,總的來說 kubelet 會做這么 3 件事情

  • 請求 ApiServer ,注冊當前節點,創建一個 node 資源
  • 持續監控 ApiServer 關于需要調度到自己節點的 pod,并啟動 pod 容器
  • kubelet 組件也會運行容器的存活探針

上述第二點,是否會有這樣的疑問,kubelet 是自己去運行 pod 嗎?

實際上是 kubelet 會去告知配置好的容器,在運行的時候去拉取特定的鏡像,接下來,kubelet 還會監控運行中的容器,并和 ApiServer 通信,告知 容器的狀態,事件 和 資源消耗

可以畫一個圖來進行展示一波:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-hLLj0cPX-1691758700208)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/d42b3b7fa34f4ed29978262fece33a33~tplv-k3u1fbpfcp-zoom-1.image)]

通過上圖我們可以看出,對于創建 pod,資源清單在 master 節點上或者是 worker 節點的本地清單目錄里,kubelet 都是可以運行,管理和監控他們的

上述的容器 B 就是通過 ApiServer 來獲取的 pod 資源清單,進而創建的 pod 容器,和監控 容器 B

容器 A 就會 worker 節點自身清單目錄里面的 pod 清單,kubelet 仍然可以直接使用該清單創建 pod,管理并監控容器 A

節點中另一關鍵組件 - kube-proxy

首先來看看 kube-proxy 這個組件具體是干啥的,還記得之前我們也分享過,分享關于證書,訪問 pod 元數據的那一篇

看名字應該知道他是一個 代理,具體作用是確保客戶端可以通過 k8s 的 api 連接到咱們定義的服務上,這個可以看看之前分享的文章 【k8s 系列】k8s 學習二十四,如何訪問 pod 元數據

那么為什么要叫他代理呢?

我們來回顧一下,叫代理,是因為他是一個中間商,可以促進兩頭的人進行正常的交易

例如:

小 A 期望和 小 C 合作,但是由于某種限制,小 A 無法與小 C 搭上線,可 小 B 可以直接和小 C 合作,小 A 也可以和小 B 說上話,那么 小A 就拜托小 B 幫忙和小 C 合作,完成 小 A 需要做的事情

那么這個時候,這里的 小 B 就是一個代理,若把 小 A 看成客戶端,小 C 看成服務端,那么 小 B 還是一個正向代理 , 對于 小 C 來說,小 A 是不可見的,是被隱藏的,對這一塊感興趣的可以查看一下往期文章:簡單理解正向代理和反向代理

那么此處的 kube-proxy 是代理什么角色呢?

剛開始的一種代理方式是這樣的, kube-proxy 代理配置 iptables, 將服務器的連接進行攔截,重定向到代理服務器,并代理給到 pod 中

向后發展的時候,就演化成了 iptables 代理模式,就逐漸演化成了給 iptables 配置規則,直接重定向數據包給到任意一個 pod 了,就不再是給代理服務器了

可以這樣理解,第一種和第二種代理方式的對比

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-9yqACsbP-1691758700210)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/a21f3a94e4084ec68550b515e412d37d~tplv-k3u1fbpfcp-zoom-1.image)]

明眼人都看得出來上述 演變過程的區別,第一種,iptables 會將數據傳遞給代理服務器,但是第二種是直接將數據給到 pod,所以 第二種的性能會更好,少了一個中間商賺差價

今天就到這里,學習所得,若有偏差,還請斧正

歡迎點贊,關注,收藏

朋友們,你的支持和鼓勵,是我堅持分享,提高質量的動力

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ucgb5BqC-1691758700211)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/84ed6ab6b83748b18a8763f30e7a57d8~tplv-k3u1fbpfcp-zoom-1.image)]

好了,本次就到這里

技術是開放的,我們的心態,更應是開放的。擁抱變化,向陽而生,努力向前行。

我是阿兵云原生,歡迎點贊關注收藏,下次見~
更多的可以查看 零聲每晚八點直播:https://ke.qq.com/course/417774

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/42346.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/42346.shtml
英文地址,請注明出處:http://en.pswp.cn/news/42346.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【數據結構】棧和隊列常見題目

文章目錄 有效的括號用隊列實現棧兩個隊列實現棧一個隊列實現棧用棧實現隊列設計循環隊列最小棧棧的壓入&彈出序列逆波蘭表達式隊列:先進先出 棧:后進先出 有效的括號 https://leetcode.cn/problems/valid-parentheses/ class Solution {public:bool isValid(string s) {…

如何讓多線程步調一致?

前幾天老板突然匆匆忙忙的過來說對賬系統最近越來越慢了,能不能快速優化一下?我了解了對賬系統的業務后,發現還是挺簡單的,用戶通過在線商城下單,會生成電子訂單,保存在訂單庫。之后物流會生成派送單給用戶…

Redis - 數據類型映射底層結構

簡介 從數據類型上體現就是,同一個數據類型,在不同的情況下會使用不同的編碼類型,底層所使用的的數據結構也不相同。 字符串對象 字符串對象的編碼可以是 int、raw 和 embstr 三者之一。 embstr 編碼是專門用于保存簡短字符串的一種優化編…

每日一學——無線基礎知識

無線局域網(Wireless Local Area Network,簡稱 WLAN)是一種使用無線通信技術連接多個無線終端設備的局域網。它通常基于無線電波傳輸數據,并使用無線接入點(Access Point,簡稱 AP)來連接無線設備…

網絡安全--負載均衡

負載均衡 webshell實踐 一、負載均衡配置 1.在全局的http下寫下它: upstream nginx_boot{# 30s內檢查心跳發送兩次包,未回復就代表該機器宕機,請求分發權重比為1:2server 192.168.0.000:8080 weight100 max_fails2 fail_timeout30s; ser…

LeetCode150道面試經典題-- 合并兩個有序鏈表(簡單)

1.題目 將兩個升序鏈表合并為一個新的 升序 鏈表并返回。新鏈表是通過拼接給定的兩個鏈表的所有節點組成的。 2.示例 示例 1: 輸入:l1 [1,2,4], l2 [1,3,4] 輸出:[1,1,2,3,4,4] 示例 2: 輸入:l1 [], l2 [] 輸…

k8s 中快速啟動curl pod 做api test

場景 k8s上運行的pod需要進行api測試,由于開發使用的鏡像都是最小化構建,不能保證現有的pod中一定有curl工具,于是需要啟動一個帶有curl工具的測試pod專門進行api測試 指令 kubectl run curl-test-pod --imagecurlimages/curl -n {namespace} -i --tty -- sh上述指令實現在指…

“一日之際在于晨”,歡迎蒞臨WAVE SUMMIT上午場:Arm 虛擬硬件早餐交流會

8月16日,盛夏的北京將迎來第九屆WAVE SUMMIT深度學習開發者大會。在峰會主論壇正式開啟前,讓我們先用一份精美的元氣早餐,和一場“Arm虛擬硬件交流會”,喚醒各位開發小伙伴的開發魂! 8月16日,WAVE SUMMIT大…

時序預測 | MATLAB實現WOA-CNN-LSTM鯨魚算法優化卷積長短期記憶神經網絡時間序列預測

時序預測 | MATLAB實現WOA-CNN-LSTM鯨魚算法優化卷積長短期記憶神經網絡時間序列預測 目錄 時序預測 | MATLAB實現WOA-CNN-LSTM鯨魚算法優化卷積長短期記憶神經網絡時間序列預測預測效果基本介紹模型描述程序設計學習總結參考資料 預測效果 基本介紹 時序預測 | MATLAB實現WOA-…

華為OD真題--字符串中最小的整數和--帶答案

1. 華為OD機考題 答案 2023華為OD統一考試(AB卷)題庫清單-帶答案(持續更新) 2023年華為OD真題機考題庫大全-帶答案(持續更新) 2. 面試題 一手真實java面試題:2023年各大公司java面試真題匯總--…

java導入excel圖片處理

直接看代碼吧,主要邏輯吧excel的圖片拿到 壓縮上傳獲取url // 將文件轉成XSSFWorkbook工作簿XSSFWorkbook wb new XSSFWorkbook(uploadFile);// 獲取工作薄中第一個excel表格XSSFSheet sheet wb.getSheetAt(0);// 核心:::獲取ex…

R語言APSIM模型進階應用與參數優化、批量模擬實踐技術

隨著數字農業和智慧農業的發展,基于過程的農業生產系統模型在模擬作物對氣候變化的響應與適應、農田管理優化、作物品種和株型篩選、農田固碳和溫室氣體排放等領域扮演著越來越重要的作用。APSIM (Agricultural Production Systems sIMulator)模型是世界知名的作物生…

《論文閱讀14》FAST-LIO

一、論文 研究領域:激光雷達慣性測距框架論文:FAST-LIO: A Fast, Robust LiDAR-inertial Odometry Package by Tightly-Coupled Iterated Kalman Filter IEEE Robotics and Automation Letters, 2021 香港大學火星實驗室 論文鏈接論文github 二、論文概…

LeetCode49.字母異味詞分組

我一開始的思路就是用1個hashmap<Integer,List<String>>,Integer存的的是字符串所有字母ASCLL值的和&#xff0c;List里面放異位字符串&#xff0c;但是不是異位的字符串的ascll值也可能相同比如acd和abe&#xff0c;所以這個hashmap只能降低一點時間復雜度我還是要…

Vue--》打造個性化醫療服務的醫院預約系統(六)

今天開始使用 vue3 + ts 搭建一個醫院預約系統的前臺頁面,因為文章會將項目的每一個地方代碼的書寫都會講解到,所以本項目會分成好幾篇文章進行講解,我會在最后一篇文章中會將項目代碼開源到我的GithHub上,大家可以自行去進行下載運行,希望本文章對有幫助的朋友們能多多關…

Web APIs 第六天

正則表達式介紹語法元字符修飾符 一.正則表達式介紹 ① 簡介 用來匹配字符串中字符組合的模式在JavaScript中&#xff0c;正則表達式也是對象通常用來查找&#xff0c;替換那些符合正則表達式的文本&#xff0c;許多語言都支持正則表達式 ② 使用場景 驗證表單&#xff1a…

算法通關村第4關【白銀】| 棧的經典算法問題

1.括號匹配問題 思路&#xff1a;將左括號壓入棧中&#xff0c;遍歷字符串&#xff0c;當遇到右括號就出棧&#xff0c;判斷是否是匹配的一對&#xff0c;不是就返回false&#xff08;因為按照順序所以當遇到右括號出棧一定要是匹配的&#xff09;。使用Map來簡化ifelse clas…

編寫一套工具庫并上傳NPM

你的 工具箱 開箱即可用的 directive\utils&#xff0c; 說明&#xff1a;vue3-directive-tools 是一個方便在 Vue 3 Ts 項目中快速使用的 directive、tool 的 npm 插件。它允許您輕松地在項目中添加多種功能&#xff0c;它采用 Ts 方式開發&#xff0c;與 Vue3 更加搭配 npm&…

系統架構設計師---2017年上午試題1答案詳解

2017年上午試題1答案詳解 某計算機系統采用5級流水線結構執行指令,設每條指令的執行由取指令(2?t)、分析指令(1?t)、取操作數(3?t)、運算(1?t)和寫回結果(2?t)組成,并分別用5個子部完成,該流水線的最大吞吐率為(1);若連續向流水線輸入10條指令,則該流水線的加速比為(…

問道管理:放量打拐什么意思?常見的放量打拐三種形態?

成交量一直是股票交易中比較重要的目標&#xff0c;那么&#xff0c;放量打拐是什么意思&#xff1f;常見的放量打拐三種形狀是什么&#xff1f;下面問道管理為我們預備了相關內容&#xff0c;以供參閱。 放量打拐什么意思&#xff1f; 放量是指股票成交量與前幾個交易日比較顯…