Skip to content

在 Proxmox 上建立 K3s:CT vs VM 與叢集架構概念

在 Proxmox VE 上建置 K3s 叢集之前,有幾個底層概念值得先釐清,包括容器與虛擬機的取捨,以及 Kubernetes 本身的節點架構。

CT vs VM:選哪個跑 K3s?

在 Proxmox VE 中建立 K3s 節點時,底層架構的選擇會影響資源消耗與設定難度。

項目VM(虛擬機)CT(LXC 系統容器)
核心獨立核心,完全隔離與宿主機共用核心
資源消耗極低
K3s 相容性開箱即用,幾乎無阻需手動開啟 Nesting 等權限
適合情境資源充足、求穩定資源受限、求輕量

VM 擁有完整作業系統與獨立核心,安裝 K3s 最為順暢,但對資源的消耗也更大。

CT 與宿主機共用核心,啟動快、幾乎不耗損額外效能,但 PVE 預設有嚴格的安全限制。K3s 運作時需要建立子容器並控制底層網路,在 CT 中安裝必須手動開啟巢狀虛擬化(Nesting)等權限,否則服務會無法啟動。

Master 與 Worker 的角色分工

在 K3s(K8s)的分散式架構中,每台機器被賦予不同的角色:

Master Node(控制節點)

  • 整個叢集的大腦,不負責執行使用者的應用程式
  • 接收開發者指令(如 YAML 部署檔)、監控叢集健康狀態、記錄資料
  • 根據資源狀況,決定將任務指派給哪台 Worker

Worker Node(工作節點)

  • 實際執行運算任務的伺服器
  • 聽從 Master 的調度,在自己的環境內建立並運行 Pod
  • 定期向 Master 回報自身的健康與資源狀態

Cluster、Node、Pod 的層次關係

三者構成 Kubernetes 由大到小的基礎架構:

Cluster(叢集) 最大單位。由一個或多個 Master Node 加上多個 Worker Node 組成的運算池,對外表現得像一台超級電腦。

Node(節點) 叢集中的實體機器或虛擬機器(在 Proxmox 環境中,就是一台台 CT)。分為 Master 與 Worker 兩種角色,負責提供 CPU 與記憶體等硬體資源。

Pod(最小部署單元) Kubernetes 最小的運作單位,存在於 Worker Node 內部。Pod 就像一個虛擬小房間,裝載著一個或多個緊密關聯的容器(如 Docker)。K8s 的自動修復機制,就是透過「殺掉壞掉的 Pod、在健康的 Node 上重建新 Pod」來達成高可用性。