iT邦幫忙

2026 iThome 鐵人賽

DAY 23
0

這幾天 Claude Code 帶我排了七種故障,過程中它沒有直接幫我改 YAML,每一次都是它先解釋現象、列出可能原因、告訴我該下哪些指令,指令我自己下,輸出我自己看,今天先停下來把前面整理一遍

先回頭看 Day 15 那段固定開頭

你是我的 Kubernetes 助教。我是新手,請遵守以下方式協助我:
1. 先解釋目前看到的現象。
2. 不要直接修改 YAML。
3. 先提出最多三個可能原因。
4. 告訴我需要執行哪些唯讀指令。

我覺得最有用的是第 2 跟第 3 條。不准它改 YAML,我自己動手,我才會知道改了哪一行

下面是我請claude把七個故障排成一張表

Day 弄壞什麼 get pods 看到什麼 答案在哪
16 Image tag 不存在 新 Pod ImagePullBackOff,舊的三個照跑 describe 的 Events,Failed to pull image
17 啟動指令直接 exit 1 CrashLoopBackOff,RESTARTS 一直加 logs --previous,Last State 的 Exit Code
18 Service selector 打錯字 全部 Running 1/1,看不出異狀 describe service,Endpoints 是空的
19 readinessProbe 路徑錯 新 Pod Running 0/1,部署卡住 describe 的 Events,Readiness probe failed
20 memory requests 開太大 Pending describe 的 Events,Insufficient memory
21 memory limits 設太小 OOMKilled 然後 CrashLoopBackOff Last State 的 OOMKilled 跟 137
22 改了 ConfigMap 全部 Running,AGE 沒變 進容器看檔案,內容還是舊的

這八天有一個共通的前提,每一個故障都是我自己弄壞的。所以我會事先知道有東西壞了,也大概可以知道要去看哪一個。但真實情況通常不是這樣,是使用者先發現、然後才回報,而那時候可能已經壞了幾個小時

接下來七天就要處理這件事,讓叢集自己告訴我不對勁:用 Helm 把監控裝起來、學看 Grafana 跟寫 PromQL,今天這張表裡 get pods 看到的 STATUS 跟 RESTARTS,到時候都會變成可以畫成曲線的數字、把 Day 17 重做一次,看同一個故障在指標上長什麼樣子、自己做一張 Dashboard、然後再放一次故障,這次三個一起放,試著從 Grafana 發現它

明天就先來把監控裝起來,明天見 :D


上一篇
Day 22 ConfigMap 不生效
下一篇
Day 24 Helm 與監控
系列文
讓Claude Code當我的 K8s 助教:部署、故障排查與入門可觀測性 共 24 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言