跳至主要内容

執行 Rancher 的技巧

本指南針對使用 Rancher 管理下游 Kubernetes 叢集的使用案例。高可用性設定旨在防止在 Rancher 伺服器不可用時失去對下游叢集的存取。

高可用性 Kubernetes 安裝,定義為在至少具有三個節點的 Kubernetes 叢集上安裝 Rancher,應該用於任何 Rancher 的生產安裝,以及任何被視為「重要」的安裝。在多個節點上執行的多個 Rancher 實例可確保單節點環境無法實現的高可用性。

如果您在 vSphere 環境中安裝 Rancher,請參閱此處記錄的最佳實踐。

當您設定高可用性 Rancher 安裝時,請考慮以下事項:

最小化上游叢集上的第三方軟體​

我們通常建議在專用叢集上執行 Rancher,避免其他工作負載,以避免潛在的效能和相容性問題。

Rancher,特別是在管理越來越多的叢集、節點和工作負載時,會對上游叢集上的核心 Kubernetes 元件(如 etcd 和 kube-apiserver)造成重大負載。第三方軟體可能會干擾這些元件和 Rancher 的效能,可能導致不穩定。

此外,第三方軟體可能會在功能上干擾 Rancher。為了最小化相容性風險,僅在上游叢集上部署必要的 Kubernetes 系統元件和 Rancher。

以下應用程式和元件通常不會干擾 Rancher 或 Kubernetes 系統:

  • Rancher 內部元件,例如 Fleet
  • Rancher 擴充功能
  • Cluster API 元件
  • CNI、CPI、CSI
  • 雲端控制器管理員
  • 可觀察性和監控工具(prometheus-rancher-exporter 除外)

請注意,這些元件中的每一個都有其自己的最低資源需求,這些需求必須在 Rancher 的需求之外得到滿足。對於高規模部署,還請考慮使用污點和容忍度將單獨的節點專用於非 Rancher 軟體,以最小化干擾。

以下軟體可能會干擾 Rancher 效能,因此不建議在上游叢集上使用:

容器登錄檔的指導​

容器登錄檔,例如 Harbor,在提供映像時可能會消耗大量網路頻寬。這種需求會隨著映像數量、映像拉取頻率以及它們服務的叢集和容器執行時的數量而增加。由於這種潛在的干擾 Rancher UI 和 API 流量的可能性,我們建議不要在與 Rancher 管理伺服器相同的叢集上執行容器登錄檔。

無論您的容器登錄檔部署策略如何,請確保有足夠的頻寬可用,最好使用服務品質(QoS)機制進行保留。

根據您的需求考慮以下建議:

  • 簡單設定(HA 不是主要考量): 部署為單一虛擬機(VM)的容器登錄檔可以是可行的解決方案。
  • 高可用性(HA)要求: 我們建議在專用 Kubernetes 叢集中執行登錄檔。然後應配置所有其他叢集從此集中的 HA 登錄檔拉取映像。
  • 非常大規模或複雜的網路拓撲: 可能需要多個登錄檔叢集。這些可以部署在分層或聯合模型中,以有效分發映像和管理流量。

確保節點已正確配置 Kubernetes​

在部署節點時遵循 K8s 和 etcd 最佳實踐非常重要,包括停用 swap、仔細檢查叢集中所有機器之間是否具有完整的網路連線、為每個節點使用唯一的主機名稱、MAC 位址和 product_uuids、檢查所有正確的連接埠是否已開啟,以及使用 ssd 支援的 etcd 進行部署。更多詳細資訊可以在 kubernetes 文件和 etcd 的效能操作指南中找到。

在同一資料中心執行叢集中的所有節點​

為了獲得最佳效能,請在同一地理資料中心執行所有三個節點。如果您在雲端中執行節點,例如 AWS,請在單獨的可用性區域中執行每個節點。例如,在 us-west-2a 中啟動節點 1,在 us-west-2b 中啟動節點 2,在 us-west-2c 中啟動節點 3。

開發和生產環境應該相似​

強烈建議擁有 Rancher 執行所在的 Kubernetes 叢集的「暫存」或「預生產」環境。此環境應在軟體和硬體配置方面盡可能地反映您的生產環境。

監控您的叢集以規劃容量​

Rancher 伺服器的 Kubernetes 叢集應盡可能在系統和硬體需求範圍內執行。您越偏離系統和硬體需求,您承擔的風險就越大。

然而,基於指標的容量規劃分析應該是擴展 Rancher 的最終指導,因為發布的需求考慮了各種工作負載類型。

使用 Rancher,您可以透過與 Prometheus(領先的開源監控解決方案)和 Grafana(讓您可視化來自 Prometheus 的指標)的整合來監控叢集節點、Kubernetes 元件和軟體部署的狀態和處理序。

在叢集中啟用監控後,您可以設定警示,以便在叢集接近其容量時通知您。您還可以使用 Prometheus 和 Grafana 監控框架在擴展時為關鍵指標建立基準。