前言:上一篇介紹基於k3s環境,使用kubectl部署springboot簡單專案應用,本篇介紹基於rancher2.x部署應用程式
1、上篇已部署一個springboot應用,我們可以通過rancher檢視工作負載狀態
-
說明:我們沒有通過rancher新增主機管理部署K8s叢集,所以我們這裡直接用rancher在k3s上操作
-
登入rancher,檢視叢集工作負載
-
點選負載名稱,檢視負載資訊
-
可以看到springboot部署在了ubuntunode2節點上,ip地址192.168.231.132,所以我們可以通過http://192.168.231.132:30000/hello訪問應用
-
重啟k3s伺服器,3個節點,只啟動其中2個,且不啟動昨天做的springbootapp所部署的那臺server,ubuntunode2
-
輸入命令,檢視pod:springbootapp的狀態
sudo kubectl describe pod/springbootapp -n default
說明: -n default 名稱空間 default
-
pod處於terminating狀態,我們可以輸入命令強制刪除pod,重新部署
格式:
sudo kubectl delete pod 【podname】 --force --grace-period=0 -n 【名稱空間】
命令:
sudo kubectl delete pod spingbootapp --force --grace-period=0 -n default
2、通過rancher2.x部署應用
-
進入rancher工作負載介面
-
點選部署應用,填寫引數資訊,名稱,映象,名稱空間,負載型別選擇2個pod
-
點選啟動
-
等待一段時間後,工作負載建立完成
3、建立負載均衡ingress,提供對外訪問springbootapp的pod
-
進入負載均衡介面,點選-新增規則
-
填寫相關引數,域名springbootapp.com,名稱空間,選擇對應的服務/工作負載
-
儲存後,啟動一個負載均衡器
4、通過域名:springbootapp.com,訪問springbootapp應用的pod,由於沒有DNS伺服器,我們這裡通過修改hosts檔案,新增域名ip對映進行訪問
-
修改hosts檔案,新增域名對映,ip地址可以是springbootapp部署的任一節點的ip地址
-
儲存hosts檔案,通過域名訪問springbootapp服務
5、模擬pod掛掉,重新部署應用
-
強制刪除一個節點,rancher會重新啟動一個pod,保證2個副本工作
-
系統會很快幫我們重新構建一個pod
-
如果一臺機器掛掉,pod處於Terminating狀態,我們可以重新部署應用,rancher會中心建立2個pod提供服務
-
點選重新部署,會出現多個pod
-
這樣不會使springbootapp服務中斷,待新pod建立完成之後,會剔除老的pod
6、服務擴容、縮容
-
擴容
在工作負載springbootapp中,點選增加pod節點
我們發現新增了一個pod節點提供服務
-
縮容
在工作負載springbootapp中,點選減少pod節點
我們發現rancher幫我們減少了一個pod節點提供服務,釋放了資源