Chuyển đến nội dung chính

第 7 課:加入新增控制平面和工作節點

將master2和master3加入HA控制平面,加入工作節點,驗證具有3個成員的etcd集群,檢查領導者選舉和集群準備。

🔒 DevSecOps — 第 7 課 第 7 課:加入新增控制平面和工作器 節點

使用 Kubernetes HA 在本地部署微服務

第 2 部分:使用 kubeadm 的 Kubernetes HA 叢集__HTMLTAG_62___

xdev.asia

🎯 課程目標__HTMLTAG_68___

完成本課程後,您將:

  • ✅ 再加入 2 個控制平面節點,形成 3 個 master 的 HA 叢集
  • ✅ 將工作節點加入叢集__HTMLTAG_75___
  • ✅ 驗證 etcd 叢集 3 成員是否正常運作
  • ✅ 檢查調度程序和控制器管理器的領導者選舉__HTMLTAG_79___
  • ✅ 根據正確的角色標記和污點節點

第 1 部分:加入控制平面節點

1.1。在 master2 和 master3 上準備

確保master2和master3已完成:

  • ✅ 作業系統調整(第 3 課)
  • ✅ containerd + kubeadm 安裝(第 5 課)
  • ✅ 可以連接到 VIP 10.10.20.100:6443

程式碼區塊_0

1.2。將master2加入控制平面

___程式碼區塊_1___

⚠️ --apiserver-advertise-address:每個主機在叢集網路上使用自己的 IP。

1.3。將master3加入控制平面

___程式碼區塊_2___

1.4。在 master2 和 master3 上設定 kubeconfig

___程式碼區塊_3___

第 2 部分:處理過期令牌

2.1。建立新令牌(如果令牌過期)

___程式碼區塊_4___

第 3 部分:加入工作節點

3.1。加入worker1、worker2、worker3

___程式碼區塊_5___

3.2。驗證所有節點

___程式碼區塊_6___

第 4 部分:驗證 ETCD 叢集

4.1。 etcd 成員列表

___程式碼區塊_7___

4.2。 etcd 端點運轉狀況

___程式碼區塊_8___

4.3。 etcd 端點狀態(領導者檢查)

___程式碼區塊_9___

第 5 部分:領導者選舉驗證

5.1。檢查控制器管理器領導

___程式碼區塊_10___

5.2。測試 HA 故障轉移

___程式碼區塊_11___

第 6 部分:標籤和污點節點

6.1。標記工作節點

___程式碼區塊_12___

6.2。檢查污點

___程式碼區塊_13___

第 7 部分:驗證 HAPROXY 後端

程式碼區塊_14


💡 重點

    ___HTMLTAG_150__HTMLTAG_151___加入控制平面需要加入--control-plane --certificate-key___HTMLTAG_154__HTMLTAG_155___ ___HTMLTAG_156__HTMLTAG_157___令牌將在 24 小時後過期,憑證金鑰將在 2 小時後過期 - 如果需要,請建立新的 ___HTMLTAG_160__HTMLTAG_161___etcd 3 個成員 允許叢集承受 1 個成員宕機(法定人數 = 2) ___HTMLTAG_164__HTMLTAG_165___領導者選舉自動:領導者宕機時調度程序和控制器管理器故障轉移 ___HTMLTAG_168__HTMLTAG_169___標籤和污點節點具有幫助準確調度的正確角色 ___HTMLTAG_172__HTMLTAG_173___NotReady 狀態 是正常的 — 需要安裝 CNI(第 8 課)才能轉換為 Ready

🎯 練習__HTMLTAG_179___

練習 1:加入完整集群__HTMLTAG_181___
  • 將master2和master3加入控制平面__HTMLTAG_184___
  • 加入worker1、worker2、worker3
  • 驗證 kubectl get 節點顯示 6 個節點

練習 2:etcd 運作狀況檢查

  • 執行etcdctl成員清單、端點運作狀況、端點狀態
  • 確定誰是 etcd 領導者__HTMLTAG_196___

練習 3:HA 故障轉移測驗

  • 停止 master1 上的 kubelet
  • 透過 VIP 驗證叢集是否仍處於活動狀態
  • 驗證領導者選舉到另一個master__HTMLTAG_206___
  • 再次啟動kubelet,驗證master1回傳__HTMLTAG_208___

📚 下一篇文章

在第8課:安裝Cilium CNI — eBPF網路中,我們將安裝Cilium作為容器網路接口,解決NotReady狀態並啟用NetworkPolicy。