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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Kubernetes各组件的功能

發布時間:2025/3/21 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Kubernetes各组件的功能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Kubernetes各組件的功能

1.kubectl

kubectl是Kubernetes官方提供的命令行工具CLI,用戶可以通過命令行的方式與Kubernetes API Server進行操作,通信協議使用HTTP/JSON。

2.client-go

client-go是從Kubernetes代碼中抽離出來的包,作為官方提供的GO語言的客戶端發揮作用。client-go簡單、易用,Kubernetes系統的其他組件與Kubernetes API Server通信的方式也是基于client-go實現。

3.kube-apiserver

它負責Kubernetes"資源組/資源版本/資源"以RESTful風格的形式對外暴露并提供服務。kube-apiserver組件也是集群中唯一與Etcd集群進行交互的核心組件。Kubernetes將所有的數據存儲在Etcd集群中前綴為registry的目錄下。
kube-apiserver的特性:

  • 將Kubernetes系統中所有資源對象都封裝成RESTful風格的API接口進行管理。
  • 可進行集群狀態管理和數據管理,是唯一與Etcd集群交互的組件。
  • 擁有豐富的集群安全訪問機制,以及認證,授權及準入控制器。
  • 提供了集群各組件的通信和交互功能。

4.kube-controller-manager

它負責管理Kubernetes集群中的節點(Node),Pod副本,服務,端點(Endpoint),命名空間(Namespace),服務賬戶(ServiceAcconut),資源定額(ResourceQuota)等。

5.kube-scheduler

該組件是Kubernetes集群默認的調度器,它負責在Kubernetes集群中為一個Pod資源對象找到合適的節點并在該節點上運行。在調度的過程中每次只負責調度一個Pod資源對象。調度算法分為兩種,分別為預選調度算法和優選調度算法。

6.kubelet

該組件運行在每個Kubernetes節點上,用于管理節點。kubelet組件用來接收、處理、上報kube-apiserver組件下發的任務。它主要負責所在節點上的Pod資源對象的管理,例如Pod資源對象的創建、修改、監控、刪除、驅逐及Pod生命周期管理等。
kubelet組件會定期監控所在節點的資源使用狀態并上報給kube-apiserver組件,這些資源數據可以幫助kube-scheduler調度器為Pod資源對象預選節點。kubelet也會對所在節點的鏡像和容器做清理工作,保證節點上的鏡像不會占滿磁盤空間、刪除的容器釋放相關資源。
kubelet組件實現了3種開放接口:

  • Container Runtime Interface:簡稱CRI(容器運行時接口)提供容器運行時通用插件接口服務。CRI定義了容器和鏡像服務的接口。CRI將kubelet組件與容器運行時進行解耦,將原來完全面向Pod級別的內部接口拆分成面向Sandbox和Container的gRPC接口,并將鏡像管理和容器管理分離給不同的服務。
  • Container Network Interface:簡稱CNI(容器網絡接口),提供網絡通用插件接口服務。CNI定義了Kubernetes網絡插件的基礎,容器創建時通過CNI插件配置網絡。
  • Container Storage Interface:簡稱CSI(容器存儲接口),提供存儲通用插件接口服務。CSI定義了容器存儲卷標準規范,容器創建時通過CSI插件配置存儲卷。

7.kube-proxy

該組件運行在Kubernetes集群中每個節點上,作為節點上的網絡代理。它監控kube-apiserver的服務和端點資源變化,并通過iptables/ipvs等配置負載均衡器,為一組Pod提供統一的TCP/UDP流量轉發和負載均衡功能。但是kube-proxy組件與其他負載均衡服務的區別在于kube-proxy代理只想Kubernetes服務及其后端Pod發出請求。

Kubernetes Project Layout 設計

源碼目錄說明
cmd/存放可執行文件的入口代碼,每個可執行文件都會對應一個main函數
pkg/存放核心庫代碼,可被項目內部或外部直接引用
vendor/存放項目依賴的庫代碼,一般為第三方庫代碼
api/存放OpenAPI/Swagger的spce文件,包括JSON、Protocol的定義等
build/存放與構建相關的腳本
test/存放測試工具及測試數據
docs/存放設計或用戶使用文檔
hack/存放與構建、測試等相關代碼
third_party存放第三方工具、代碼或者其他組件
plugin/存放Kubernetes插件代碼目錄,例如認證、授權等相關插件
staging/存放部分核心庫的暫存目錄
translations/存放i18n(國際化)語言包的相關文件,可以在不修改內部代碼的情況下支持不同語言及地區
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的Kubernetes各组件的功能的全部內容,希望文章能夠幫你解決所遇到的問題。

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