日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

还不会用 K8s 集群控制器?那你会用冰箱吗?(多图详解)

發布時間:2025/3/20 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 还不会用 K8s 集群控制器?那你会用冰箱吗?(多图详解) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


作者 | 阿里云售后技術專家?聲東

導讀:當我們嘗試去理解 K8s 集群工作原理的時候,控制器(Controller)肯定是一個難點。這是因為控制器有很多,具體實現大相徑庭;且控制器的實現用到了一些較為晦澀的機制,不易理解。但是,我們又不能繞過控制器,因為它是集群的“大腦”。今天這篇文章,作者通過分析一個簡易冰箱的設計過程,來幫助讀者深入理解集群控制器的產生,功能以及實現方法。

K8s 集群核心組件大圖

下圖是 K8s 集群的核心組件,包括數據庫 etcd,調度器 Scheduler,集群入口 API Server,控制器 Controller,服務代理 kube-proxy 以及直接管理具體業務容器的 kubelet。

這些組件邏輯上可以被分為三個部分:

  • 核心組件 etc 數據庫;
  • 對 etcd 進行直接操作的入口組件 API Server;
  • 其他組件, 這里的“其他組件”之所以可以被劃分為一類,是因為它們都可以被看做是集群的控制器。

今天我們要講的就是集群控制器原理。

控制器原理

雖然控制器是 K8s 集群中比較復雜的組件,但控制器本身對我們來說并不陌生的。我們每天使用的洗衣機、冰箱、空調等,都是依靠控制器才能正常工作。在控制器原理這一節,我們通過思考一個簡易冰箱的設計過程,來理解 K8s 集群控制器的原理。

簡易的冰箱

這個冰箱包括五個組件:箱體、制冷系統、照明系統、溫控器以及門。

冰箱只有兩個功能:

  • 當有人打開冰箱門的時候,冰箱內的燈會自動開啟;
  • 當有人按下溫控器的時候,制冷系統會根據溫度設置,調節冰箱內溫度。

統一入口

對于上邊的冰箱,我們可以簡單抽象成兩個部分:統一的操作入口和冰箱的所有組件。

在這里,用戶只有通過入口,才能操作冰箱。這個入口提供給用戶兩個接口:開關門和調節溫控器。用戶執行這兩個接口的時候,入口會分別調整冰箱門和溫控器的狀態。

但是這里有一個問題,就是用戶通過這兩個接口,既不能讓冰箱內部的燈打開,也不能調節冰箱的溫度。

控制器

控制器就是為了解決上邊的問題產生的。控制器就是用戶的操作,和冰箱各個組件的正確狀態之間的一座橋梁:

  • 當用戶打開門的時候,控制器觀察到了門的變化,它替用戶打開冰箱內的燈;
  • 當用戶按下溫控器的時候,控制器觀察到了用戶設置的溫度,它替用戶管理制冷系統,調節冰箱內溫度。

控制器管理器

冰箱有照明系統和制冷系統,顯然相比一個控制器管理著兩個組件,我們替每個組件分別實現一個控制器是更為合理的選擇。同時我們實現一個控制器管理器來統一維護所有這些控制器,來保證這些控制器在正常工作。

SharedInformer

上邊的控制器和控制器管理器,看起來已經相當不錯了。但是當冰箱功能增加,勢必有很多新的控制器加進來。這些控制器都需要通過冰箱入口,時刻監控自己關心的組件的狀態變化。比如照明系統控制器就需要時刻監控冰箱門的狀態。當大量控制器不斷的和入口通信的時候,就會增加入口的壓力。

這個時候,我們把監控冰箱組件狀態變化這件事情,交給一個新的模塊 SharedInformer 來實現。

SharedInformer 作為控制器的代理,替控制器監控冰箱組件的狀態變化,并根據控制器的喜好,把不同組件狀態的變化,通知給對應的控制器。通過優化,這樣的 SharedInformer 可以極大的緩解冰箱入口的壓力。

ListWatcher

SharedInformer 方便了控制器對冰箱組件的監控,而這個機制最核心的功能,當然是主動獲取組件狀態和被動接收組件狀態變化的通知。這兩個功能加起來,就是 ListWatcher。

假設 SharedInformer 和冰箱入口通過 http 協議通信的話,那么 http 分塊編碼(chunked transfer encoding)就是實現 ListWatcher 的一個好的選擇。控制器通過 ListWatcher 給冰箱入口發送一個查詢然后等待,當冰箱組件有變化的時候,入口通過分塊的 http 響應通知控制器。控制器看到 chunked 響應,會認為響應數據還沒有發送完成,所以會持續等待。

舉例說明

以上我們從一個簡易冰箱的進化過程中,了解了控制器產生的意義,扮演的角色,以及實現的方式。現在我們回到K8s 集群。K8s 集群實現了大量的控制器,而且在可以預見的未來,新的功能的控制器會不斷出現,而一些舊的控制器也會被逐漸淘汰。

目前來說,我們比較常用的控制器,如 Pod 控制器、Deployment 控制器、Service 控制器、Replicaset 控制器等。這些控制器一部分是由 kube controller manager 這個管理器實現和管理,而像 route 控制器和 service 控制器,則由 cloud controller manager 實現。

之所以會出現 cloud controller manager,是因為在不同的云環境中,一部分控制器的實現,會因為云廠商、云環境的不同,出現很大的差別。這類控制器被劃分出來,由云廠商各自基于 cloud controller manager 分別實現。

這里我們以阿里云 K8s 集群 cloud controller manager 實現的 route? 控制器和 service 控制器為例,簡單說明 K8s 控制器的工作原理。

服務控制器

首先,用戶請求 API Server 創建一個 LoadBalancer 類型的服務,API Server 收到請求并把這個服務的詳細信息寫入 etcd 數據庫。而這個變化,被服務控制器觀察到了。服務控制器理解 LoadBalancer 類型的服務,除了包括存放在 etcd 內部的服務記錄之外,還需要一個 SLB 作為服務入口,以及若干 endpoints 作為服務后端。所以服務控制器分別請求 SLB 的云 openapi 和 API Server,來創建云上 SLB 資源,和集群內 endpoints 資源。

路由控制器

在集群網絡一章中,我們提到過,當一個節點加入一個 K8s 集群的時候,集群需要在 VPC 路由表里增加一條路由,來搭建這個新加入節點到 Pod 網絡的主干道。而這件事情,就是路由控制器來做的。路由控制器完成這件事情的流程,與上邊服務控制器的處理流程非常類似,這里不再贅述。

結束語

基本上來說,K8s 集群的控制器,其實扮演著集群大腦的角色。有了控制器,K8s 集群才有機會擺脫機械和被動,變成一個自動、智能、有大用的系統。

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的还不会用 K8s 集群控制器?那你会用冰箱吗?(多图详解)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: a级片网址 | 一区在线观看视频 | av一起看香蕉 | 亚洲精品无码久久久久 | 992在线观看 | 亚洲免费在线视频观看 | 熟妇人妻系列aⅴ无码专区友真希 | 色妞干网 | 国产情侣免费视频 | 亚洲一区二区在线视频 | 在线看黄色网 | 亚洲午夜久久久久久久国产 | 青青草国产在线播放 | 淫片在线| 欧美群交射精内射颜射潮喷 | 99在线精品观看 | 日产av在线| 好吊色免费视频 | 草久视频在线观看 | 免费草逼视频 | 中文字幕免费一区 | 色综合免费 | 特黄一区二区 | 国产色婷婷| 亚洲免费黄色 | 日韩一区在线播放 | 成人国产精品 | 婷婷综合在线观看 | 国产黄色片免费看 | 久久亚洲欧美 | 国产亚洲精 | 青青色在线 | 久久久久不卡 | 欧美一页 | 成年网站免费观看 | 国产剧情在线一区 | 韩日激情视频 | 白丝开裆喷水 | 噼里啪啦国语版在线观看 | 好屌妞视频这里只有精品 | 国产无套粉嫩白浆内谢 | 美女张开腿露出尿口 | 黄a在线观看 | 日本美女高潮 | av二区在线 | 99操| 日韩欧美亚洲一区 | 久久资源365 | 欧美性jizz18性欧美 | 国产农村妇女精品 | 日韩视频网 | 69精品久久久 | 在线不卡一区 | 亚洲国产精品麻豆 | 成人网页在线观看 | 国产亚洲欧洲 | 自拍偷拍五月天 | 视频国产在线 | 国产精品porn | 久操久操久操 | 国产精品99久久久久久久久 | 国产亚洲久久 | 狠狠综合久久av一区二区 | 午夜av福利| 男人天堂最新网址 | 欧美一级片在线免费观看 | 丰满少妇aaaaaa爰片毛片 | 丝袜天堂 | 日韩激情久久 | 中国a级大片 | 欧美日韩精品一区二区三区四区 | 成人在线免费视频播放 | 亚洲一区二区三区在线视频观看 | 无码人妻精品一区二区三区99日韩 | 免费伊人网 | 日本免费小视频 | 成人av入口 | 产乳奶汁h文1v1 | 永久精品网站 | 可以在线看黄的网站 | 中文字幕电影一区 | 麻豆黄色网址 | 99999av| 亚洲国产精品视频一区 | 欧美视频一区二区三区 | 青青青在线免费观看 | 无码少妇精品一区二区免费动态 | 爱操影院 | 国产搞逼视频 | 思思99精品视频在线观看 | 性日韩| 国产一级片精品 | 天码人妻一区二区三区在线看 | 97超级碰碰人妻中文字幕 | 国产精品久久久免费观看 | 欧日韩在线视频 | 欧美日韩一级大片 | 澳门黄色| 中国国产黄色片 |