跳至主要内容

架構建議

如果你在單個節點上安裝 Rancher,適用於你安裝的主要架構建議是執行 Rancher 的節點應該與下游叢集分離。

Rancher 和使用者叢集的分離​

使用者叢集是執行你的應用程式和服務的下游 Kubernetes 叢集。

如果你有 Rancher 的 Docker 安裝,執行 Rancher 伺服器的節點應該與你的下游叢集分離。

如果 Rancher 旨在管理下游 Kubernetes 叢集,則 Rancher 伺服器執行所在的 Kubernetes 叢集也應該與下游使用者叢集分離。

Separation of Rancher Server from User Clusters

為什麼 HA 對生產環境中的 Rancher 更好​

我們建議在高可用性 Kubernetes 叢集上安裝 Rancher 伺服器,主要是因為它可以保護 Rancher 伺服器資料。在高可用性安裝中,負載平衡器作為客戶端的單一聯絡點,將網路流量分配到叢集中的多個伺服器,並有助於防止任何一個伺服器成為故障點。

我們不建議在單個 Docker 容器中安裝 Rancher,因為如果節點故障,其他節點上沒有叢集資料的副本,你可能會遺失 Rancher 伺服器上的資料。

K3s Kubernetes 叢集安裝​

底層 Kubernetes 叢集的一個選項是使用 K3s Kubernetes。K3s 是 Rancher 的 CNCF 認證 Kubernetes 發行版。它易於安裝,使用的記憶體只有 Kubernetes 的一半,全部在一個小於 100 MB 的二進位檔中。K3s 的另一個優勢是它允許外部資料存放區來儲存叢集資料,允許將 K3s 伺服器節點視為臨時節點。

執行 Rancher 管理伺服器的 K3s Kubernetes 叢集架構

Architecture of a K3s Kubernetes Cluster Running the Rancher Management Server

Kubernetes 安裝的建議負載平衡器配置​

我們建議負載平衡器和 Ingress 控制器採用以下配置:

  • Rancher 的 DNS 應該解析到第 4 層負載平衡器(TCP)。
  • 負載平衡器應該將連接埠 TCP/80 和 TCP/443 轉發到 Kubernetes 叢集中的所有 3 個節點。
  • Ingress 控制器將 HTTP 重新導向到 HTTPS,並在連接埠 TCP/443 上終止 SSL/TLS。
  • Ingress 控制器將流量轉發到 Rancher 部署中 Pod 的連接埠 TCP/80。
在具有第 4 層負載平衡器的 Kubernetes 叢集上安裝 Rancher,描繪在 Ingress 控制器處終止 SSL

Rancher HA

Kubernetes 安裝的環境​

強烈建議在託管基礎設施(例如 Amazon 的 EC2 或 Google Compute Engine)上的 Kubernetes 叢集上安裝 Rancher。

為了獲得最佳效能和更高的安全性,我們建議為 Rancher 管理伺服器使用專用的 Kubernetes 叢集。不建議在此叢集上執行使用者工作負載。部署 Rancher 後,你可以建立或匯入叢集來執行你的工作負載。

Kubernetes 安裝的建議節點角色​

以下建議適用於在 K3s Kubernetes 叢集上安裝 Rancher。

K3s 叢集角色​

在 K3s 叢集中,有兩種類型的節點:伺服器節點和代理節點。伺服器和代理都可以在其上排程工作負載。伺服器節點執行 Kubernetes master。

對於執行 Rancher 管理伺服器的叢集,我們建議使用兩個伺服器節點。不需要代理節點。

授權叢集端點 (ACE) 的架構​

如果你正在使用授權叢集端點 (ACE),我們建議建立一個 FQDN,指向在具有 controlplane 角色的節點之間平衡流量的負載平衡器。

如果你在負載平衡器上使用私有 CA 簽署的憑證,你必須提供 CA 憑證,該憑證將包含在生成的 kubeconfig 檔案中以驗證憑證鏈。有關更多資訊,請參閱有關 kubeconfig 檔案和 API 金鑰的文件。

ACE 支援適用於已註冊的 RKE2 和 K3s 叢集。要查看在下游叢集上執行以啟用 ACE 的手動步驟,請點擊此處。