k8s學習筆記(2)- Rancher2.x部署springboot應用及高可用、擴容

xjk27400861發表於2021-10-17

前言:上一篇介紹基於k3s環境,使用kubectl部署springboot簡單專案應用,本篇介紹基於rancher2.x部署應用程式

1、上篇已部署一個springboot應用,我們可以通過rancher檢視工作負載狀態

  • 說明:我們沒有通過rancher新增主機管理部署K8s叢集,所以我們這裡直接用rancher在k3s上操作
  • 登入rancher,檢視叢集工作負載
    image
  • 點選負載名稱,檢視負載資訊
    image
  • 可以看到springboot部署在了ubuntunode2節點上,ip地址192.168.231.132,所以我們可以通過http://192.168.231.132:30000/hello訪問應用
    image
  • 重啟k3s伺服器,3個節點,只啟動其中2個,且不啟動昨天做的springbootapp所部署的那臺server,ubuntunode2
    image
  • 輸入命令,檢視pod:springbootapp的狀態
      sudo kubectl describe pod/springbootapp -n default
    
    說明: -n default 名稱空間 default
    image
  • 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工作負載介面
    image
  • 點選部署應用,填寫引數資訊,名稱,映象,名稱空間,負載型別選擇2個pod
    image
  • 點選啟動
    image
  • 等待一段時間後,工作負載建立完成
    image

3、建立負載均衡ingress,提供對外訪問springbootapp的pod

  • 進入負載均衡介面,點選-新增規則
    image
  • 填寫相關引數,域名springbootapp.com,名稱空間,選擇對應的服務/工作負載
    image
    image
  • 儲存後,啟動一個負載均衡器
    image

4、通過域名:springbootapp.com,訪問springbootapp應用的pod,由於沒有DNS伺服器,我們這裡通過修改hosts檔案,新增域名ip對映進行訪問

  • 修改hosts檔案,新增域名對映,ip地址可以是springbootapp部署的任一節點的ip地址
    image
  • 儲存hosts檔案,通過域名訪問springbootapp服務
    image

5、模擬pod掛掉,重新部署應用

  • 強制刪除一個節點,rancher會重新啟動一個pod,保證2個副本工作
    image
  • 系統會很快幫我們重新構建一個pod
    image
  • 如果一臺機器掛掉,pod處於Terminating狀態,我們可以重新部署應用,rancher會中心建立2個pod提供服務
    image
  • 點選重新部署,會出現多個pod
    image
  • 這樣不會使springbootapp服務中斷,待新pod建立完成之後,會剔除老的pod
    image

6、服務擴容、縮容

  • 擴容
    在工作負載springbootapp中,點選增加pod節點
    image
    我們發現新增了一個pod節點提供服務
    image
  • 縮容
    在工作負載springbootapp中,點選減少pod節點
    image
    我們發現rancher幫我們減少了一個pod節點提供服務,釋放了資源
    image

相關文章