跳至主要内容

部署高可用性叢集

要完全實現高可用性 (High Availability) 等多節點功能,需要一個包含三個或更多節點的 Harvester 叢集。特定版本的 Harvester 允許您建立包含兩個管理節點和一個 見證節點 (witness node) 的叢集(以及可選的一個或多個工作節點)。您也可以建立 單節點叢集,其支援大多數 Harvester 功能(不包括高可用性、多複本支援和線上移轉)。

本指南將引導您完成部署 高可用性叢集 和虛擬機器 (VM) 所需的步驟,這些虛擬機器可以託管 客體叢集 (guest clusters) 並執行自訂工作負載。

1. 驗證是否滿足最低硬體和網路需求​

Harvester 是使用企業級開源軟體元件為裸機伺服器建構的。安裝程式會自動檢查硬體,如果未滿足最低 需求,則會顯示警告訊息。

2. 根據您想要使用的安裝方法準備安裝檔案​

您可以從 Harvester Releases 頁面下載安裝檔案。發行說明的 Downloads 區段包含 ISO 檔案和相關成品的連結。提供以下類型的 ISO 檔案:

  • Full ISO (完整 ISO):包含核心作業系統元件和所有必要的容器映像檔,這些映像檔會在安裝期間預先載入。當您在防火牆或代理伺服器後方,以及在沒有網際網路連線的環境中安裝 Harvester 時,必須使用完整 ISO。
  • Net install ISO (網路安裝 ISO):僅包含核心作業系統元件。安裝完成後,作業系統會從網際網路(主要從 Docker Hub)拉取所有必要的容器映像檔。
方法所需安裝檔案其他需求
ISOISO不適用
USBISOUSB 隨身碟;諸如 balenaEtcher 之類的公用程式或 Linux dd 指令
PXEISO、Linux kernel image (vmlinuz)、initrd、SquashFS imageHTTP 伺服器上的目錄(用於提供開機檔案);iPXE 開機腳本(用於自動安裝);DHCP 伺服器設定

3. 準備叢集設定需求​

  • Cluster token (叢集權杖):節點加入叢集時使用的 ASCII 字串
  • 每個節點的固定 IP 位址:可以靜態指派或使用 DHCP(主機保留)
  • 用作叢集管理位址的固定虛擬 IP 位址 (VIP):節點在加入叢集時指向的 VIP,也是您在部署叢集後執行管理任務時連線的位址
  • DNS 伺服器、NTP 伺服器和代理伺服器(如有必要)的位址

4. 部署第一個叢集節點​

部署涉及在主機上安裝作業系統和其他元件,並在安裝完成後重新啟動。部署第一個節點會建立叢集,並且預設將第一個節點指派為管理節點。

在安裝過程中,您必須設定節點設定、定義叢集管理位址 (VIP) 和叢集權杖,並指定其他資訊。如有必要,您可以使用 Harvester 設定 (Harvester configuration) 檔案配置更多設定。

安裝完成後,節點會重新啟動,然後出現 Harvester 主控台。主控台會顯示有關叢集(管理 URL 和狀態)和節點(主機名稱、IP 位址和狀態)的資訊。叢集初始化並且所有服務開始執行後,叢集狀態會變更為 Ready。

5. 在 Harvester UI 上為預設 admin 使用者設定強密碼​

一旦叢集狀態變更為 Ready,您就可以使用主控台上顯示的管理 URL 存取 Harvester UI。

6. 部署其他節點並將其加入叢集​

部署涉及在主機上安裝作業系統和其他元件,並在安裝完成後重新啟動。所有其他節點都會加入在部署第一個節點時建立的叢集。

在安裝過程中,您必須設定節點設定,並指定您先前定義的叢集管理位址 (VIP) 和叢集權杖。如有必要,您可以使用 Harvester 設定 (Harvester configuration) 檔案配置更多設定。

當叢集擁有三個或更多節點時,第一個節點之後新增的兩個節點會自動晉升為管理節點,以形成高可用性 (HA) 叢集。

7. 建立自訂叢集網路(選用)和 VM 網路(必要)​

Harvester 中的網路涉及三個主要概念:

  • Cluster network (叢集網路):用於在 Harvester 叢集中傳輸網路流量的流量隔離轉送路徑。

    在部署期間,會建立一個名為 mgmt 的叢集網路用於叢集內通訊。mgmt 允許從基礎設施網路(Harvester 叢集外部)存取 VM,每個 Harvester 節點都使用管理 NIC 連接到該基礎設施網路以進行叢集管理。Harvester 也允許您建立專用於 VM 流量的 自訂叢集網路。

  • Network configuration (網路設定):定義叢集節點如何連接到特定叢集網路。

    每個網路設定對應於一組具有統一網路規格的節點。只有網路設定涵蓋的節點才能存取相關聯的叢集網路。這種安排在設定異質叢集時為您提供了靈活性,特別是當每個節點的網路介面名稱不同時。

  • VM network (VM 網路):VM 用來與其他 VM 和外部基礎設施網路通訊的虛擬網路。

    每個 VM 網路都連結到一個特定的叢集網路,用於傳輸 VM 流量。您可以根據您的需求(例如流量隔離、網段分割、管理便利性或與外部網路環境的一致性)建立 VLAN 網路 或 untagged (未標記) 網路。

在建立 VM 之前,請先建立必要的網路。如果每個叢集節點連接了一個以上的網路介面,請考慮 建立自訂叢集網路 和網路設定以獲得更好的流量隔離。否則,您只能使用管理網路來傳輸 VM 流量。接著,建立一個 VM 網路,並將其連結到 mgmt 或您建立的任何自訂叢集網路。

8. 匯入 VM 映像檔​

在 Harvester UI 上,您可以透過從本地檔案系統上傳映像檔,或指定可從叢集存取的映像檔 URL,來匯入 ISO、qcow2 和 raw 映像檔。

9. 匯入 SSH 金鑰(建議)​

您可以將 SSH 公鑰儲存在 Harvester 中。啟動 VM 時,可以將儲存的金鑰 注入 到 VM 中,以允許透過 SSH 進行安全存取。經過驗證的金鑰會顯示在 Harvester UI 的 SSH Keys 畫面上。

10. 建立 VM​

您可以使用以下其中一種方法建立 Linux VM:

  • Harvester UI:在 Virtual Machines 畫面上,點擊 Create 並在每個頁籤上配置設定。
  • Kubernetes API:建立一個 VirtualMachine 物件。
  • Harvester Terraform Provider:定義一個 harvester_virtualmachine 資源區塊。

在 Harvester UI 上建立 Windows VM 涉及稍微不同的步驟。Harvester 提供了一個名為 windows-iso-image-base-template 的 VM 範本,該範本會新增一個包含 Windows Virtio 驅動程式的卷冊,從而簡化 VM 設定流程。如果您需要 Virtio 裝置但選擇不使用該範本,則必須自行新增 Windows 的 Virtio 驅動程式以啟用正確的硬體偵測。

下一步​

以下章節提供的指南將引導您如何備份和還原 VM、管理主機以及將 Rancher 與 Harvester 搭配使用。