容器自動化調度管理工具如 Google Kubernetes Engine (GKE),可以讓您輕鬆部署及執行容器化應用程式與微服務。容器自動化調度管理工具通常採用各自的方法,且提供不同的功能,但全都可讓機構自動協調、管理及監控容器化應用程式。
接著來看看容器自動化調度管理功能的運作方式。
容器自動化調度管理功能會使用宣告式程式設計,代表您定義所需的輸出內容,而非描述執行所需的步驟。開發人員編寫設定檔,定義容器映像檔的位置、如何在容器之間建立及保護網路,以及佈建容器儲存空間和資源。容器自動化調度管理工具會使用這個檔案,自動達到要求的最終狀態。
部署新容器時,工具或平台會自動安排容器排程,並根據設定檔中定義的預定限制或需求 (例如 CPU、記憶體、與其他主機的距離,甚至是中繼資料) 為容器尋找最適合的主機。
容器開始執行後,容器自動化調度管理工具會根據容器定義檔案,自動處理生命週期管理和營運工作,其中包括:
容器自動化調度管理可在任何支援容器的運算環境中使用,不論是傳統地端部署伺服器,還是公有、私有、混合或多雲端運算環境,都沒問題。
容器自動化調度管理的主要優點之一是能簡化作業。自動化工作不僅有助於將管理容器化應用程式的工作負擔和複雜度降到最低,還可帶來許多其他優勢。
可靠的應用程式開發
容器自動化調度管理工具可加快應用程式開發速度,並可重複使用。這可提高部署速度,因此非常適合支援開發運作等靈活的開發方法。
擴充性
容器自動化調度管理功能可根據不斷變化的工作負載需求,擴充或縮減容器部署規模,如果您選擇使用代管服務,還可視需求擴充基礎架構,享有雲端的擴充性。
降低費用
容器需要的資源比虛擬機器更少,可以降低基礎架構和營運成本。此外,容器自動化調度管理平台需要較少的人力和時間,進而節省更多成本。
安全再升級
容器自動化調度管理功能可讓您管理各平台的安全性政策,並減少可能導致安全漏洞的人為錯誤。另外,容器也能區隔應用程式程序,減少攻擊面並改善整體安全性。
高可用性
使用容器自動化調度管理工具可以更輕鬆地偵測及修正基礎架構故障。如果容器故障,容器自動化調度管理工具可以自動重新啟動或替換容器,以維持可用性並增加應用程式運作時間。
提升工作效率
容器自動化調度管理可提高開發人員的工作效率,協助減少重複性工作,並減輕安裝、管理及維護容器的負擔。
容器自動化調度管理平台提供工具,讓您自動化容器自動化調度管理,也讓您安裝其他開放原始碼技術,以便進行事件記錄、監控和數據分析作業 (例如 Prometheus)。
容器自動化調度管理平台分為兩種類型:自行建構或代管。
自行建構的容器自動化調度管理工具可透過自訂讓您完全掌控作業,一般是從頭開始建構,或利用開放原始碼平台。不過,自行建構的選項也代表您需要負責平台管理及維護。
在用來雲端原生開發的開放原始碼容器自動化調度管理平台中,最常見的是 Kubernetes。這有時會縮寫為 K8s,這是 Google 最初根據 Borg 內部叢集管理系統開發的開放原始碼容器自動化調度管理系統。如今,它已被視為部署及管理容器的首選。
另一種做法是使用雲端服務供應商 (例如 Google、Microsoft、Amazon 或 IBM) 提供的代管平台或容器即服務 (CaaS)。使用代管容器自動化調度管理平台或 CaaS 時,雲端供應商會負責管理安裝和作業。因此,您可以輕鬆運用各項功能,並專心執行容器化應用程式。
有哪些是容器自動化調度管理的範例?為什麼需要一開始就進行自動化調度管理?
在現代開發作業中,容器化已成為建構雲端原生應用程式的主要技術。除了大型的單體式應用程式之外,開發人員現在可以使用鬆耦合的個別元件 (通常稱為微服務) 來編寫應用程式。
雖然容器通常較小、效率更高,能帶來更高的可攜性,但容器在設計上還是需要注意。擁有的容器越多,操作及管理上就越困難。單一應用程式中的容器可能高達數百、甚至數千個,而這些容器必須共同運作,才能提供應用程式功能。
容器化應用程式的數量持續增加,如果不採用自動化功能,幾乎不可能進行大規模管理。容器自動化調度管理功能能在這方面派上用場,協助您縮短重要生命週期管理工作所需的時間。
假設您有 50 個容器需要升級。您可以手動完成所有工作,但您的團隊要花多少時間和心力才能完成?如果使用容器自動化調度管理,您可以編寫設定檔,接著容器自動化調度管理工具就會為您完成所有工作。
這個例子證明,容器自動化調度管理功能可減少作業工作負載。現在,請思考如果一切都是用不同的作業系統和語言開發,則要部署、擴充和保護相同的容器,需要多少時間。如果要將它們遷移到其他環境呢?
宣告式方法可以簡化許多重複且可預測的必要工作,讓容器順暢運作,例如資源分配、副本管理和網路設定。