理解 K8S 的設計精髓之 list watch

2021-10-11 01:53:59 字數 501 閱讀 7309

list-watch, 是k8s系統中統一的一部訊息傳遞方式,對系統的效能、資料一致性起到關鍵性的作用,etcd 儲存集群的資料資訊,apiserver 作為統一入口,任何對資料的操作都必須經過 apiserver。客戶端(kubelet/scheduler/ontroller-manager)通過 list-watch 監聽 apiserver 中資源(pod/rs/rc 等等)的 create, update 和 delete 事件,並針對事件型別呼叫相應的事件處理函式。

上圖是乙個典型的pod建立過程,在這個過程中,每次當kubectl建立了replicaset物件後,controller-manager都是通過list-watch這種方式得到了最新的replicaset物件,並執行自己的邏輯來建立pod物件。其他的幾個元件,scheduler/kubelet也是一樣,通過list-watch得知變化並進行處理。

K8S的設計理念

k8s 成為事實上資源排程管理事實標準。有些人甚至認為k8s已經成為了雲原生時代的資源容器排程的作業系統。這麼牛叉的k8s,他是怎麼設計的呢?k8s的設計大致分成三大部分 client master worker k8s 設計的核心理念最終概括為4大點 宣告式 顯示介面 無入侵性 和 可移植性 k8...

k8s之基礎概念

目錄 kubernets 結構 基礎概念之master 基礎概念之nodes 基礎概念之pod 基礎概念之label master作為kubernets集群當中的最重要的一部分,作用為管理集群當中的各個節點 node 由四個基礎元件構成 nodes k8s集群當中的節點,受到master節點的管控。...

k8s登入 登陸並訪問k8s的apiserver

kubeadm安裝的k8s集群預設需要使用者登陸認證,無法直接使用命令curl訪問。所以首先的第一步就是獲取token。先找到k8s集群中的dns元件coredns,之前的版本使用的是kube dns。root k8s master kubectl n kube system get sa core...