1. 程式人生 > 其它 >執行 Rancher 的技巧(最佳實踐)

執行 Rancher 的技巧(最佳實踐)

本指南面向的是使用 Rancher 管理下游 Kubernetes 叢集的用例。高可用設定可以防止在 Rancher Server 不可用時失去對下游叢集的訪問。

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

如果您在 vSphere 環境中安裝 Rancher,請參考這裡(https://docs.rancher.cn/docs/rancher2.5/best-practices/rancher-server/rancher-in-vsphere/_index)的最佳實踐。

當您設定高可用的 Rancher 安裝時,請考慮以下問題:

在單獨的叢集上執行 Rancher

不要在 Rancher 安裝的 Kubernetes 叢集中執行其他工作負載或微服務。

確保 Kubernetes 節點配置正確

在部署節點時,遵循 K8s 和 etcd 的最佳實踐是很重要的,包括禁用 swap,仔細檢查叢集中所有機器之間具有完整的網路連線,為每個節點使用唯一的主機名、MAC 地址和 product_uuids,檢查所有正確的埠都被開啟,以及使用 ssd 支援的 etcd 進行部署。更多細節可以參考 kubernetes 文件(https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#before-you-begin)和

etcd 的效能操作指南(https://github.com/etcd-io/website/tree/master/content/en/docs)。

使用 RKE 時:備份狀態檔案

RKE 在一個名為 cluster.rkestate 的檔案中保留了叢集狀態的記錄。這個檔案對於叢集的恢復和/或通過 RKE 繼續維護叢集是非常重要的。由於這個檔案包含證書,我們強烈建議在備份前對這個檔案進行加密。每次執行 rke up 後,你應該備份狀態檔案。

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

為了獲得最佳效能,請在同一地理資料中心中執行所有三個節點。如果您在雲(如 AWS)中執行節點,請在一個單獨的可用區中執行每個節點。

例如,在 us-west-2a 中啟動節點 1,在 us-west-2b 中啟動節點 2,在 us-west-2c 中啟動節點 3。

開發和生產環境應該相似

強烈建議擁有一個 Rancher 執行的 Kubernetes 叢集的 “staging” 或 “pre-production” 環境。這個環境應該在軟體和硬體配置方面儘可能的接近你的生產環境。

監控叢集以規劃容量

Rancher 伺服器的 Kubernetes 叢集應該儘可能滿足系統和硬體要求(https://docs.rancher.cn/docs/rancher2.5/installation/requirements/_index)。你越是偏離系統和硬體要求,你所承擔的風險就越大。

但是,基於度量的容量規劃分析應該成為擴充套件 Rancher 的最終指南,因為已釋出的需求考慮各種工作負載型別。

使用 Rancher,您可以通過與領先的開源監控解決方案 Prometheus 和 Grafana 的整合來監視叢集節點、Kubernetes 元件和軟體部署的狀態和過程,從而可以視覺化 Prometheus 的指標。

在叢集中啟用監控後,可以設定通知和告警來讓您知道您的叢集是否接近其容量。您還可以使用 Prometheus 和 Grafana 監控框架,在您擴充套件時建立關鍵指標的基線。