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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

kubernetes组件介绍

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

目錄

?

1.前言

2.k8s簡介

3.master

3.1 kubernetes Scheduler 簡介

3.2 Controller Manager簡介

4.Node


?1.前言

為什么要用 Kubernetes?
  使用 Kubernetes 的理由有很多,最基本的一個理由就是:IT 是新技術驅動行業。Docker 這個新興的容器化技術當前已經被很多公司所采用,其從單機走向集群已成必然,而云計算的蓬勃發展正在加速這一進程。Kubernetes 作為當前唯一被業界廣泛認可和看好的 Docker 分布式系統解決方案。可以預見,在未來幾年內,會有大量的新系統選擇它,不管是運行在企業本地服務器上還是被托管到公有云上。
  使用 Kubernetes 又會收獲哪些好處呢?
  首先,使用 Kubernetes 就是在全面擁抱微服務架構。微服務架構的核心就是將一個巨大的單體應用分解為很多小的互相連接的微服務,一個微服務背后可能有多個實例副本在支撐,副本的數量可能會隨著系統的負荷變化而進行調整,內嵌的負載均衡器在 k8s 平臺中有多個實例副本在支撐,副本的數量可能會隨著系統的負荷變化而進行調整,內嵌的負載均衡器 k8s 平臺中發揮了重要的作用。微服務架構使得每個服務都可以由專門的開發團隊來開發,開發者可以自由選擇開發技術,這對于大規模團隊來說很有價值。另外,每個微服務獨立開發、升級、擴展,使得系統具備很高的穩定性和快速迭代進化能力。
  其次,Kubernetes 系統架構具備了超強的橫向擴容能力。對于互聯網公司來說,用戶規模就等價于資產,誰擁有更多的用戶,誰就能在競爭中勝出,因此超強的橫向擴容能力是互聯網業務系統的關鍵指標之一。不用修改代碼,一個 Kubernetes 集群即可從只包含幾個Node 的小集群平滑擴展到擁有成百上千 Noder 大規模集群,利用 Kubernetes 提供的工具,甚至可以在線完成集群的擴容。只要微服務設計的得好,結合硬件或者公有云資源的線性增加,系統就能夠承受大量用戶并發訪問所帶來的壓力。

? ? ? 那為什么叫k8s,這個單詞太長了,從k-s之間有8個字符,因此簡稱 k 8 s

2.k8s簡介

借用一張k8s中文社區上的架構圖

Kubernetes主要由以下幾個核心組件組成:

  • etcd保存了整個集群的狀態,是Kubernetes提供默認的存儲系統,保存所有集群數據,使用時需要為etcd數據提供備份計劃;
  • apiserver提供了資源操作的唯一入口,并提供認證、授權、訪問控制、API注冊和發現等機制;
  • controller manager作為集群內部的管理控制中心,負責集群內的Node、Pod副本、服務端點(Endpoint)、命名空間(Namespace)、服務賬號(ServiceAccount)、資源定額(ResourceQuota)的管理,當某個Node意外宕機時,Controller Manager會及時發現并執行自動化修復流程,確保集群始終處于預期的工作狀態;
  • scheduler負責資源的調度,按照預定的調度策略將Pod調度到相應的機器上,監視新創建沒有分配到Node的Pod,為Pod選擇一個Node;
  • kubelet負責維護容器的生命周期,同時也負責Volume(CVI)和網絡(CNI)的管理;
  • Container runtime負責鏡像管理以及Pod和容器的真正運行(CRI);
  • kube-proxy負責為Service提供cluster內部的服務發現和負載均衡,部署在每個Node節點上,它是實現Kubernetes Service的通信與負載均衡機制的重要組件;

? ? ? Kubernetes 里的 Master 指的是集群控制節點,每個 Kubernetes 集群里需要有一個Master 節點來負責整個集群的管理的控制,基本上 Kubernetes 所有的控制命令進是發給Master,Master 負責具體的執行過程,后面所有執行的命令基本都是在 Master 節點上運行的。Master 節點通常會占據一個獨立的 X86 服務器,一個主要的原因是它太重要了,它是整個集群的大腦,如果它宕機或者不可用,那么所有的控制命令都將失效。除了 Master、Kubernetes 集群中的其他機器被稱為 Node 節點,在較早的版本中也被稱為 Minion。與 Master 一樣,Node 節點可以是一臺物理主機,也可以是一臺虛擬機。Node節點才是 Kubernetes 集群中的工作負載節點,每個 Node 都會被 Master 分配一些負載。當某個 Node 宕機時,其上的工作負載會被 Master 自動轉移到其他節點上去。

先簡單介紹下k8如何工作的?:

? ? ? ? master主機上的kube-controller-manager是整個集群的控制管理中心,kube-controler-manager中的node controller模塊?通過apiservice提供的監聽接口,實時監控Node機的狀態信息。?當某個Node機器宕機,controller-manager就會及時排除故障并自動修復。Node節點機上的kubelet進程每隔一段時間周期就會調用一次apiservice接口報告自身狀態,apiservice接口接受到這些信息后將節點狀態更新到ectd中。kubelet也通過apiservice的監聽接口監聽pod信息,如果監控到新的pod副本被調度綁定到本節點,則執行pod對應的容器的創建和啟動,如果監聽到pod對象被刪除,則刪除本節點對應的pod容器。

那pod和容器之間的關系可以用如下一張借用的圖片來表示

? ? 單個容器或多個關系密切的容器,被編成一組,稱為 podK8S 就是以 pod 為單位進行編排操作。

3.master

3.1 kubernetes Scheduler 簡介

? ? ?kubernetes Scheduler 運行在 master 節點,它的核心功能是監聽 apiserver 來獲取 PodSpec.NodeName 為空的 pod,然后為每個這樣的 pod 創建一個 binding 指示 pod 應該調度到哪個節點上。從哪里讀取還沒有調度的 pod 呢?當然是 apiserver。怎么知道 pod 沒有調度呢?它會向 apiserver 請求 spec.nodeName 字段為空的 pod,然后調度得到結果之后,把結果寫入 apiserver。

3.2 Controller Manager簡介

? ? ? Controller Manager作為集群內部的管理控制中心,負責集群內的Node、Pod副本、服務端點(Endpoint)、命名空間(Namespace)、服務賬號(ServiceAccount)、資源定額(ResourceQuota)的管理,當某個Node意外宕機時,Controller Manager會及時發現并執行自動化修復流程,確保集群始終處于預期的工作狀態。

4.Node

? ? ? 除了 Master、Kubernetes 集群中的其他機器被稱為 Node 節點,在較早的版本中也被稱為 Minion。與 Master 一樣,Node 節點可以是一臺物理主機,也可以是一臺虛擬機。Node節點才是 Kubernetes 集群中的工作負載節點,每個 Node 都會被 Master 分配一些負載。當某個 Node 宕機時,其上的工作負載會被 Master 自動轉移到其他節點上去。

? ? ?

每個 Node 節點都運行著以下一組關鍵進程:

  •   Kubelet:負責 Pod 對應的容器的創建、啟停等任務,同時與 Master 節點密切協作,實現集群管理的基本功能。
  •   Kube-proxy:實現 Kubernetes Service 的通信與負載均衡機制的重要組件。

參考:Kubernetes中文社區

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

總結

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

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