硬體和網路要求
作為裸機伺服器上的 HCI 解決方案,安裝和執行 Harvester 有最低的節點硬體和網路要求。
需要三節點叢集才能完全實現 Harvester 的多節點功能。添加到叢集的第一個節點預設為管理節點。當叢集有三個或更多節點時,在第一個節點之後添加的兩個節點會自動提升為管理節點,以組成高可用性(HA)叢集。
某些版本的 Harvester 支援部署單節點叢集。此類叢集不支援高可用性、多副本和即時遷移。
硬體要求
Harvester 節點有以下安裝和測試的硬體要求和建議。
| 硬體 | 開發/測試 | 生產環境 |
|---|---|---|
| CPU | ARM64 或 x86_64(具有硬體輔助虛擬化);最少 8 核心 | ARM64 或 x86_64(具有硬體輔助虛擬化);最少 16 核心 |
| 記憶體 | 最少 32 GB | 最少 64 GB |
| 磁碟容量 | 最少 250 GB(見證節點或使用多個磁碟時最少 180 GB) | 最少 500 GB,建議 1 TB 或更多 |
| 磁碟效能 | 每個磁碟 5,000+ 隨機 IOPS(SSD/NVMe);管理節點儲存必須 符合 etcd 速度要求。僅支援本地磁碟和硬體 RAID。 | 每個磁碟 5,000+ 隨機 IOPS(SSD/NVMe);管理節點儲存必須符合 etcd 速度要求。僅支援本地磁碟和硬體 RAID。 |
| 網卡數量 | 管理叢集網路:需要 1 個網卡,建議 2 個網卡;VM 工作負載網路:需要 1 個網卡,建議至少 2 個網卡(不適用於見證節點) | 管理叢集網路:需要 1 個網卡,建議 2 個網卡;VM 工作負載網路:需要 1 個網卡,建議至少 2 個網卡(不適用於見證節點) |
| 網卡速度 | 最低 1 Gbps 乙太網路 | 最低 10 Gbps 乙太網路 |
| 網路交換器 | 支援 VLAN 的連接埠中繼 | 支援 VLAN 的連接埠中繼 |
- 不支援混合架構叢集。部署單獨的叢集以避免意外的系統行為。
- 為獲得最佳效果,請使 用 SUSE Linux Enterprise Server(SLES)15 SP3 或 SP4 的 YES 認證硬體。Harvester 建立在 SLE 技術之上,YES 認證硬體具有額外的驅動程式和系統主機板相容性驗證。不支援筆記型電腦和巢狀虛擬化。
- 不支援在 Harvester 上執行的虛擬機器中進行巢狀虛擬化。
- 每個節點必須具有唯一的
product_uuid(從/sys/class/dmi/id/product_uuid獲取),以防止在 VM 即時遷移和其他操作期間發生錯誤。有關更多資訊,請參閱 Issue #4025。 - Harvester 有一個內建管理叢集網路(
mgmt)。為了在生產環境中實現高可用性和最佳效能,請在每個節點中使用至少兩個網卡來為管理網路設定綁定網卡(請參閱 ISO 安裝中的步驟 6)。您還可以為 VM 工作負載建立自訂叢集網路。每個自訂叢集網路需要在 Harvester 叢集中每個相關節點設定綁定網卡時至少有兩個額外的網卡。見證節點不需要額外的網卡。有關更多資訊,請參閱叢集網路。 - 在測試期間,您可以僅使用一個網卡用於內建管理叢集網路(
mgmt),以及用於測試也由mgmt承載的 VM 網路。不保證高可用性和最佳效能。 - 如果磁碟僅符合最低要求的容量,您可能會在升級期間遇到與可用系統分割區空間要求相關的問題。
CPU 規格
只有當 Harvester 叢集中所有實體伺服器的 CPU 具有相同規格時,即時遷移才能正常運作。此要求適用於所有依賴即時遷移功能的操作,例如啟用維護模式時的自動 VM 遷移。
較新的 CPU(即使是來自同一廠商、同一世代和同一系列)可能具有不同的功能,這些功能可能會暴露給 VM 作業系統。為確保 VM 穩定性,即時遷移會檢查 CPU 功能是否一致,並在來源和目標不相容時阻止遷移嘗試。
在建立叢集、向叢集添加更多主機以及更換主機時,請始終使用具有相同規格的 CPU,以防止操作限制。
網路要求
Harvester 節點有以下安裝的網路要求。
Harvester 節點的連接埠要求
Harvester 節點需要以下連接埠連線或入站規則。通常,允許所有出站流量。
| 協定 | 連接埠 | 來源 | 說明 |
|---|---|---|---|
| TCP | 2379 | Harvester 管理節點 | Etcd 客戶端連接埠 |
| TCP | 2381 | Harvester 管理節點 | Etcd 指標收集 |
| TCP | 2380 | Harvester 管理節點 | Etcd 對等連接埠 |
| TCP | 2382 | Harvester 管理節點 | Etcd 客戶端連接埠(僅 HTTP) |
| TCP | 10010 | Harvester 管理和運算節點 | Containerd |
| TCP | 6443 | Harvester 管理節點 | Kubernetes API |
| TCP | 9345 | Harvester 管理節點 | Kubernetes API |
| TCP | 10252 | Harvester 管理節點 | Kube-controller-manager 健康檢查 |
| TCP | 10257 | Harvester 管理節點 | Kube-controller-manager 安全連接埠 |
| TCP | 10251 | Harvester 管理節點 | Kube-scheduler 健康檢查 |
| TCP | 10259 | Harvester 管理節點 | Kube-scheduler 安全連接埠 |
| TCP | 10250 | Harvester 管理和運算節點 | Kubelet |
| TCP | 10256 | Harvester 管理和運算節點 | Kube-proxy 健康檢查 |
| TCP | 10258 | Harvester 管理節點 | cloud-controller-manager |
| TCP | 10260 | Harvester 管理節點 | cloud-controller-manager |
| TCP | 9091 | Harvester 管理和運算節點 | Canal calico-node felix |
| TCP | 9099 | Harvester 管理和運算節點 | Canal CNI 健康檢查 |
| UDP | 8472 | Harvester 管理和運算節點 | Canal CNI with VxLAN |
| TCP | 2112 | Harvester 管理節點 | Kube-vip |
| TCP | 6444 | Harvester 管理和運算節點 | RKE2 agent |
| TCP | 10246/10247/10248/10249 | Harvester 管理和運算節點 | Nginx worker process |
| TCP | 8181 | Harvester 管理和運算節點 | Nginx-ingress-controller |
| TCP | 8444 | Harvester 管理和運算節點 | Nginx-ingress-controller |
| TCP | 10245 | Harvester 管理和運算節點 | Nginx-ingress-controller |
| TCP | 80 | Harvester 管理和運算節點 | Nginx |
| TCP | 9796 | Harvester 管理和運算節點 | Node-exporter |
| TCP | 30000-32767 | Harvester 管理和運算節點 | NodePort 連接埠範圍 |
| TCP | 22 | Harvester 管理和運算節點 | sshd |
| UDP | 68 | Harvester 管理和運算節點 | Wicked |
| TCP | 3260 | Harvester 管理和運算節點 | iscsid |
整合 Harvester 與 Rancher 的連接埠要求
如果您想整合 Harvester 與 Rancher,您需要確保所有 Harvester 節點都可以連線到 Rancher 負載平衡器的 TCP 連接埠 443。
當從 Rancher 將具有 Kubernetes 叢集的 VM 佈建到 Harvester 時,您需要能夠連線到 Rancher 負載平衡器的 TCP 連接埠 443。否則,叢集將無法由 Rancher 管理。有關更多資訊,請參閱 Rancher Architecture。
K3s 或 RKE2 叢集的連接埠要求
有關部署在 Harvester VM 內的訪客叢集的連接埠要求,請參閱以下連結:
時間要求
可靠的網路時間協定(NTP)伺服器對於維護 Kubernetes 叢集中所有節點的正確系統時間至關重要,尤其是在執行 Harvester 時。Kubernetes 依賴於 etcd,這是一個分散式鍵值儲存,需要精確的時間同步以確保資料一致性,並防止領導者選舉、日誌複製和叢集穩定性方面的問題。
確保叢集中時間的準確性和一致性對於可靠性、安全性和整體系統完整性至關重要。