從「有」基礎到三星期內獲取 Kubestronaut 心得
這篇會紀錄我從「有」基礎接觸 Kubernetes 經驗,如何在三星期以內取得 Kubestronaut 的過程。
如果你是純新手,甚至還沒接觸 Kubernetes,極度不建議參考本篇的準備方式。
(選擇題大概可以啦,但筆者平常工作大量接觸 Kubernetes,實作題只有用附贈的模擬考試 killer.sh 熟悉環境和練手感,建議找其他文章參考。)
二話不說,先上 Credly 證明。
1. 前言
我先簡單介紹我自己背景,我從 2021 進入大四實習後,中間就開始接觸 Kubernetes,實習結束後留在公司兼職和讀碩士班,然後在公司一直練習架設、維護、遷移有關私有雲 K8s。
雖然接觸很久,但一直都沒去考的原因,大部分是沒時間,再加上沒錢。(買一個 Kubestronaut 組合包需要 1,495 美金,換算台幣也需要 45,000 元,對學生或剛出社會的人來說不便宜)
今年幸運錄取 CNCF Ambassador 拿到考試優惠券以外,年末終於有點時間,給自己來個小挑戰:「一個月內取得 Kubestronaut。」(至於最後為什麼變三星期,我後面等等會解釋)
2. 什麼是 Kubestronaut
Kubestronaut 是 Kubernetes + Astronaut (太空人) 的組合詞,沒有官方中文翻譯,但我中文會說「K8s 太空人」。
條件很簡單,只要把 Linux Foundation 發行的 Kubernetes 五張證照考出來,並且每張證照皆在有效期限內,就能成為 Kubestronaut。
全世界目前(截止到 2024 年 12 月)大約有 1,000 位,臺灣現在(包含我)有 11 位。
拿到後會有哪些福利可以享用:
- Kubestronaut 外套一件(僅送一次)
- Credly Badge
- Kubestronaut 專屬私人 Slack 頻道和 Email 群組
- 每年會有五張證照的 50% 折扣券(可以自用或送給其他人)
- 每年 3 場 CNCF 活動(KubeCon)有 20% 折扣
3. 考試準備
雖然是全英文考試,但整體來說不會用太難的詞彙或文法。
個人難度評比:KCNA < KCSA < CKAD < CKA < CKS
個人考試順序:KCNA -> KCSA -> CKA -> CKAD -> CKS
如果是新手的話,建議參考我的考試順序依序準備。
如果是想拼 speedrun 的話,我會建議 CKA 先考,CKS 的前置條件是要通過 CKA,所以越早考就可以提前預約 CKS 考試時間。
以下資訊是 2024 年 12 月的考試做準備,如果有更新請依照 Linux Foundation 公布為主。
KCNA: Kubernetes and Cloud Native Associate
- 60 題單選題
- 時間限制 90 分鐘
- 及格線 75 分 / 滿分 100 分
這個其實沒什麼能準備的,網路上也沒什麼題庫能看,雖然看到網路上有人在 Medium 整理 The KCNA Book 很詳細,不過如果你已經有 Kubernetes 基礎,大部分都只是考觀念而已,基本上不太需要準備。
成績結果大約在考試結束後 10 分鐘內就會拿到了。
KCSA: Kubernetes and Cloud Native Security Associate
- 60 題單選題
- 時間限制 90 分鐘
- 及格線 75 分 / 滿分 100 分
相比 KCNA 就多涵蓋了資訊安全的部分,需要稍微知道 NIST 之類的東西。(不知道也沒關係,因為我不知道但也過了)
這個相對來說比較新,可能以前也有 beta 測試過,有好心的國外網友整理 KCSA 的模擬試題(應該不是直接從題庫裡面出來的,但我在考的時候有印象幾題有相似的內容),你可以上去按個 60 題自己做一遍,答對超過 9 成基本上就穩了。
成績結果大約在考試結束後 10 分鐘內就會拿到了。
實作題證照準備方式
買完考試之後,系統會送 killer.sh 兩場模擬考試,可以在距離考試前 5 天和前 2 天各開一次(題目都會一樣)。
Killer.sh 的題目會比真實考題難一些,難的部分主要在於瑣碎(CKS 段落我會舉例),模擬考試寫爛不用灰心,兩小時內很難完全寫完。
打開後有 36 小時使用時間,一開始 2 小時可以用裡面環境練習考試,2 小時後就會顯示分數和解答。
模擬考的分數是系統給的檢查點,不代表是最後考試分數。
剩下的練習時間 (約 34 個小時) 檢討不會的題目,並且自己練習照做一遍,分數每隔 10 分鐘會更新一次,可以驗證自己有沒有做錯。
CKA: Certified Kubernetes Administrator
- 17 ~ 20 題實作題
- 時間限制 120 分鐘
- 及格線 66 分 / 滿分 100 分
- 允許重考 1 次
這張就是在考叢集管理,控制節點(control plane)和工作節點(worker)更新、etcd 備份與還原、Static Pod 設定、DaemonSet 和 Deployment、Taint 與 Tolerations 等。
上面只是隨便舉例,考試範圍請看 Linux Foundation 官網。
這場單純就是在熟悉考試環境跟命令使用,以前都不會想用 --show-labels
或過濾標籤,就是用 K9s + 字串尋找,會 label 就可以好好善用了。
考試環境當然不會有 K9s,kubectl
打完後面不知道接什麼就加 -h
,或者多按幾次 tab 試試有什麼功能可以玩。
成績結果最快大約會在開始考試時間後 24 小時就拿到(假設你 9 點考試,隔天的 9 點最快收到考試結果)。
CKAD: Certified Kubernetes Application Developer
- 17 ~ 20 題實作題
- 時間限制 120 分鐘
- 及格線 66 分 / 滿分 100 分
- 允許重考 1 次
這張就是考應用程式部署,如何把 Pod 轉換成 Deployment、如何用 rollout 退回版本、容器映像檔建置更新、Secret 設定、Liveness Probe 和 Readiness Probe、InitContainer (Sidecar Container) 或 NetworkPolicy 等。
我會覺得簡單的原因有三個:
- 我在做第二次模擬考試的時候,其實是有機會兩小時內用 best score 完成,
但我前面看了一些 YT 影片,把時間消磨掉了。 - 再加上這場考試是實作題證照唯一提早做完,結束前 10 分鐘交卷的。
- 平日就很常使用這些內容,基本上就有看 kubectl 指令有沒有更快的做法。
有信心 95 分以上,但最後拿了 87 分…,雖然不知道哪邊被扣掉,但反正有到及格線就算了(通過是不能重考的)。
成績結果最快大約會在開始考試時間後 24 小時就拿到(假設你 9 點考試,隔天的 9 點最快收到考試結果)。
CKS: Certified Kubernetes Security Specialist
- 前置條件:必須取得 CKA 才能預約考試。
- 17 ~ 20 題實作題
- 時間限制 120 分鐘
- 及格線 67 分 / 滿分 100 分
- 允許重考 1 次
這張是我花最多時間準備了,範圍是 Kubernetes 考試中最廣的(e.g. Falco、Trivy、Bom 或 Apparmor 等),考試內容如果平常用到機會很少,大概也不會特別記。
我把 Killercoda 的 CKS 分類全部先寫一遍,這個可以知道稍微考試範圍在哪,寫模擬考試比較會有一些方向。
但實際情況是…,兩場模擬考試都寫不算太好,都拿到 low score,第二次寫模擬考試的時候大多不是做不出來,而是像我前面提及的,瑣碎內容很多。
主要瑣碎在哪?我用 Audit Log 題目來舉例:
- Killer.sh:從 volumes、volumeMounts 到 args 全部都要自己補上設定,Audit Log 設定檔全部要重寫。
- 真實考試:volumes 和 volumeMounts 都寫完了,args 有寫一部份了,但可能需要一些更動,系統會有 Audit Log 設定檔一部分,但要自己補完。
但這不是壞事,這是在幫助你完全理解概念,考試在 debug 時候比較不會不知所措。
雖然模擬考都還是練習到 best score 了,但第一次實際考試的時候沒有寫太好,成績只有拿 65 分,17 題還空掉 4 題,有一題還是不會把 Linux 使用者移出群組,那時候才發現我對 Linux 使用者控管沒有很熟,時間來不及就沒做完,另外兩題分別為 Falco 和 CiliumNetworkPolicy。(那題的 Falco 需要自己寫規則。)
還好是可以允許重考 (retake) 一次,我遇到是題目完全一樣(Reddit 有人分享會有一兩題不一樣),所以只要把第一次考試不會的部分記在腦中,考試結束後記得補一下知識點,第二次考試就有充裕的時間寫最後不會的幾題。
補 Falco 知識點的時候,可以練習求助 GPT,請他撰寫規則,根據內容再去跟官方文件比對,考試的時候就會比較好找。
成績結果最快大約會在開始考試時間後 24 小時就拿到(假設你 9 點考試,隔天的 9 點最快收到考試結果)。
4. 總結
到目前為止(2024 年 12 月),我現在是臺灣第一位具有 CNCF 認證的雙重身份(同時具備 CNCF Ambassador 和 Kubestronaut),根據 cncf/people 的 people.json
檔案統計,具有雙身份只有 20 位(不包含我)。
從這次考試學習到很多從沒用過的技巧,像是根據欄位排序、容器呼叫 Kubernetes API、SecurityContext 等,甚至模擬考題還有 CTF 的玩法(用限制的權限找出所有的 secret 字串)。
如果時間、金錢允許的話,建議去考考看,對 Kubernetes 搞不好會有新的理解。
如果有時間但沒金錢的話,可以多參加我們 Cloud Native Taiwan User Group 舉辦的活動,可能會不定期丟出 CNCF 活動折扣碼或 Linux Foundation 考試券。
也歡迎來投稿 CNTUG meetup,只要有實體分享,我們會送一件 CNCF Store 的商品,趕快點進去投稿吧!
- CNTUG 官方網站:https://cloudnative.tw
- Facebook 社團:https://fb.cloudnative.tw
- Telegram 群組:https://t.me/cntug
- Meetup 活動報名:https://community.cncf.io/cloud-native-taiwan-user-group
- Meetup 投稿:https://sessionize.com/cntug-meetup/
5. 後記
原本其實想說一個月內刷出來(12/9 開始考,構想是實作題每週考一張),12/14 那週原本額滿排不進考試,後來重新排的時候剛好有空位出來。
後來做一做發現 CKAD 不難,就把 CKS 排在隔天一起考。(但就 CKS 沒考過 (´;ω;`),不然標題就會寫兩星期了。)
考試預約大概是這樣:
- 12/9: KCNA, KCSA
- 12/14: CKA
- 12/21: CKAD
- 12/22: CKS
- 12/25: CKS (retake)
就在我拿到 Kubestronaut 的隔天,LinkedIn 的動態第一天給我一篇 Golden Kubestronaut。
資格就是除了 Kubernetes 的 5 張證照以外,外加 CNCF 現有的 8 張證照(其中 Kyverno 還在預購中,2025 年 1 月會正式打開考試)全部考出來。
- Prometheus Certified Associate (PCA)
- Istio Certified Associate (ICA)
- Cilium Certified Associate (CCA)
- Certified Argo Project Associate (CAPA)
- GitOps Certified Associate (CGOA)
- Certified Backstage Associate (CBA)
- OpenTelemetry Certified Associate (OTCA)
- Kyverno Certified Associate (KCA)
……,有臺灣人要去搶首殺 Golden Kubestronaut 嗎?