fbpx

私房筆記:Kubernetes & GKE (下)

私房筆記:Kubernetes & GKE (上)
私房筆記:Kubernetes & GKE (中)

 

大家最關注的 K8S 私房筆記來到最後一章囉! 這次架構師將介紹提供外部使用的 K8S 元件,內容依舊豐富又實用,就讓我們一起來看看吧!

– Service

Service 的概念,就是將一組 Pod 端點 (Endpoint) 聚集成單一資源,而使用者可以設定利用多種方式來存取這組 Pod 端點 (Endpoint)。根據預設,K8S 會產生一個穩定的叢集內部 IP (Internal Cluster IP) 位址,能讓叢集中的用戶端拿來連接 Service 中的 Pod。當用戶端發起服務連線請求到 Cluster IP 位址,K8S 系統便會將該請求轉送至 Service 中的某個 Pod 來提供服務給用戶端。其中 K8S 支援 Service 種類有以下幾種: Cluster IP (預設)、NodePort、Load Balancer、ExternalName,而各種類別都各自有不同的情境,這部分我們之後再來細部介紹。

如下圖所示,使用者僅需將請求 (Request) 傳送至 Service 的端點地址,該請求便會被派發至相對應的 Pod 去執行使用者的服務請求。

至於為什麼要使用 Service?因為在 Kubernetes 叢集中,每個 Pod 都有內部 IP 位址,但部署中的 Pod 會變動,其 IP 位址也會變更,因此,直接使用 Pod IP 位址並不合理。透過 K8S Service,使用者可獲得持續存在的穩定 IP 地址,甚至在 Pod 的 IP 位址變更時仍不會改變。此外,Service 也能提供負載平衡,使用者僅需將連線請求傳送至該 Service IP 位址,使用者的請求就會平均分配到屬於服務成員的 Pod 之間。

經由以上的介紹,相信大家對於 K8S 架構及其重要元件有了初步認識。從 High Level 層面來看,下面的示意圖相信能讓各位更完整地理解 Kubernetes 的組成:

 

一般而言,自建K8S對於系統管理者會有幾項主要的工作負擔:

        1. Cluster 建置與安裝曠日廢時。
        2. 隨著業務量的增長,固定資源的 K8S 叢集不易動態且即時的彈性擴充 worker node,影響商業運營。
        3. Node 異常時,容易導致系統負載過重,造成服務不穩定,若沒有額外維持一定程度冗餘的資源,可能會導致服務不穩定,甚至是 Master node 發生異常,管理者就無法繼續維運整個系統。

正是為了採納 Kubernetes 的好處及優勢,並減輕系統管理者、維運者對於 K8S 叢集建置及運營的管理負擔,Google Cloud Platform (GCP) 雲平台也推出 K8S 的代管服務 (Managed Service),稱之為 Google Kubernetes Engine (GKE),可以讓系統管理者及維運者省去 K8S Cluster 安裝及維護的時間,僅需幾分鐘,GKE 便能建置出一套完整的 K8S 服務,並快速布建開發者的容器化應用程式。

 

至於 GKE 服務的特色介紹及使用 Kubenetes 或 GKE 的最佳實踐 (Best Practice),我們將於後續文章陸續介紹,敬請期待。

請持續鎖定 Microfusion 宏庭架構師專欄,以獲得最新專業資訊喔!

 

若有任何 GCP 需求,歡迎與我們聯繫!

Previous Post

防疫大作戰! 導入 G Suite 輕鬆協作 企業營運不中斷

Next Post

讓 Cloud Build 最佳化您的開發流程 專注實現企業核心價值

Scroll to top