iT邦幫忙

2022 iThome 鐵人賽

DAY 14
0
DevOps

從認識Docker到精通系列 第 14

第十四天-認識 kubernetes-2

  • 分享至 

  • xImage
  •  


昨天我們有大致介紹了幾個名詞: pod, node, cluster,今天就來講解他們的組成元件吧!

pod

pod 昨天已經提及了,是k8s 中創建跟管理、最小的部署單元,類似於docker中的容器container。

node

我們知道了一個 cluster 是由多個 node 組成,而node又會依據node的工作類型分成master node 和slave node (worker node),以下就來講講這兩種node負責什麼工作:

Master node

Master node 負責的項目就跟他的名字一樣,是負責控制、支配整個cluster的運作,管理者也會藉由 kuberclt 來和master node 下指令,剩下的步驟就由master 繼續完成,就如同上面的那張圖一樣,Master node內部由etcd、api-server(圖中的"api")、scheduler ("sched")、cloud controller("c-c-m")、kube-controller manager("c-m"),各司其職。

因上圖的圖是用在minikube的,為單cluster單node的架構,master node對應到的就是control plane的部分

etcd

在 cluster 中負責處理及存放所有資料的儲存資源,當需要重建時,k8s會再依據這裡的資料來重建

api-server

為 K8s 中負責驗證及控制api的控制介面,主要功能為提供k8s api和各個node 之間的運作,以及進行scale-out(水平擴充)

scheduler

負責監控、調度及管理那個node該處理哪個pod

kube-controller-manager

負責管理在Kubernetes叢集中各項控制器的協同運作,例如Node Controller、Replication Controller、Endpoints Controller、Service Account & Token Controller

cloud-controller-manager

為因應雲端運算平台所做出來的元件,和kube-controller-manager功能類似

Slave node

Slave node,又稱worker node,為受master node支配的node,負責運行pod,內含兩個部件:kubeletkube-proxy

kubelet

每台節點主機運行的程式,在叢集中運行pod的容器和應用程式,會和Master做溝通

kube-proxy

當節點順利建立 pod 服務之後,node便會以此proxy接收來自外部的服務請求

container runtime

該node實際上在執行 container 的程式,對應 docker 便是 docker engine 的部分

整個結構就如同上圖所示,管理者會藉由kubectl和master進行下指令,當scheduler配置好之後便會在 worker node 建立 pod,建立完成後便以api server進行溝通

明天就實際來建立minikube的環境吧!


上一篇
第十三天-Kubernetes
下一篇
第十五天-安裝 Minikube
系列文
從認識Docker到精通30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言