當服務無法使用,最重要的不是立刻重啟,而是先判斷故障發生在哪一層。Kubernetes 提供資源狀態、事件與容器日誌等線索,分別回答物件現在如何、平台遇到什麼問題,以及程式實際做了什麼。把它們依序串起來,比隨機嘗試有效。
首先使用 get 查看範圍與狀態,再用 describe 觀察詳細條件和近期事件。Pod 等待可能來自資源不足、儲存未完成或映像下載問題;容器反覆退出,則可能與啟動參數、設定內容或程式錯誤有關。相似的外部症狀,背後原因可能完全不同。
logs 顯示容器的標準輸出與錯誤輸出。若容器剛重新啟動,可以嘗試查看前一次容器的日誌;多容器 Pod 則需要指定容器名稱。尚未成功啟動的容器可能沒有可用日誌,此時應回到事件,而不是持續要求不存在的輸出。
事件不是永久保存的稽核資料,正式維運通常還需要集中式日誌與監控。除錯時也應記錄時間、資源名稱與最近變更,讓線索可以互相對照。下一篇將刻意使用錯誤映像標籤,練習從證據找到原因,再驗證修正結果。
參考:Pod 除錯