© 2020 Microfusion Technology Co., Ltd.
宏庭科技股份有限公司 雲端整合專家
延續上一篇:私房筆記第一篇:Kubernetes & GKE (上)
第二篇私房筆記,我們將著重在 Kubernetes 的應用程式相關元件上,架構師將逐一介紹四個主要元件,事不宜遲,就讓我們一起來看看吧!
Master Node 執行 Kubernetes 控制層程序 (Control Plane),包含 Kubernetes API 伺服器 (kube-apiserver)、排程器 (scheduler) 和核心資源控制器 (Core resource controllers)。系統管理者所有與 K8S Cluster 的互動都透過 Kubernetes API 呼叫來完成,且 Master Node 會執行 Kubernetes API Server 來處理這些要求。Master Node 的 API server 程序是 Cluster 中所有通訊的中樞。以下是 Master Node 內重要元件:
Node 節點是實際運行容器化應用程式和應用程式服務的工作站機器 (worker node),每個 Node 都透過 Master Node 管理,且各 Node 會自行回報最新狀態資訊給 Master Node。在 Worker Node 中,會有以下幾個主要元件:
Pod 是 Kubernetes 中最小、最基本的可部署物件。Pod 代表叢集中一個運作中程序的單一執行個體。Pod 含有一或多個「容器」,如 Docker 容器。若 Pod 執行多個容器,系統會將這些容器視為單個實體進行管理,這些容器也共用 Pod 的資源。
一般除了有高度相關聯 (Tightly Coupled) 的容器服務為了增進應用程式的效率,才建議把一個以上的容器服務包裝進同一Pod內。以下圖為例,該單一Pod提供的服務為Web Server網頁服務,而其內部有另一個檔案管理服務,兩容器可共享Pod內的儲存資源( Shared Volume),相輔相成提供外部使用者存取網頁服務並透過網頁頁面顯示對應的檔案。
圖片來源: Kubernetes官網
Deployment 可以視為一組相同 Pod 所組成的服務管理單元,其中可以透過副本 (Replicas) 參數指定所需的 Pod 數量。Deployment 可協助確保應用程式可以有一或多個執行個體處理使用者要求並會自動取代失敗或已從節點中移除的 Pod。以下圖為例,該 Deployment 內指定 K8S Cluster 需建置兩組相同服務的 Pod,而此兩組 Pod 會由 Cluster 布建於 node 之中,且 K8S 會於系統內持續維持兩組運行中的 Pod 來提供服務讓用戶端存取。
既然大家都已經了解應用程式相關元件如何於 K8S 內組成及運行, 接下來,下一篇架構師私房筆記將解釋如何將應用程式服務提供給其他使用者或應用程式, 並公開提供給外部使用的重要K8S元件(Component)!
請持續鎖定 Microfusion 架構師專欄,以獲得最新專業資訊喔!
若有任何 GCP 需求,歡迎與我們聯繫!
© 2020 Microfusion Technology Co., Ltd.
宏庭科技股份有限公司 雲端整合專家
Recent Comments