Skip to content

antony@notes:~/rancher$ cat "Introduction-to-Harvester.md"

Introduction to Harvester

2024-12-11· rancher

Introduction to Harvester

混合與超融合基礎架構概念
讓我們先從現代計算的基本範疇開始討論。計算主要由三個核心範疇組成:

  1. 計算:執行實際的處理流程,是完成工作的地方。
  2. 儲存:用於儲存資料,這些資料可以稍後被取回進行處理。
  3. 網路:用於機器之間的溝通與交流。

這些是計算的核心或基本範疇。讓我們回顧一下這些範疇隨著時間的演進,以及在計算、儲存和網路實施上的變化。

image

傳統架構的回顧

傳統架構中,伺服器運行應用程式並內建直接連接的儲存空間,這些伺服器透過網路互相連接。這種架構簡單且可行,但在儲存方面存在一些缺陷。例如,當應用程式需要存取另一伺服器上的資料時,效率會受到限制。這促使了將儲存空間從伺服器中分離,轉移到網路上的需求,例如使用專用檔案伺服器(如 NFS、SMB 或 NAS、SAN 系統)來提升儲存效率和冗餘性。

image

虛擬化的出現

隨著計算的進一步發展,我們需要更有效地利用伺服器的處理能力。虛擬化技術應運而生,將工作負載與底層硬體分離。一個伺服器現在可以運行多個虛擬機器(VMs),這提高了伺服器資源的利用率。同時,這也帶來了網路和儲存層的複雜性,特別是在大型資料中心中。

image

超融合架構的解決方案

超融合架構將事情簡化。它將虛擬化技術和軟體定義的存儲與網路整合到單一標準化單元,包含計算、儲存和網路。這些單元可以根據需求進行擴展,無需購買專門的硬體。

image


為何選擇超融合架構?

1. 簡化設計

  • 單一供應商提供整合的計算單元,減少整合成本和兼容性問題。
  • 所有單元標準化,降低對專業技能的依賴。

2. 彈性擴展

  • 只需新增標準化單元即可擴展計算、儲存和網路能力。
  • 可以從小規模開始,隨需求逐步擴展。

3. 資料保護

  • 節點內建儲存冗餘,資料可自動複製,提升容錯能力。
  • 支援快照、複製和備份功能,可快速恢復資料。

超融合架構的這些特性使得系統更簡單、更靈活且更具韌性,是現代企業的理想選擇。


Networking in Harvester

Harvester 網路設定

在這部分的學習目標中,您將學會以下內容:

  1. 描述 Harvester 的網路概念
  2. 建立、修改和刪除叢集網路與網路設定
  3. 建立、修改和刪除虛擬機(VM)網路

為達成這些學習目標,主要涵蓋的主題包括:

  1. Harvester 叢集網路概述
    我們將討論這些基本概念,以及 Harvester 如何運用這些概念來配置叢集中的網路。
  2. 叢集網路定義、網路配置與虛擬機網路
    我們會深入探討這些元素如何相互關聯,以及如何配置它們,使其能夠被有效利用。

Harvester 叢集中的網路概述

在這裡,我們需要首先討論一些 Harvester 用於實現叢集內部網路的概念。

1. Cluster Network (叢集網路)

叢集網路是一條流量隔離的數據轉發通道,可以將其視為一個網路或一條管道,用於 Harvester 叢集和數據中心中傳輸實際的網路流量。這些管道實際承載著網路流量,這就是所謂的叢集網路。

image

我們將 Harvester 中一條流量隔離的轉發路徑上的設備、鏈路和配置的總和抽象為一個叢集網路。

在上述情況下,會有兩個叢集網路,分別對應於兩條流量隔離的轉發路徑。

2. Network Config (網路配置)

網路配置定義了叢集節點如何連接到叢集網路。例如,指定用於連接這些網路管道的網路介面,以及在多個網路介面需要連接到同一條管道時應使用的綁定類型。簡言之,網路配置決定了叢集節點如何連接到實際的叢集網路。

3. VM Network (虛擬機網路)

虛擬機網路是供虛擬機連接和通信使用的網路,這些網路與叢集網路相關聯。


概念圖解

以下是一個完整的 Harvester 叢集圖例,包括多個節點、網路、虛擬網路和虛擬機。我們將前述概念應用到此圖中以更直觀地理解。

image

  1. 叢集網路
    叢集網路是承載網路流量的管道。舉例來說,上方的網路交換機與管理網路相關,下方的交換機與叢集節點相連。這些管道可以是實體的(例如交換機)或虛擬的(例如 VLAN)。

  2. 網路配置
    網路配置顯示了各節點如何連接到叢集網路。不同節點可能有不同的網路介面名稱和連接方式,因此需要在 Kubernetes 的編排層定義這些連接。如果所有節點的配置相同,可以共用一個網路配置;否則需要為每個節點定義單獨的網路配置。

  3. 虛擬機網路
    虛擬機網路允許虛擬機彼此通信,或與外部世界通信。這些網路通常是 VLAN,但也可以是未標記的網路(untagged network)。虛擬機網路的流量會通過叢集網路傳輸,而不是通過網路配置。


管理網路

管理網路是叢集部署時由 Canal CNI 自動創建的,用於叢集節點之間的通信及管理操作。理論上,虛擬機也可以通過 Kubernetes 服務對象連接到管理網路,但實務上不常見。更好的做法是使用虛擬機網路來進行通信。


VLAN 主幹網路

VLAN 主幹網路是一種專用於虛擬機流量的叢集網路。節點與交換機的連接埠設置為主幹埠,允許多個 VLAN 流量通過而不過濾。這樣,虛擬機網路流量可以高效且隔離地傳輸。


虛擬機網路細節

虛擬機網路是虛擬機之間以及與外部通信的主要方式,通常以 VLAN 實現。若環境有限,也可以與管理網路共用,但最佳實踐是將虛擬機流量隔離到專用的叢集網路中。