瞭解 Red Hat OpenShift on IBM Cloud 的高可用性及災難回復
高可用性服務或工作負載承受故障並根據某些預先定義的服務等級繼續提供處理能力的能力。 (HA) 是指服務在發生意外故障時仍能維持運作和存取的能力。 災難復原服務或工作負載從罕見的重大事故和大規模故障(如服務中斷)中恢復的能力。 這包括影響整個區域的實體災難、資料庫損毀或對工作負載有貢獻的服務遺失。 其影響超出了高可用性設計的處理能力。 是將服務實體恢復到工作狀態的過程。
Red Hat OpenShift on IBM Cloud 是高度可用的區域或區域服務,專為區域或區域停機期間的可用性而設計。,以滿足標準計劃的服務等級目標 (SLO)。Red Hat OpenShift on IBM Cloud
如需有關可用區域和資料中心位置的詳細資訊,請參閱依位置顯示的服務和基礎結構可用性。
高可用性架構
Red Hat OpenShift on IBM Cloud 架構可在區域、區域和群集層級建立高可用性。
- 地區可用性
- 每一個地區都有設定高可用性的負載平衡器,可從地區專用的 API 端點進行存取。 負載平衡器會將送入及送出要求遞送至地區區域中的叢集。 整個地區故障的可能性很低。 不過,若要說明此故障,您可以在不同地區設定多個叢集,然後使用外部負載平衡器連接它們。 如果整個區域發生故障,其他區域的群集可以接管工作負載。
- 群集與區域可用性
- 區域故障會影響所有實體運算主機和 NFS 儲存空間。 故障包括電源、散熱、網路功能或儲存空間中斷,以及洪水、地震和颶風這類自然災害。 若要避免發生區域故障,您必須讓叢集位於兩個不同區域,然後由外部負載平衡器進行負載平衡。 在多區域位置建立群集,將主機分散到各區域。 或者,考慮在其他區域建立第二個群集。
- 多區域可用性
- 多重區域群集將工作負載分佈在多個工作節點和區域中,建立額外的防區域故障保護。 工作節點會自動部署三個副本,分散在多個區域。 如果整個區域發生中斷,您的工作負載會排程到其他區域的工作節點,保護您的應用程式不受中斷影響。
- 廣域負載平衡
- 為了保護您的應用程式免受主機故障的影響,或是為了必須駐留在其中一個支援的多區域中的傳統群集,您可以在一個區域內的不同區域中建立多個群集,並使用全局負載平衡器連接它們。
高可用性的資源分配。
若將應用程式分散到多個工作者節點、區域及叢集,使用者遇到應用程式運作中斷時間的可能性就越低。 內建功能(例如負載平衡及隔離)可提高對於潛在主機、網路或應用程式失敗的備援。 檢閱這些潛在的叢集設定,它們依遞增的可用性程度進行排序。 如需更多關於 IBM Cloud 資源如何分佈在不同地理區域的資訊,請檢閱「地點」文件。
- 單一區域叢集
- 僅經典
- 單一區域群集的工作節點分佈在同一區域內的不同實體主機上。 此選項可防止某些中斷,例如在主機更新期間,而且更容易管理。 但是,如果整個區域發生中斷,它也無法保護您的應用程式。
- 多區域群組
- 經典 VPC
- 多區群集的工作人員節點會自動部署三個副本,分散在多個區域中。 如果整個區域發生中斷,您的工作負載會排程到其他區域的工作節點,保護您的應用程式不受中斷影響。
- 使用負載平衡器連結多個群集
- 經典 VPC
- 可以在同一區域或不同區域建立多個群集,並透過全域負載平衡器連接。 如果您必須在單一區域配置群集,但仍希望獲得多區域可用性的優點,則此選項非常有用。
高可用性功能
檢閱可用於為您的應用程式和服務提供高可用性的功能。
| 特性 | 說明 |
|---|---|
| 反親和選項 | 使用反親和規則將 Pod 部署分散到各工作節點,而不是限制部署到特定節點。 這可為您的工作量提供額外的彈性。 |
| 抄本集 | 若要增加應用程式的可用性,您可以在部署中指定抄本集。 如果有一個應用程式實例關閉,Kubernetes 會自動啟動新的應用程式實例,以維持指定數目的應用程式實例。 |
| 多區域負載平衡 (經典) | 當您建立多區域經典群集時,會自動在群集所在的每個區域建立多區域負載平衡器,以處理所有傳入到應用程式的要求,並在群集區域中的應用程式負載平衡器 (ALB) 之間進行負載平衡。 它還支援對公用 Ingress IP 位址進行性能檢查。 |
| VPC 負載平衡 (VPC) | 當您建立 VPC 群集時,系統會自動為您建立 VPC 負載平衡器,以處理所有傳入至應用程式的要求,並在群集區域中的應用程式負載平衡器 (ALB) 之間進行負載平衡。 它還支援對公用 Ingress IP 位址進行性能檢查。 |
| 叢集 Autoscaler | 群集自動調整附加元件可根據排程工作負載的大小需求,自動調整群集中的工作人員池,以增加或減少工作人員池中的工作人員節點數。 |
災難復原功能
災難復原的一般策略是使用 Portworx 等解決方案配置資料的儲存和備份。
Red Hat OpenShift on IBM Cloud 支援下列災難復原功能:
| 特性 | 說明 |
|---|---|
| Portworx | 第三方高可用性軟體定義儲存解決方案,您可以用它來管理容器化資料庫和其他有狀態應用程式的本機持久性儲存,或在多個區域的 Pod 之間共用資料。 檢視 先決條件 |
| OpenShift 資料基金會(ODF)區域災難復原 | 災難復原解決方案,可在發生區域性災難時提供「一鍵式」自動復原。 應用程式會自動重新部署到指定的 OpenShift Container Platform,並在其他區域提供 ODF 群集。 |
| Cloud Object Storage (COS) | 可掛載到應用程式的持久性、高可用性儲存選項,可作為外掛程式使用。 檢視 限制。 |
| 自動回復 | 「自動回復」系統會使用各種檢查來查詢工作者節點性能狀態。 如果 Autorecovery 根據設定的檢查偵測到不健康的工作站節點,Autorecovery 會觸發修正動作,例如重新啟動 VPC 工作站節點或在傳統工作站節點中重新載入作業系統。 |
| Velero 的資料可攜性 | 從叢集匯出資料至 IBM COS 範例或其他 s3 提供者的第三方選項。 |
使用 kubectl CLI 的資料可攜性 |
使用 kubectl CLI 匯出資料。 |
檢閱 匯出資料的其他選項,例如 rclone 或 OADP。
復原時間目標 (RTO) 和復原點目標 (RPO)
| 特性 | RTO 和 RPO | 考量 |
|---|---|---|
| Portworx | RTO = <60s, RPO = <60s- 15m | 異步或同步(也稱為 Metro DR)配置的值有所不同。 如需詳細資訊,請參閱 使用 Portworx 設定災難復原。 |
| ODF 區域災難復原 | rto = 0, rpo = 0 | 這些值僅適用於群集層級。 目前尚未提供區域和都會區 DR。 |
| Cloud Object Storage | 請參閱 物件儲存說明文件。 |
IBM® 如何協助確保災難復原
IBM® 如果發生災難,為 採取特定的復原行動。Red Hat OpenShift on IBM Cloud
IBM 如何從故障中恢復
如果發生區域或區域故障,IBM,負責恢復元件。 IBM 將嘗試根據內部持久性儲存中的最後一次狀態,還原同一區域中的群集。 IBM 更新和復原叢集內的作業元件,例如 Ingress 應用程式負載平衡器和檔案儲存外掛程式。
IBM 還提供與其他 服務 (例如儲存供應商) 整合的能力,以便備份和還原資料。IBM Cloud 實施這些整合是您的責任。
IBM 如何維護服務
所有升級都遵循 IBM 服務最佳實務,包括恢復計劃和回滾流程。 定期維護可能會造成短暫中斷,但 客戶端可用性重試邏輯 可減緩中斷情況。 IBM 會在缺陷出現的第一時間恢復更新。
使用功能旗標啟用或停用複雜變更,以控制曝光。
影響客戶工作負載的變更詳列於 IBM Cloud 通知中。 如需有關影響此服務的計劃維護、公告和發佈說明的詳細資訊,請參閱 監控通知和狀態。
您在高可用性和災難復原方面的責任
您有責任持續測試您的 HA 和 DR 計劃。
網路連線中斷和服務短暫無法使用的情況可能會發生。 您有責任確保應用程式原始碼包含 用戶端可用性重試邏輯,以維持應用程式的高可用性。
您有責任設定您的群集,以便為您的應用程式和服務達到適當的可用性層級。 您為群集設定的可用性等級,會影響 IBM Cloud HA 服務等級協議條款 的涵蓋範圍。 例如,若要根據 SLA 條款獲得完整的 HA 涵蓋範圍,您必須設定總數至少有 6 個工作節點的多區群集,每個區域有兩個工作節點,平均分佈在三個區域。
您負責恢復執行群集的工作負載和您的應用程式資料。 如需有關您的災難復原責任的詳細資訊,請參閱 您使用 Red Hat OpenShift on IBM Cloud 的責任。
變更管理
變更管理包括升級、組態變更和刪除等工作。 請牢記以下幾點,以減少工作負載的停機時間或資料遺失。
-
建議您賦予使用者和程序其工作所需的最低權限的 IAM 角色和動作。 例如,限制刪除生產資源的能力。
-
使用 API、CLI 或主控台工具套用提供的 Worker 節點更新(包括作業系統修補程式),或要求重新啟動、重新載入或更換 Worker 節點。
-
使用 API、CLI 或主控台工具套用所提供的主要和次要 Kubernetes 主更新 以及主要、次要和 修補程式工作節點更新。 請務必檢閱每個版本更新的資訊和要求,以防止問題或停機。
-
確保您的群集工作節點執行最新的 Ubuntu 版本。
-
請務必瞭解您在群集中執行的任何附加元件的 發行排程。
應用程式和服務部署的注意事項
如何配置群集會影響應用程式和服務的可用性等級。 將設定分散到越多個工作者節點及叢集,使用者遇到應用程式運作中斷時間的可能性越低。
檢閱下列潛在的應用程式設定,它們依遞增的可用性程度進行排序:
- 具有 n+2 pod 的部署,由單一節點上的副本集管理。
- 含有 n+2 個 Pod 的部署,由抄本集管理,分散於單一區域叢集的多個節點(反親緣性)中。
- 含有 n+2 個 Pod 的部署,由抄本集管理,分散於各區域的多區域叢集的多個節點(反親緣性)中。
檢閱下列文件,瞭解建立高可用性工作負載的相關資訊。