Harvester 節點驅動程式
Harvester 節點驅動程式類似於 Docker Machine 驅動程式,用於在 Harvester 叢集中配置虛擬機器,Rancher 使用它來啟動和管理 Kubernetes 叢集。
在節點驅動程式託管的節點池上安裝 Kubernetes 的一個好處是,如果節點失去與叢集的連線,Rancher 可以自動建立另一個節點加入叢集,以確保節點池的數量符合預期。 此外,Harvester 節點驅動程式預設與 Harvester 雲端提供者整合,提供內建的負載平衡器支援以及從裸機叢集到客體 Kubernetes 叢集的儲存直通,以獲得原生儲存效能。
在本節中,你將學習如何設定 Rancher 以使用 Harvester 節點驅動程式來啟動和管理 Kubernetes 叢集。
Harvester 節點驅動程式僅支援雲端映像檔。這是因為 ISO 映像檔通常需要額外的設定,這會干擾乾淨的部署(無需使用者介入),並且它們通常不在雲端環境中使用。
Harvester 節點驅動程式
從 Rancher v2.6.3 開始,Harvester 節點驅動程式預設啟用。你可以前往 Cluster Management > Drivers > Node Drivers 頁面檢查 Harvester 節點驅動程式狀態。

當 Harvester 節點驅動程式啟用時,你可以在 Harvester 叢集之上建立 Kubernetes 叢集並從 Rancher 管理它們。

-
請參閱 Rancher 下游叢集支援矩陣以了解其支援的 RKE2 版本和客體作業系統版本。
-
對節點驅動程式設定所做的變更不會持久化。任何套用的修改將在重新啟動 Rancher 容器後重設。
-
從 Harvester 節點驅動程式 v0.6.3 開始,已從後端移除
qemu-guest-agent的自動注入。如果你使用的映像檔不包含qemu-guest-agent套件,你仍然可以透過userdata設定安裝它。否則,叢集將無法成功配置。#cloud-config
package_update: true
packages:
- qemu-guest-agent
runcmd:
- - systemctl
- enable
- '--now'
- qemu-guest-agent.service
已知問題
當對應的 API 權杖過期時,Rancher 失去管理或擴展客體叢集的能力
問題:#5827
描述:Rancher 使用嵌入了驗證權杖的 kubeconfig 在 Harvester 上配置客體 Kubernetes 叢集。當這些權杖過期時,Rancher 失去對相應 Rancher 管理的客體 Kubernetes 叢集執行管理操作的能力。此問題僅影響在 Harvester 上執行的客體 Kubernetes 叢集,並使用在安裝或升級到 Rancher v2.8.x 後建立的雲端憑證,該版本將 kubeconfig-default-token-ttl-minutes 設定以及 auth-token-max-ttl-minutes 設定分別減少到 30 天和 90 天。
狀態:可使用臨時解決方法。
最後更新:2024-05-21
RKE2 Kubernetes 叢集
K3s Kubernetes 叢集
拓撲分散約束
自 v1.0.3 版起提供
在你的客體 Kubernetes 叢集中,你可以使用拓撲分散約束來管理工作負載在節點之間的分散方式,考慮諸如區域和可用區等故障域等因素。這有助於實現 Harvester 叢集資源的高可用性和有效的資源利用。
對於 v1.25.x 之前的 RKE2 版本,支援拓撲標籤同步功能所需的最低版本如下:
| 最低所需 RKE2 版本 |
|---|
| >= v1.24.3+rke2r1 |
| >= v1.23.9+rke2r1 |
| >= v1.22.12+rke2r1 |
此外,對於自訂安裝,Harvester 雲端提供者版本應為 >= v0.1.4。
將拓撲標籤同步到客體叢集節點
在叢集安裝期間,Harvester 節點驅動程式將自動幫助將拓撲標籤從虛擬機器節點同步到客體叢集節點。目前僅支援 region 和 zone 拓撲標籤。
-
在 Hosts > Edit Config > Labels 頁面上設定 Harvester 節點上的拓撲標籤。例如,新增拓撲標籤如下:
topology.kubernetes.io/region: us-east-1
topology.kubernetes.io/zone: us-east-1a
-
使用啟用了 Harvester 雲端提供者的 Harvester 節點驅動程式建立下游 RKE2 叢集。我們建議新增節點親和性規則,這可以防止虛擬機器重建後節點漂移到其他可用區。

-
叢集就緒後,確認這些拓撲標籤已成功同步到客體 Kubernetes 叢集上的節點。
-
現在在你的客體 Kubernetes 叢集上部署工作負載,你應該能夠使用拓撲分散約束來管理它們。
對於 Harvester 雲端提供者 >= v0.2.0,當虛擬機器(對應於客體節點)進行遷移或更新時,Harvester 節點上的拓撲標籤將自動重新同步。
對於 Harvester 雲端提供者 < v0.2.0,標籤同步僅在客體節點初始化期間發生。為了防止節點漂移到不同的區域或可用區,我們建議在叢集配置期間新增節點親和性規則。這將允許你即使在重建後也能在同一可用區排程虛擬機器。