master(管理節點)
api server:供kubernetes api介面,主要處理 rest操作以及更新etcd中的物件。 所有資源增刪改查的唯一入口。
scheduler:繫結pod到node上,資源排程。
controller manager: 所有其他群集級別的功能,目前由控制器manager執行。資源物件的 自動化控制中心。
etcd:所有持久化的狀態資訊儲存在etcd中。
node(計算節點)
只有api server與儲存通訊,其他模組通過 api server訪問集群狀態。
乙個工作節點的問題不影響集群體。
在k8s集群中,所有的配置管理操作都宣告 式而非命令式的。
各個模組在記憶體中快取自己的相關狀態以 提高系統效能。
scheduler(資源排程)
負責集群的資源排程,根據特定的排程演算法將pod排程到指定的minion上。
這部分工作分出來變成乙個元件,意味著可以很方便地替換成其他的排程器。
scheduler排程器輸入是待排程pod和可用的工作節點列表,輸出則是應用排程 演算法從列表中選擇乙個最優的用於繫結待排程的pod節點。
controller manager(控制管理中心)
controller manager作為集群內部的管理控制中心,負責集群內的node、pod副本、服務端點、命名空間、服務賬號、資源定額等的管理並執行自動化修復流程,確保集群處於預期的工作狀態
在kubernetes集群中,每個controller就是乙個作業系統,它通過api server監控系統的共享狀態,並嘗試著將系統狀態從「現有狀態」修正到「期望狀態」
pod(資源池)
pod是k8s集群中所有業務型別的基礎
pod是在k8s集群中執行部署應用或服務的最小單元,它是可以支援多容器的。
pod的設計理念是支援多個容器在乙個pod中共享網路位址和檔案系統。
pod控制器deployment、job、daemonset和 petset
label(標籤)
label是乙個 key=value的鍵值對,由使用者指定,可以附加到 k8s資源之上。
給某個資源定義乙個標籤,隨後可以通過label進行查詢和篩選 ,類似sql的where語句。
label可以給物件建立多組標籤
replication controller,rc
rc是k8s集群中最早的保證pod高可用的api物件。通過監控執行中的pod來保證集群中執行指定數目的pod副本。
指定的數目可以是多個也可以是1個;少於指定數目,rc就會啟動執行新的pod副本;多於指定數目,rc就會殺死多餘的pod副本。
即使在指定數目為1的情況下,通過rc執行pod也比直接執行pod更明智,因為rc也可以發揮它高可用的能力,保證永遠有1個pod在執行。
pc總結
rc裡包括完整的pod定義模板
rc通過label selector(標籤選擇器)機制實現對pod副本的自動控制。
通過改變rc裡的pod副本以實現pod的擴容和縮容
通過改變rc裡pod模組中的映象版本,可以實現pod的滾動公升級。
K8S各個元件介紹
k8s集群架構 乙個k8s集群是由兩大部分組成 master節點和node節點 一.master節點主要包括api server scheduler controller manager etcd幾大元件 1.api server 提供其他模組之間的資料互動和通訊的樞紐 其他模組通過api serv...
k8s 元件介紹 kube schedule
kubernetes scheduler 基本原理 kubernetes scheduler 作為乙個單獨的程序部署在 master 節點上,它會 watch kube apiserver 程序去發現 podspec.nodename 為空的 pod,然後根據指定的演算法將 pod 排程到合適的 n...
k8s元件核心流程介紹
master kube apiserver kube controller manager kube scheduler node kubelet proxy 1 基礎知識 api version api groups 目前,有幾個api groups在使用 包括 pod replicationco...