iT邦幫忙

2024 iThome 鐵人賽

6
Kubernetes

入門 Kubernetes 到考取 CKA 證照系列 第 32

CKA 攻略:我是如何滿分 & 一次通過的?

  • 分享至 

  • xImage
  •  

前言

鐵人賽的最後,分享一下我在今年(2024)考過 CKA 的攻略:

  • CKA 簡介

  • 報名考試 & 考試預約

  • 準備考試與學習資源

  • 怎麼知道自己準備好了?

  • 考試技巧與注意事項

  • 考試當天的流程

  • 附錄:CKA 考試時常用的官方文件清單

重要提醒:CKA 2025 大改版

最近(2025/4)在 Reddit 閒逛的時候,發現有篇文章討論了 CKA 考試內容的更新,原文連結在這裡,以下大概說明一下目前的改動有哪些:

  • 增加新的考試主題,例如 Helm、Kustomize、CRD、Gateway API、HPA 等等。
  • 考試難度增加,以前更多的是找文件上的 YAML 改改,現在更注重故障排除的能力。
  • 移除了一些必考題,例如 ETCD 的備份與還原。
  • 根據一些考生的留言,考試出現了他們在準備時沒看過、不熟的東西,例如使用 dpkg、CRD 等等。

關於 Helm 與 Kustomize 的部分,筆者已經更新於鐵人賽的文章中,不過其他的部分就只能等到之後有空再來更新了。如果你是 2025/2/18 CKA 改版後的考生,請務必留意這些更動內容,Google 搜尋「 Updated Feb 18th 2025 CKA Exam」就能找到相關的討論與資訊。

總而言之,新的考試題目與筆者在去年(2024)八月份已經截然不同,請考生要額外留意以下主題:

  • Helm & Kustomize
  • CRD
  • Gateway API
  • HPA、VPA
  • Gateway API
  • 安裝 Container Runtime

好消息是報名考試後的模擬考 Killer.sh 也更新了他們的考題,所以還是能拿模擬考的分數來衡量自己是否準備好了。

以筆者個人為例,由於沒有考過改版後的 CKA,因此會將考前的準備目標訂得更高一些:不斷的做模擬考,直到可以在規定時間內、僅看官方文件拿到模考滿分。

CKA 簡介

CKA 是 Certified Kubernetes Administrator 的縮寫,是由 Cloud Native Computing Foundation (CNCF) 所提供的 Kubernetes 認證考試,主要針對 Kubernetes 的操作與管理能力進行考核。

  • 考試時間:2 小時
  • 考試方式:線上考試、線上考官監考
  • 題目數量:15-20 實作題 (我這次是 17 題)
  • 通過分數:66 分,滿分 100 分。
  • 重考次數:1 次 (第一次沒過能免費再考一次)
  • 結果通知:考試結束後 24 小時內
  • Open Book:可以查閱官方文件。(不能查看其他網站)

CKA 官網

https://ithelp.ithome.com.tw/upload/images/20240919/20168692C7muecLVZV.png

CKA 的考試範圍與比重如下:

Domain weight
Storage 10%
Troubleshooting 30%
Workloads & Scheduling 15%
Cluster Architecture, Installation & Configuration 25%
Services & Networking 20%

上面的五大領域之下還有其他的子領域,可以參考 CKA 官網。(基本上這次鐵人賽系列已經涵蓋了全部的考試範圍,可以參考 Day 01 查看每個 Domain 與相關文章介紹的對應表)

報名考試 & 考試預約

CKA 的考試費用為 395 美元,建議等到有折扣再報名會省很多,例如我是在 2023 的的黑色星期五報名的,費用是 197.5 美金,省了一半。

也不一定只有黑五有折扣,可以留意一下 Linux Foundation 的官方臉書,只要有優惠基本上都會發文,例如今年八月份就有「夏季優惠」,全證照 40% off。

前往 CKA 官網 即可報名考試,報名成功後會寄 email 通知:

https://ithelp.ithome.com.tw/upload/images/20240920/20168692A1q7kzGr5r.png

上面的 email 中最重要的是有一個「My Portal」的連結,這個連結超級重要,驗證姓名、預約考試、系統需求測試、考試須知、考試入口以及考試結果通通在這個 portal 上,建議用書籤先存起來。

另外 My Portal 的右上角會有一個 killer.sh 的模擬考連結,總共提供兩次模擬考,兩次模擬考的題目皆相同,一次模擬考有 36 小時,因此總共有 72 小時的刷題時間。

因為只有寶貴的 72 小時,建議等到考試前幾天、準備充分了再去刷模擬考。

考試預約

報名成功後可以在一年內預約考試時間。在預約考試前,先在「My Protal」上確認以下幾點:

  • Verify Name:確認這裡填寫的姓名與護照上的「英文姓名」完全一致。(考試會用護照來驗證身份,名字寫錯就不用考了)

  • Check System Requirements:確認用來考試的電腦是否符合要求。

確認完後,在「My Portal」上,點選「Schedule an Exam」就可以開始預約了。開頭可以選擇「考試語言」,雖然有中文能選,但還是建議選英文,因為怕中文翻譯有時候怪怪的,英文考題能最清楚的表達題意、用字其實也不難。

在時間安排上,能預約的考試時段相當多,通常都能找到合適自己的考試時間。預約完成後,會寄 email 通知,裡面會說明只要不是考試開始前 24 小時,都可以隨時「取消」或「更改考試時間」:

https://ithelp.ithome.com.tw/upload/images/20240919/201686927XS5y1Pmv6.png

在預約的過程中,會提示你可以先上傳護照的照片,建議照做,因為可以節省考試當天身分驗證的時間,也可以避免鏡頭對焦不到護照、導致考官無法驗證身份的情況。

準備考試與學習資源

報名完成後就可以開始準備考試了。準備考試有以下三大步驟:

Step 1:學習考試內容

先看看是否已經掌握了考試範圍內的知識點,如果想系統性的從頭學起,可以參考:

如果你的 Udemy 帳號已經買過其他課程了,又不想等折扣,建議再辦一支新的帳號再買這個CKA課程,印象中 Udemy 新帳號的第一堂課都 399 台幣,原價買這個課程要兩千多。

2025/4 更新:Udemy 課程已經更新了新版 CKA 的考試內容,但筆者沒有考新版的 CKA 因此無法確定是否有實際幫助。

Step 2:刷題

學習基礎知識後,就可以開始刷題了。正式考試時是可以查官網的,在刷題時不會的操作或 yaml 範例盡量在官網上找答案,「熟悉官網文件、快速找到答案」是刷題一定要培養的能力。

查官網時可以善用「Ctrl + f」來搜尋關鍵字。

以下是我自己刷過的免費題庫:

  • killercoda 的 CKA 專區:總共有 120 幾題的實作,難度我覺得和考試差不多,蠻推薦的。

  • CKA Exercises:CKA 小練習,不太算題目,但都是考試時常用的操作。

付費的題目我只刷過 Udemy 課程附贈的 Lab,如果你覺得免費的題庫刷完了還是不安心可以買這個,直接跳過它的課程開始做 Lab。

刷題的過程中難免會出錯,我當時會針對錯誤的題目回去複習相關知識點,然後把這些知識點整理在一起,在模擬考或正式考試之前複習。另外我也會複習特定操作在官方文件中的位置,這裡是我整理的清單:「CKA 常用的官方文件」。

Step 3:模擬考

刷完題目、補齊知識點、整理錯誤後,在考試前一周就可以來寫 killer.sh 的模擬考,從「My Protal」右上角即可進入。

這份模擬考的操作環境和正式考試時很相似,可以藉機適應考試環境。在難度方面,考試題目難度還高,但原因倒不是因為完全不會解,而是操作的複雜度較高、且要在兩個小時內寫完 25 題,相當考驗官方文件的熟練度。

在模擬考時,把它當成正式的考試去考,盡量不要查答案或筆記。

如果第一次考出來成績不理想很正常(我第一次考完才 68/125),把錯誤的知識點學起來就好。

在複習、紀錄錯誤的知識點之外,模擬考考完後會有一份官方解答,大力推薦好好閱讀,其中的解題的流程相當清楚且實用,即使是做對的題目也不要跳過,解答中可能有不知道的操作技巧或解題思路。

怎麼知道自己準備好了?

衡量指標相當簡單:

做完以上的三大步驟後,如果你能在兩個小時內、僅參考官方文件的情況下,killer.sh 模擬考拿到 110 分上下就穩了。

以我的例子來說:

  • 本來安排 8/17 考試,不過在八月初考模擬考時,第一次 68、第二次 110、第三次滿分,所以果斷將考試提前到 8/4,最後正式考試時也是拿到滿分。

此外,不用擔心會考「安裝」 CNI、Ingress controller、metrics server 等等需要背「網址」的操作,需要的話題目會先安裝好或直接給你,你只需要懂如何操作即可。

以 metrics server 為例,考試時只需知道如何使用 kubectl top 即可,環境會先安裝好 metrics server

考試技巧與注意事項

知道自己準備好後,就可以準備來參加考試了。以下是一些考試的小技巧:

  • kubectl 的 alias=kbash completion 預設已經設好了,多多利用可以節省考試時間。

  • 忘記指令用法就多用 -h,通常會有範例可以參考。例如忘記怎麼建立 ingress 也不一定要馬上查官網,-h 就說得蠻清楚的:

kubectl create ingress -h
...(略)
Examples:
  # Create a single ingress called 'simple' that directs requests to foo.com/bar to svc
  # svc1:8080 with a TLS secret "my-cert"
  kubectl create ingress simple --rule="foo.com/bar=svc1:8080,tls=my-cert"
  
  # Create a catch all ingress of "/path" pointing to service svc:port and Ingress Class as
"otheringress"
  kubectl create ingress catch-all --class=otheringress --rule="/path=svc:port"
  
  # Create an ingress with two annotations: ingress.annotation1 and ingress.annotations2
  kubectl create ingress annotated --class=default --rule="foo.com/bar=svc:port" \
  --annotation ingress.annotation1=foo \
  --annotation ingress.annotation2=bla
 ...(略)
  • 產生 yaml 範例:
export do="--dry-run=client -o yaml"
kubectl <command> $do > example.yaml
  • DaemonSet 的 yaml 不用特別查,用 Deployment 的 yaml 改一改就好。(可參考 Day 17)

  • 考試時會有好幾組 cluster,寫題目時記得要切換到正確的 cluster:(通常題目敘述中會有底下的指令讓你 copy)

kubectl config use-context <cluster-name>
  • 用題號命名該題的 yaml 檔,例如第六題的題目就命名為 06.yaml,這樣在檢查時會比較方便。

  • 文字終端中的複製與貼上:Ctrl + Shift + CCtrl + Shift + V

  • 遇到以下題目建議先標記然後跳過,寫完有空再說,畢竟及格分數只要 66:

    • 題目敘述看完後完全沒有頭緒
    • 做 10 分鐘以上做不出來的題目
  • 考試介面有提供「Flag」功能,可以用來標記特定的題目。(但是斷線重連後會消失)

  • 考試介面有提供 NOTE 功能,可以用來標記不會的題目、筆記等等。(不用擔心斷線重連後會消失)

  • 題目會提供該題相關的官方文件連結,雖然不一定有用,但直接點就可以到官網了。

萬事俱備後,考試的注意事項如下:

Check-in 前

  • 至少要完整的讀過一遍考試官方提供的兩份文件:

  • 推薦先做完「PSI Remote Testing Tutorial」,提前熟悉線上考試的流程與介面。

  • 提前準備一個房間做為考試環境,需求如下:

    • 房間必須安靜、隱密、照明清楚
    • 房間環境不能太雜亂,考生的背後最好是空白的牆壁
    • 考生不能背對光源,例如窗戶、燈光
    • 房間內不能出現除考生外的其他人
    • 桌面不能有出現電子設備、筆記
  • 可提前 30 分鐘進入「My Portal」,點選 Take Exam 開始 check-in 流程。

  • 備妥護照、Webcam、麥克風、電腦、網路環境。

  • 去上廁所。

Check-in 時

  • Check-in 時就會進入監考方提供的 browser,由一個功能是「一鍵關閉背景程式」,可以幫你關閉所有不合規定的程式。

  • 考試介面右下角會有訊息欄,用來和考官溝通。(考官不會露臉,也不會有聲音,只有文字)

  • 考官會用文字給出指示,一定要記得回應,不知道回什麼至少回個「OK」。

  • 依照考官指示,開啟螢幕同步來分享畫面。

  • 依照考官指示,開啟 WebCam 讓考官檢查環境。

  • 考官會檢查考生的臉、耳後、手腕。

  • 可以放飲用水在桌面上,裝水的容器要是透明的,必須先給考官看過。

考試時

  • 作答之前,記得檢查題目要求要在「哪個 cluster」操作。

  • 不能唸出題目、托著下巴、自言自語。

  • 臉不要離開 WebCam 範圍。

  • 可以上廁所,要跟考官申請 timeout、報備。

  • 如果斷線了不用緊張,可以重新連線。

  • 檢查完可直接交卷。

考試當天的流程

考試當天,我預約在 8/4 的 14:30 進行考試,這裡分享一下當天的流程:

  • 14:00,提前 30 分鐘進入「My Portal」,點選 Take Exam,等待考官開始 check-in 流程。

  • 由於我提前上傳了護照,身分驗證很快就過了,然後考官用文字傳送了一串應注意事項,我都回答「OK」。之後就是檢查環境。

  • 我是用筆電考試的,因此我得舉著筆電繞來繞去,攝影的角度要喬一段時間。考試環境是我的房間,我提前將雜物搬到門外、書櫃用布料完全罩住,其他就只剩床、櫃子了,因此環境檢查也很快就過了。然後是檢查臉、耳後、手腕、桌子底下。

  • 然後考官要求把手機拿出來對準攝影機,然後他請我把手機放置在考試時拿不到的地方,我離開座位,把手機放在房間最遠的櫃子上。

  • 回來後因為我沒有用筆電的攝影機顯示我到底把手機放哪了,所以考官要求我給他看一下。(又拿著筆電走來走去)

  • 都檢查完後,考官介紹了一下考試介面,例如筆記功能、timeouts 等等,然後問我準備好了嗎,我回答「Yes」,考官就提早讓我考試了。(預約 14:30,這時大約 14:20)

  • 拿到考試環境時,我最不適應的是視窗與文字的比例,花了快五分鐘調整。

  • 開始作答時,又發現從終端機與瀏覽器的切換被上方邊框擋住了,因此又花了一點時間調整。

  • 調整完後就開始作答。題目都蠻簡單的,寫得很順利,全部寫完時還剩下一個小時可以檢查。

  • 檢查兩遍後還剩 30 幾分鐘,我就提早交卷了。(此時大約 15:50)

考試的隔天,也就是 8/5 號的 14:50 我收到了結果通知的 email:

https://ithelp.ithome.com.tw/upload/images/20240919/20168692iTEP3Stk9m.png

我就按照提示去到「My Portal」查看成績:

https://ithelp.ithome.com.tw/upload/images/20240919/20168692XcVB3Myby4.png

然後點「View Certificate」就可以下載證書了(證書是 PDF 檔):

https://ithelp.ithome.com.tw/upload/images/20240919/20168692Q6YsRatHPx.png

另外在 email 中也有提到我獲得了一個在 Credly 上的電子徽章:

https://ithelp.ithome.com.tw/upload/images/20240919/20168692HgUuywL1IU.png

CKA: Certified Kubernetes Administrator

附錄:CKA 考試時常用的官方文件清單

CKA 考試時是可以查看官方文件的,這裡是我整理的清單,包含了「搜索關鍵字」與「說明文件」的對應,熟悉後就能快速找到相關說明:「CKA 常用的官方文件」。

結語:這次的鐵人賽花了 32 天才全部寫完,比預期的 30 天多了兩天,不過也算是順利完賽了,希望這次的系列文章有達到最初設定的目標:幫助到 k8s 的初學者與準備 CKA 的讀者!


參考資料


上一篇
Day 31 -【Troubleshooting】:Troubleshooting 小技巧
系列文
入門 Kubernetes 到考取 CKA 證照32
.

1 則留言

0
syf
iT邦新手 5 級 ‧ 2025-04-06 08:55:46

很有幫助,謝謝.

不會,考試加油~

我要留言

立即登入留言