什麼是容器自動化調度管理?

管理單一容器化應用程式相對簡單,但若要在分散式系統中擴充至數百或數千個,就會面臨重大挑戰,必須設法確保可用性、互連性和擴充性。容器自動化調度管理正好可解決這些難題。Kubernetes 是這方面的主要開放原始碼平台,而 Google Kubernetes Engine (GKE) 等全代管容器自動化調度管理工具則可簡化部署和持續管理作業,大幅減輕使用 Kubernetes 須面對的作業負擔。

Google Cloud 容器自動化調度管理功能簡介

容器自動化調度管理的定義

容器自動化調度管理是一套系統,會自動佈建、部署、管理容器化應用程式並調度資源,使用者無須擔心底層基礎架構的問題。

開發人員可以在任何容器所在環境導入容器自動化調度管理,以便自動管理容器的生命週期。

對企業開發與營運團隊來說,這代表必須捨棄手動程序,改用宣告式自動化系統。您只需宣告應用程式應達到什麼樣的狀態,不必指定如何執行工作,如部署新版本、調度資源以因應流量尖峰,或從硬體故障中復原。

Kubernetes 自動化調度管理的基本概念

Kubernetes 自動化調度管理機制的運作方式如下:管理整個叢集內的機器,並根據所需的資源和使用者定義的期望狀態,將容器部署至機器。這個系統由幾個搭配運作的重要概念組成。

  • 容器:這是可攜式的輕量可執行套件,內含應用程式及其所有依附元件。Kubernetes 會自動調度管理這些容器的部署和生命週期。
  • 叢集:由所有機器 (稱為節點) 組成,這些機器整合成一個叢集,由 Kubernetes 統一管理,用來執行應用程式。
  • 控制層:這是 Kubernetes 叢集的大腦,會做出全局性的叢集決策 (如排程),並負責偵測及回應叢集事件,以維持使用者期望的狀態。
  • 節點:這是叢集中的單一 worker 機器,可以是實體伺服器或虛擬機器,容器實際上就是在這裡執行。
  • Pod:在 Kubernetes 中,Pod 是最小的可部署物件,代表單一執行中的程序執行個體。Pod 包含一或多個容器、共用儲存空間和專屬網路 IP。

容器自動化調度管理工具類型

容器自動化調度管理平台提供工具,能自動執行容器的調度管理,還可讓您安裝其他開放原始碼技術,以便進行事件記錄、監控和數據分析作業 (例如 Prometheus)。

容器自動化調度管理平台主要分為兩種類型:自行管理型和代管型。

  • 自行管理的容器自動化調度管理工具:這類平台通常是從頭開始建構,或利用 Kubernetes 等開放原始碼平台,可讓您全面自訂。不過,您也必須負責管理及維護平台,包括處理安裝、設定、更新和安全性修補等工作。
  • 代管 Kubernetes 服務:Google Kubernetes Engine (GKE) 等平台可處理底層叢集基礎架構設定與運作帶來的難題,讓您專心部署及管理應用程式。雲端服務供應商會負責管理安裝和作業,因此您只要直接使用這些功能,並專注於執行容器化應用程式即可。

Kubernetes 本身提供核心自動化調度管理功能,但還有許多叢集工具可相互搭配,藉此強化安全、簡化管理,以及支援擴充。以下列出相關工具:

  • 監控與記錄解決方案:如要觀測叢集和運行的應用程式的健康狀態與效能,Google Cloud 作業套件 (Cloud MonitoringCloud Logging) 等工具是不可或缺的關鍵。
  • CI/CD 工具:Cloud Build 等系統可與 Kubernetes 整合,自動建構容器映像檔並部署至叢集。

容器自動化調度管理的運作方式為何?

Google Kubernetes Engine (GKE) 等容器自動化調度管理工具,可簡化容器化應用程式和微服務的部署與執行作業。這類工具通常採用各自的方法,且提供不同的功能,但都能協助組織自動協調、管理及監控容器化應用程式。

雖然最終結果相同,都是執行代管的容器化應用程式,但 Kubernetes 和 GKE 的操作步驟及需要投入的心力卻大不相同。

YouTube 圖片

Kubernetes 自動化調度管理的主要功能

Kubernetes 可自動執行多項重要功能,處理原本需要大量人工作業的工作。正是這些核心功能,讓 Kubernetes 成為強大的自動化調度管理平台。

  • 部署:Kubernetes 可協助您描述部署的應用程式應達到什麼樣的狀態,然後自動化調度管理引擎會以受控的方式管理變更推出作業 (例如將應用程式更新至新版本),而且通常不會造成停機。
  • 資源調度:Kubernetes 可根據 CPU 使用率或其他自訂指標,自動增減執行中的容器數量。這有助於確保應用程式擁有處理負載所需的資源,同時大幅提高成本效益。
  • 自我修復:如果容器或節點故障,Kubernetes 自動化調度管理功能會自動偵測到該問題,然後重新啟動、替換容器,或將容器重新安排到健康狀態良好的節點執行,確保應用程式還是可正常使用,無須人力介入處理。
  • 服務探索與負載平衡:Kubernetes 不僅能自動使用穩定的 DNS 名稱,向網際網路或叢集中的其他容器公開容器,還可將流量分配給提供相同服務的多個容器,藉此達到負載平衡,確保要求有效分配。
  • 設定管理:Kubernetes 可讓您以「Secret」形式儲存密碼和 API 金鑰等機密資訊並加以管理。此外,它還會以「ConfigMap」的形式處理應用程式設定資料,讓您不必重新建構容器映像檔,也能更新設定。

Kubernetes 容器自動化調度管理機制的優點

容器自動化調度管理的主要優點之一是能簡化作業。自動化工作不僅有助於將管理容器化應用程式的工作負擔和複雜度降到最低,還可帶來許多其他優勢。

可靠的應用程式開發

容器自動化調度管理工具有助於加快應用程式開發速度,並確保程序可重複執行,進而提升部署效率,因此非常適合用來推動 DevOps 等靈活開發做法。

擴充性

容器自動化調度管理功能可根據不斷變化的工作負載需求,擴充或縮減容器部署規模,如果您選擇使用代管服務,還可視需求擴充基礎架構,享有雲端的擴充性。

降低費用

容器需要的資源比虛擬機器更少,可以降低基礎架構和營運成本。此外,容器自動化調度管理平台需要較少的人力和時間,因此可節省更多費用。

安全再升級

容器自動化調度管理功能可讓您管理各平台的安全性政策,並減少可能導致安全漏洞的人為錯誤。另外,容器也能區隔應用程式程序,減少攻擊面並改善整體安全性。

高可用性

使用容器自動化調度管理工具可以更輕鬆地偵測及修正基礎架構故障。如果容器故障,容器自動化調度管理工具可以自動重新啟動或替換容器,以維持可用性並增加應用程式運作時間。

提升工作效率

容器自動化調度管理功能可提高開發人員的工作效率,幫助減少重複性工作,同時免除安裝、管理及維護容器的負擔。

透過 Google Cloud 解決業務難題

新客戶可以獲得價值 $300 美元的免費抵免額,盡情試用各項 Google Cloud 功能。
與 Google Cloud 銷售專員聯絡,深入探討貴公司面臨的獨特挑戰。

容器自動化調度管理範例和用途

假設有 50 個容器需要更新。您可以手動完成所有工作,但您的團隊要花多少時間和心力才能完成?如果使用容器自動化調度管理,您只要編寫設定檔,接下來容器自動化調度管理工具就會幫您完成所有工作。這只是其中一個例子,但已足以說明容器自動化調度管理能透過什麼樣的方式,幫您減輕作業負擔。

現在,請思考如果一切都是用不同的作業系統和語言開發,則要部署、擴充和保護相同的容器,需要多少時間。如果得將這些容器移到其他環境,又會是什麼情況?宣告式方法可以簡化許多重複且可預測的必要工作,讓容器順暢運作,例如資源分配、副本管理和網路設定。以下是容器自動化調度管理功能的常見用途:

  • 自動執行部署作業:您不必再手動部署各個容器,自動化調度管理工具會自動執行這個程序,確保部署作業一致且可重複執行。
  • 調度應用程式資源:當流量激增時,自動化調度管理工具會自動擴增容器數量,以便處理增加的負載,確保應用程式正常可用。
  • 管理應用程式更新:自動化調度管理工具支援滾動式更新,您不必停機,就能部署新版應用程式。
  • 確保高可用性:如果容器故障,自動化調度管理工具會自動偵測到該問題,然後重新啟動或替換容器,確保應用程式具備足夠的韌性。
  • 提升資源使用效率:自動化調度管理工具能有效率地將容器分配至可用資源,充分發揮資源效益,同時將支出壓到最低。

展開下一步行動

運用價值 $300 美元的免費抵免額和超過 20 項一律免費的產品,開始在 Google Cloud 中建構產品與服務。