這三個都跟「服務怎麼被外部網路找到」有關,彼此有關聯,但不是同一件事。
1. L2 bridge
L2 是第 2 層,也就是乙太網路層。
L2 bridge 可以把虛擬機的網卡「橋接」到實體網路,看起來像直接接在同一台交換器上。
意思是:
1. VM 可以直接拿到和實體網路同一個網段的 IP。
2. VM 在網路上看起來像獨立實體主機。
3. ARP、廣播這類第 2 層封包可以正常工作。
為什麼:
1. 有線網卡通常比較適合 bridge。
2. Wi‑Fi 常不支援完整的二層橋接行為。
3. 所以在Bare Metal(NB)只有 Wi‑Fi 的情況下,VM 很難像接在實體交換器上一樣直接出現在 LAN 上。
2. MetalLB L2
MetalLB 是給裸機 Kubernetes 用的 LoadBalancer 實作。
在雲端裡,Kubernetes 建一個 LoadBalancer Service,雲平台會幫你配外部 IP。
但在本機、裸機、Proxmox 這種環境,沒有雲平台幫你做這件事,所以要靠 MetalLB。
MetalLB 的 L2 模式意思是:
1. 它從你設定好的 IP 池中挑一個 IP。
2. 然後由某一台 Kubernetes 節點在 LAN 上用 ARP 宣告:
這個 IP 現在是我在回應。
3. 外部主機就會把流量送到那台節點,再轉進 Kubernetes Service。
所以它依賴什麼?
1. 節點必須能正常參與 LAN 的二層通訊。
2. ARP 宣告必須能被同網段設備看見。
3. 這通常要求節點網卡是在可正常 L2 溝通的網路上。
這也是為什麼 Wi‑Fi only 的 Bare Metal 不適合這種做法:
因為你很可能沒有真正可用的 L2 bridge,ARP 廣播與二層可見性也不穩。
3. 固定 VIP
VIP 是 Virtual IP,虛擬 IP。
它不是某一張實體網卡永久綁死的 IP,而是一個「可以漂移」的服務 IP。
用途通常是:
1. 外部只記住一個固定 IP。
2. 背後哪台主機真正接這個 IP,可以切換。
3. 這樣做 HA 時,服務故障可以把 VIP 漂到另一台機器。
常見例子:
1. Keepalived 用 VRRP 提供一個漂移 VIP。
2. Kubernetes 外部入口也可能希望有固定 VIP。
3. MetalLB 提供的對外 IP,某種程度上也可視為服務 VIP。
關係怎麼看
1. L2 bridge 是網路接法。
2. MetalLB L2 是 Kubernetes 在裸機環境分配對外 IP 的方法。
3. 固定 VIP 是想達成的效果,也就是外部永遠打同一個 IP。
它們的關係可以簡化成:
1. 你先要有可用的 L2 網路環境。
2. 才比較容易用 MetalLB L2 這種方法。
3. 然後才能讓服務穩定用一個固定 VIP 對外提供。
放回你的 Bare Metal(NB) 情境
1. Bare Metal 只有 Wi‑Fi,不適合期待標準 L2 bridge。
2. 因此也不適合把 MetalLB L2 當主要對外方案。
3. 固定 VIP 也不建議用依賴二層廣播的方式實現。
你比較適合的替代方案是:
1. VM 走私有網段。
2. Proxmox Host 做 NAT。
3. 對外用反向代理或 DNAT 轉發。
4. 若要跨網段穩定存取,可加 Tailscale 或 WireGuard。
一句話版本:
1. L2 bridge 是讓 VM 像實體機一樣直接上 LAN。
2. MetalLB L2 是靠 LAN 的二層能力,把 Kubernetes Service 對外發布成一個 IP。
3. 固定 VIP 是最終想要的效果,也就是服務永遠有一個固定入口 IP。
本文說明 L2 bridge、MetalLB L2 與固定 VIP 的定義、彼此關係,以及為什麼在 Wi‑Fi 主機條件下不適合當主要方案。

沒有留言:
張貼留言
歡迎留下您的問題,請留下您的Moodle版本及環境,我們才能跟據您的版本測試問題並回應。