在理解完k8s基礎元件後
接下來會從k8s的架構來介紹
k8s架構上, 大致上可以分為
Control Plane跟 Node Compoents兩大部份
而今天會先介紹 Node Components的部份
Node 如同在前面基本元件提到, 是一個伺服器上面跑著許多的 Pods
而每個 Node會有以下3個基本架構成員來組成:
在 Node 元件中, Container Runtime 是負責運行container的軟體
在 k8s 架構裡, 支援多種的 Container Runtimes: Docker, containerd, CRI-O,還有任何實作 k8s CRI (Container Runtime Interface)規範的軟體
在 Node 元件中, kubelet 負責建構 Pod 還有維護 Container 正常運行
kubelet會與Container還有node相互溝通,
每當Pod的規格變更, kubelet就會依照Pod的規格跟現行情況變更Pod內部的container配置
在 Node 元件中, kube-proxy 主要負責處理Node間網路規則管理,
提供Pod之間溝通的管道
理解了基礎Node 架構後
值得去思考的是
究竟要如何跟 k8s 叢集去互動:
要如何排程啟動 Pod ?
要如何對跑起來的 Pod 做監控?
要如何對更新排程 Pod 還有重新啟動 Pod?
如何新增 Node?