CKAD 考試心得

前言

先不要問我考這個可以幹嘛,有證照在求職或面試上真的幫助不大。雖然這麼說但去年還是報考了,一方面是想用$督促自己唸書;另一方面聽說 CKAD、CKA 等考試方式是上機考,感覺是個不錯的體驗想試試看,畢竟有張證照在公司講話也比較大聲(吧)

拖拖拉拉準備半年終於考過了,附上人權

準備過程

這邊列出準備考試有用到的資源:

  1. Kubernetes 官方文件 - 常見的 resource 務必查到滾瓜爛熟
  2. Udemy 課程 - 附 KodeKloud Lab 可以大量練習
  3. CKAD exercise - 題目很多,個人認為滿有幫助的
  4. Killercoda - Scenario 推薦都做過一遍
  5. 報名考試送的兩次模擬考

準備上就以 Udemy 課程為主,考前大量做題練手感。這個課程非常推薦,雖然講師是印度人,但沒有什麼口音,每一章節後面都會附上 Lab 來練習,可以說是買 Lab 送課程,用優惠券買相當划算。

課程上完對常見的 resource 有了解後就開始大量做題。考試範圍其實有包含 Helm、docker / podman、Kustomize,但我考兩次只有考過 docker,Helm 和 Kustomize 一題都沒出現。

做 CKAD exercise (Github repo 那個) 練習時,我是搭配免費的 K8s playground 如 Killercoda、Killershell 或是 KodeKloud 來練習,如果自己電腦有裝 Kind 也是可以用來練習,用這些雲端服務的好處就是用完不用自己去 reset 環境。

心得

看其他大神們如 Mike、Tico 的分享,考試好像很簡單(?),實際上並不是這樣,像我這種工作上只有接觸到皮毛的普通人,還是需要花時間練習。

上完課程其實不難,難的是每天下班累得要死,在送小孩上床後還要有意志力停住想點開遊戲的那根食指,打開課程和印度人共度美好的夜晚。

第一次考試以差兩分及格飲恨,一部分可以歸咎於考前遇到太多狀況而緊張,另一部分是很多東西都只有一知半解,雖然可以靠 YAML 或是 CLI 快速建立資源,但是要除錯還是得靠對 K8s 的理解。

有一說法是報名考試附的模擬考比實際考試難,個人體感差不多,只是模擬考題目多了點(約 22 題),實際考試我第一次 20 題、第二次 17 題。考試時間兩小時,如果手速比較慢的話會有時間上的壓力。

第二次寫完只有一題 ingress 相關的不確定,其他都有寫出來,最後成績是 91 分,有點出乎意料。

考試建議

  1. 考前會需要排隊進去等待考官檢查你的環境,如果是在家考試,請把房間收得超級乾淨,伸手可及的地方都不要有考試不允許出現的物品。
  2. 準備夠大的螢幕,考試的畫面左方是題目,右邊是一台 Linux VM,那個畫面很小。因為是遠端連線,要有心理準備打字的延遲會跟不上你的手速,操作起來有點痛苦。
  3. 如果不是用筆電的話,攝影機的線一定要夠長,考官會要求拿攝影機拍你的桌子下方。我第一次考試因為這樣拉扯結果造成 webcam 斷線,一旦攝影機斷線你就會被踢出考試系統,從排隊開始的所有流程都要重來一遍。
  4. 實際考試有很多題目是模擬考和 KodeKloud 剛好沒有 cover 到的,因此還是推薦上面有列出的資源都務必練習過。
  5. 前一天一定要睡飽,考試會指定 ssh 到特定機器或是在特定的 namespace 下操作,題目一定要看清楚,不然一串帥氣操作結果 namespace 設成 default 可是一分都沒有。
  6. 準備時務必理解每一個 key 代表的意義。KodeKloud 的 Lab 會很好心的告訴你 key / value 填什麼只要無腦複製貼上就好,但考試會像這樣考: 請建立一個 Cronjob 叫 grep 使用 XXXX 指令,每 30 分鐘執行一次,失敗不重啟 Pod,保留 196 個成功的 Job 以及 87 個失敗的 Job,每個 Job 執行時間不能超過 8 秒。 看到這個要馬上知道在文件中要搜尋這些關鍵字: successfulJobsHistoryLimitfailedJobsHistoryLimitactiveDeadlineSeconds 等等。
  7. 能夠用 CLI 一行指令操作的都用 CLI 做,不要去複製 YAML,這樣會太慢。例如建立 Pod 就用 k run tmp --image=busybox
  8. 不熟 Vim 的人需要練習一下,像是編輯、退出、複製、插入、縮排這些指令熟悉可以省下很多時間。
  9. 在大量練習的過程也要練習怎麼快速驗證操作是正確的,不要想說全部做完再回頭檢查,做完下一些 get describe 檢查不會花太多時間。如果是要測網路,可以用 k run tmp --image=busybox --rm -it --restart=Never -- wget -O- <url> 來快速測試。印象中有一題是要修改一個 deployment,改完發現怎麼 Pod 沒有被更新,查了一下才發現原來是 rollout 被暫停了,如果沒檢查到這題就做白工了。

其他有想到的之後再補充吧


CKAD 考試心得
https://my-blog.pages.dev/2025-10-03/ckad-preparation/
Author
Kevin
Posted on
October 3, 2025
Licensed under