高可用性的 Kubernetes 工作負載

本頁建議 Kubernetes 容器工作負載策略,可讓應用程式在 Google Distributed Cloud (GDC) 實體隔離多區域環境中,具備更高的容錯能力。GDC 支援 Kubernetes 原生容器應用程式,這些應用程式廣泛用於 Google Kubernetes Engine (GKE) 並受到支援。

本頁內容適用於應用程式運算子群組中的開發人員,他們負責為所屬機構建立應用程式工作負載。詳情請參閱 GDC air-gapped 說明文件適用對象

高可用性應用程式的 Kubernetes 注意事項

在 Kubernetes 中實現高可用性 (HA) 不僅限於控制層。您也必須在 Google Distributed Cloud (GDC) 實體隔離環境中,設計及部署具備彈性的容器工作負載。Kubernetes 提供多種強大機制,可將停機時間降至最低,即使遇到基礎架構問題或進行例行維護,也能提供高可用性服務。以下是高可用性 (HA) 的重要策略:

  • 使用副本和自動調度資源維持可用性:您必須有足夠的應用程式執行個體,才能提供高可用性。

    • ReplicaSetReplicaSet 資源可確保隨時都有一組穩定的相同 Pod 副本正在執行。如果 Pod 發生故障或終止,ReplicaSet 控制器會自動建立新的 Pod 來取代。詳情請參閱 Kubernetes 說明文件中的「ReplicaSet」。

    • 水平 Pod 自動調度器 (HPA):ReplicaSet 會維持固定數量的副本,而 HPA 會根據觀察到的指標 (例如 CPU 使用率或記憶體用量),自動調整副本數量。讓應用程式能處理負載暴增的情況。詳情請參閱 Kubernetes 說明文件的水平 Pod 自動調度資源

  • 使用 PodDisruptionBudget (PDB) 盡量減少停機時間:詳情請參閱 Kubernetes 說明文件中的「為應用程式指定中斷預算」。

  • 使用反相依性規則分散風險:詳情請參閱 Kubernetes 說明文件中的「相依性和反相依性」。

  • 使用 liveness、readiness 和 startup 探測器進行健康狀態檢查:詳情請參閱 Kubernetes 說明文件中的「設定 liveness、readiness 和 startup 探測器」。

  • 透過服務提供穩定端點和負載平衡:詳情請參閱 Kubernetes 說明文件中的「服務」。

  • 透過部署進行正常更新和復原:詳情請參閱 Kubernetes 說明文件中的「復原部署」一節。

  • 設定資源要求和限制:詳情請參閱 Kubernetes 說明文件中的「Pod 和容器的資源管理」。

後續步驟