iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 2
0
IoT

從開源kubernetes雲端運算到kubeedge雲邊協同系列 第 2

Day 2: Kubernetes 架構與元件

  • 分享至 

  • xImage
  •  

今天來介紹Kubernetes的架構跟元件。

Kubernetes 架構


一個Kubernetes叢集分為主節點(Master)跟工作節點(Node)兩種角色。主節點負責控制叢集的運行,分派任務給工作節點;工作節點負責接收任務並與主節點保持溝通。

Master

在Matser上有幾個元件:

kube-apiserver

提供Restful API作為介面,對Kubernetes叢集內部資源做控制。例如資源的增減、狀態取得等等;從上面的架構圖也可以發現所有的元件都跟他有關聯,所有對叢集資源的控制都需要透過kube-apiserver。

Kube-controller-manager

負責叢集內部資源物件的自動化控制,透過監聽kube-apiserver的方式取得資源物件的狀態,再透過kube-apiserver做控制。

  • Node Controller
    負責監看節點狀態,處理節點失效時的問題
  • Replication Controller
    負責管理Replicaset,使Pod數量滿足預先定義的副本數量
  • Endpoints Controller
    負責管理維護服務(Service)與服務終端(Endpoints)間的關係,例如透過Service訪問底下的Pod時,需要訪問哪個地址可以找到對應的Pod。
  • Service Account & Token Controllers
    創建預設帳戶,並負責新命名空間的API權限(token)的創立

kube-scheduler

負責資源的調度,決定該調度到哪一個節點上運行。在沒有特別指定的情況下會優先分配給現有資源最多的節點,如果有特別定義才會依照定義去分配。

etcd

存儲叢集狀態的資料庫,當發生故障時可以從這裡做還原,因此會透過kube-apiserver寫入資料。例如當Kube-apiserver建立一個新的Pod時,就會在etcd中寫入這個Pod的資料。

Node

在工作節點上的元件有以下幾個:

kubelet

與kube-apiserver溝通,維持容器的生命週期管理,定期和apiserver溝通讓其掌握容器以及節點狀態。

kube-proxy

負責監聽apiserver上的服務(service),處理經由服務轉發到節點上的流量,實現如叢集內部IP連線(Cluster IP)、NodePort對應等功能。

container runtime

容器的運行引擎,kubernetes提供多種多種容器引擎支援,例如常用的docker。

接下來會帶來Kubernetes的安裝。


上一篇
Day 1: 前言
下一篇
Day 3: Kubernetes安裝
系列文
從開源kubernetes雲端運算到kubeedge雲邊協同30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言