定義協調流程
若要協助您判斷 Contoso 在 Windows Server 上執行多個容器工作負載的最佳選項,您必須瞭解 Windows 容器協調流程和可用的容器協調流程工具類型。
什麼是 Windows 容器協調流程?
容器非常適合用來封裝和執行敏捷式傳遞環境和微服務架構中的應用程式。 不過,使用容器和微服務的環境可以成長為跨多個容器,並分散在許多伺服器上。 如果沒有自動化,要有效率且大規模地管理和操作不同的分散式容器型環境可能十分困難。 容器型的環境可以利用「協調器」來自動化和管理大量的容器,以及控制容器彼此互動的方式。
一般的協調器會執行下表中的工作。
| 任務 | 描述 |
|---|---|
| 排程 | 決定每部機器執行不同容器映像及管理資源要求的適用性。 |
| 親和性/反親和性 | 允許一組容器彼此接近,以獲得更佳的效能或更高的可用性。 |
| 健康狀態監視 | 監看容器是否失敗並自動重新排程。 |
| 容錯移轉 | 追蹤每部電腦上執行的項目,並將容器從失敗的電腦重新排程到狀況良好的節點。 |
| 調整大小 | 根據需求,手動或自動新增或移除容器執行個體。 |
| 網路 | 提供重疊的網路,可協調容器之間與跨多部主機電腦之間的通訊。 |
| 服務探索 | 讓容器可以自動找到彼此,即使移到不同的主機電腦和變更 IP 位址。 |
| 協調的應用程式升級 | 管理容器升級以降低應用程式停機時間,並在發生問題時輔助應用程式復原。 |
下圖是使用容器協調應用程式以及容器如何互動的一些元素範例。 此圖片有各種應用程式類型和容器映像。 應用程式會套用至容器映像,並部署至叢集作為執行中的容器,並在每個部署執行個體中執行多個容器。 不同的主機可協調其中某些動作和工作。
容器協調流程工具的類型
有數個容器協調流程工具可供使用。 要決定使用哪一個協調流程工具,取決於您想要管理的特定架構需求。 常見的協調流程工具組包括下表中列出的工具。
| 協調流程工具 | 描述 |
|---|---|
| Kubernetes | 常用的容器協調流程工具 Kubernetes 是開放原始碼平台,可讓您大規模部署及管理容器,以及相關聯的網路和儲存體元件。 Kubernetes 的訴求在於管理程式工作負載,而不是基礎結構元件。 Kubernetes 通常縮寫為 K8s,其中數位 8 代表 Kubernetes 一字中字母 K 與 s 之間的八個字元。 |
| Docker Swarm | 群集模式 是 Docker 功能,可提供內建的容器協調流程功能。 您可以將 Docker 主機群組作為「群集 (Swarm)」 叢集執行,方法是設定其 Docker 引擎在「群集模式」中一起執行。 「群集」被視為比 Kubernetes 更容易擴充且複雜,但是 Docker 愛好者的理想選擇。 Docker 會使用適用於 Windows 的 Docker 用戶端將群集和 Kubernetes 組合在一起。 |
| Apache Mesos | 開放原始碼的分散式系統平台 Mesos 可將資料中心的資源 (包括容器) 抽象化為群組,以提供彙總且功能強大的計算資源集區。 Mesos 需要額外的附加元件架構,才能支援完整的協調流程工作。 |
注意
Kubernetes 是容器協調流程的廣泛採用標準。 大部分的雲端服務提供者都提供「Kubernetes 即服務」,以協助其用戶端部署和管理容器化應用程式。
例如,Azure Kubernetes Service (AKS) 與 Azure Container Registry (ACR) 整合,以提供建入口網站,讓您可以使用 Microsoft Entra ID 來保護容器叢集,並將您的應用程式部署到 Azure 的資料中心供應項目。 藉由使用 AKS,您可以利用 Azure 的企業級功能,同時繼續使用 Kubernetes 和 Docker 映像格式來維護應用程式的可攜性。