部署單節點叢集
要完全實現高可用性 (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)拉取所有必要的容器映像檔。
| 方法 | 所需安裝檔案 | 其他需求 |
|---|---|---|
| ISO | ISO | 不適用 |
| USB | ISO | USB 隨身碟;諸如 balenaEtcher 之類的公用程式或 Linux dd 指令 |
| PXE | ISO、Linux kernel image (vmlinuz)、initrd、SquashFS image | HTTP 伺服器上的目錄(用於提供開機檔案);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. 設定預設 StorageClass
Harvester 使用 StorageClass 來描述 Longhorn 必須如何供應卷冊。每個 StorageClass 都有一個參數來定義為每個卷冊建立的複本數量 (replica count)。
為了高可用性,預設 StorageClass harvester-longhorn 的複本數值為 3。如果您在單節點叢集中使用 harvester-longhorn,Longhorn 將無法建立預設數量的複本,並且卷冊會在 Harvester UI 上被標記為 Degraded(降級)。
若要避免此問題,您可以執行以下任一動作:
-
使用 Harvester 設定 (Harvester configuration) 檔案將
harvester-longhorn的 複本數量 變更為 1。 -
建立一個新的 StorageClass,並將 Number of Replicas 參數設定為 1。建立後,在清單中找到新的 StorageClass,然後選取 ⋮ > Set as Default(設為預設)。
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 (未標記) 網路。
在測試單節點叢集的 Harvester 時,您可以建立一個使用 mgmt 的 VM 網路。
8. 匯入 VM 映像檔
在 Harvester UI 上,您可以透過從本地檔案系統上傳映像檔,或指定可從叢集存取的映像檔 URL,來匯入 ISO、qcow2 和 raw 映像檔。
9. 匯入 SSH 金鑰(建議)
您可以將 SSH 公鑰儲存在 Harvester 中。啟動 VM 時,可以將儲存的金鑰 注入 到 VM 中,以允許透過 SSH 進行安全存取。經過驗證的金鑰會顯示在 Harvester UI 的 SSH Keys 畫面上。