Kubernetes CKA課程筆記 45

Troubleshooting — K8s的應用程式問題解決方式概述

ZONGRU Li
Nov 10, 2021

在K8s的系統架構下,當客戶端回報系統有狀況時

就要著手處理解決系統狀況

其原因可能是如下:

  1. 應用程式Pod沒有運作?
  2. Service元件設定錯誤?
  3. Service元件沒有將請求轉拋給處理的Pod?
  4. 或是Service元件根本沒運作?
  5. 又或是有網路問題?

等各種不同狀況!

基本上需要逐步的確認問題點

接下來幾篇會介紹不同的狀況如何發現問題

重要的是學到Kubernetes Troubleshooting的重要概念:

  1. Command
  2. Args
  3. Format kubectl Output

Troubleshooting Application:

  1. 確認Pod運作中:執行kubectl get pod POD_NAME
  2. 是否Pod有註冊service元件?並且service會將請求前拋給Pod?(需要確認EndPoint):執行kubectl get eq或是執行kubectl describe svc SERVICE_NAME
  3. 是否Service元件是能進入的?可以透過其他工具來確認如執行:nc SERVICE_IP SERVICE_PORT或是執行ping SERVICE_NAME(但是這些需要從另一個Pod來發動確認!!)
  4. 確認應用程式的log透過執行:kubectl logs POD_NAME
  5. 在某些情況Pod內的容器或說應用程式根本啟動不了,所以完全沒有log可以查看,所以要從Pod狀態或是近期的Pod相關事件去判斷為何無法啟動,執行:kubectl describe pod POD_NAME

參考課程(reference)

--

--

ZONGRU Li
ZONGRU Li

Written by ZONGRU Li

2022/11/17 開源部分個人筆記給LINE "Java程式語言討論區"社群,希望能對社群的技術學習做一點點貢獻.(掩面....記得退訂閱!

No responses yet