🎯 課程目標__HTMLTAG_68___
完成本課程後,您將:
- ✅ 了解本地的 LoadBalancer 問題(無雲 LB)
- ✅ 使用 Helm 安裝 MetalLB
- ✅ 使用 IPAddressPool 配置 L2 模式
- ✅ 了解大型資料中心的 BGP 模式__HTMLTAG_79___
- ✅ 公開 LoadBalancer 類型的服務
第 1 部分:本地負載平衡器問題
1.1。雲端與本地
___程式碼區塊_0___第 2 部分:METALLB 安裝
2.1。先修條件
___程式碼區塊_1___2.2。使用 Helm 安裝 MetalLB
___程式碼區塊_2___第 3 部分:L2 模式配置
3.1。 IP 位址池
___程式碼區塊_3___程式碼區塊_4
3.2。 L2 模式如何運作?
___程式碼區塊_5___第 4 部分:測試負載平衡器服務
4.1。部署測試應用程式
___程式碼區塊_6___4.2。測試來自外部的存取
___程式碼區塊_7___4.3。指定具體IP
___程式碼區塊_8___第 5 部分:BGP 模式(大型資料中心)
5.1。何時使用 BGP?
| 標準 | L2 模式 | BGP 模式 |
|---|---|---|
| 路由器請求 | 否 | 需要支援 BGP 的路由器__HTMLTAG_135___ |
| 故障轉移 | ~10 秒__HTMLTAG_141___ | ~3 秒 |
| 真正的負載平衡 | ❌(1 個節點句柄) | ✅ 跨節點 ECMP__HTMLTAG_151___ |
| 跨子網路 | ❌ 相同的 L2 段__HTMLTAG_157___ | ✅ 跨子網路工作__HTMLTAG_159___ |
| 複雜性 | 簡單__HTMLTAG_165___ | 需要路由器設定 |
| 最適合 | SMB,單機架 | 大型直流、多機架 |
5.2。 BGP 設定範例
___程式碼區塊_9___第 6 部分:IP 共享與進階功能
6.1。共享IP(許多服務使用1個IP)
___程式碼區塊_10___6.2。清理測試
___程式碼區塊_11___💡 重點
-
___HTMLTAG_193__HTMLTAG_194___MetalLB 解析本地 LoadBalancer — 無需雲端供應商__HTMLTAG_196___
___HTMLTAG_197__HTMLTAG_198___L2模式簡單,適合單機架/小型叢集
___HTMLTAG_201__HTMLTAG_202___BGP 模式 適用於具有 ECMP 真正負載平衡的大型多機架資料中心
___HTMLTAG_205__HTMLTAG_206___IPAddressPool 管理 IP 範圍,可以建立許多池(外部、內部)
___HTMLTAG_209__HTMLTAG_210___IP 共享 允許多個服務共享相同外部 IP
___HTMLTAG_213__HTMLTAG_214___strictARP:true kube-proxy 中是 L2 模式的要求
🎯 練習
練習 1:安裝 MetalLB
- 使用 Helm 安裝 MetalLB
- 使用適當的 IP 範圍實驗室建立 IPAddressPool
- 部署服務類型LoadBalancer,驗證外部IP
練習 2:多個池__HTMLTAG_232___
- 建立 2 個池:外部池與內部池
- 部署2個服務,每個服務使用不同的池
- 測試與具有相同 IP 連接埠的 2 個服務的 IP 共用
📚 下一篇文章
在第10課:etcd — 作業、備援與災難復原中,我們將深入探討etcd作業、備援策略和復原過程。