Skip to content

Instantly share code, notes, and snippets.

@Appletone
Created November 19, 2021 10:10
Show Gist options
  • Save Appletone/fe95252d03378ce2d0c6cc200e4eadad to your computer and use it in GitHub Desktop.
Save Appletone/fe95252d03378ce2d0c6cc200e4eadad to your computer and use it in GitHub Desktop.

CKA 考試全攻略流程

前言

接下來分享,我如何一次通過考試,並且拿到90分

我是在去年 2020 Cyber Monday 特價的時候買的,連買多少錢都忘了,而且拖到快過期才去考 XD

考試是採用線上考試的方式,考生可以在家上網,找個安靜的空間就可以考試了(後面會詳細講。

我是大約過期前三個禮拜去考試,CKA 考試可以有一次免費重考的機會,沒有冷卻時間,就看監考單位 PSI 考官們有沒有時間陪你考試,所以我在過期的時間提前一點,避免沒考過,沒時間可以重考 XDD 請大家自己斟酌時間。

考前準備

CKA 考試範圍

CKA 在官方的學習路徑 (Learning Path) 排在第 17,表示前面有一些基礎知識需要累積,不過我覺得那些落落長的清單,大家就當作參考,如果你熟悉 Linux 作業系統、容器化、網路基礎知識的話,肯定是會幫助你可以順利取得證照的。

準備 CKA 時可以先確認一下範圍,考前可以核對一下自己對於 k8s 知識領域是否已經準備完全。

還有確認考試的時間長度(以前3小時,現在2小時),考試所採用的 k8s 版本,etc...

考試範圍

Storage 10%

Understand storage classes, persistent volumes Understand volume mode, access modes and reclaim policies for volumes Understand persistent volume claims primitive Know how to configure applications with persistent storage

Troubleshooting 30%

Evaluate cluster and node logging Understand how to monitor applications Manage container stdout & stderr logs Troubleshoot application failure Troubleshoot cluster component failure Troubleshoot networking

Workloads & Scheduling 15%

Understand deployments and how to perform rolling update and rollbacks Use ConfigMaps and Secrets to configure applications Know how to scale applications Understand the primitives used to create robust, self-healing, application deployments Understand how resource limits can affect Pod scheduling Awareness of manifest management and common templating tools

Cluster Architecture, Installation & Configuration 25%

Manage role based access control (RBAC) Use Kubeadm to install a basic cluster Manage a highly-available Kubernetes cluster Provision underlying infrastructure to deploy a Kubernetes cluster Perform a version upgrade on a Kubernetes cluster using Kubeadm Implement etcd backup and restore

Services & Networking20%

Understand host networking configuration on the cluster nodes Understand connectivity between Pods Understand ClusterIP, NodePort, LoadBalancer service types and endpoints Know how to use Ingress controllers and Ingress resources Know how to configure and use CoreDNS Choose an appropriate container network interface plugin

考試準備

刷題

Killer.sh 線上模擬題必做,買了考試卷後,會送你 killer.sh 模擬考,每次啟用 36hr 後過期,有兩次機會,我是利用週末早上啟用,這樣我就可以刷個兩天。

我第一次刷的時候花超過 4hr ,題目 25題 還有 3題 Preview Question,只對了一半,挫折感很重,還好解答開頭就寫,這模擬考比正式考試還困難 XD

第一天刷了一次後,review 答錯的地方。

第二天再刷一次。然後刷一次解答的文件。

後來覺得,刷完 killer 休息一天後,其實就可以去考試了。

額外學習資訊

如果你像我看到沒什麼可以看,可以看看底下兩個 Exercises。

alijahnas/CKA-practice-exercises: This is a guide for passing the CNCF Certified Kubernetes Administrator (CKA) with practice exercises. Good luck! (github.com)

chadmcrowell/CKA-Exercises: Practice for the Certified Kubernetes Administrator (CKA) Exam (github.com)

或是參考 Kubernetes the hard way (這個我沒看)

kelseyhightower/kubernetes-the-hard-way: Bootstrap Kubernetes the hard way on Google Cloud Platform. No scripts. (github.com)

另外推一個 Udemy Mumshad Mannambeth 的 CKA 課程,不過課程我沒全部看完,主要是會送作者的創業項目 kodekloud 的 CKA 互動式學習課程,個人也是滿推薦可以試試。

考前必看的資訊

考生手冊

考試重要指引

線上考試環境的影片

Kubernetes Certification Exam Environment Preview - YouTube

監考流程影片

CKA 的考試是給 PSI 監考的,所以大家可以先看看 PSI 監考中心的環境檢查流程影片(點擊 Online Proctored Test Experience),比較不會對監考流程感到未知害怕。

https://www.psionline.com/en-gb/test-takers/

房間整理

主要在於考試桌面的整潔,可以有延長線、桌燈、螢幕、鍵盤滑鼠,桌面&下面不能有雜物,之前在 YouTube 上面看到有人分享他考 CKA 檢查環境的時候,因為桌子下面有喇叭+重低音,考官請他整理,光把桌子下面清空他花了十分鐘。

考生的背景要實心牆面,不能是窗戶或是太強的光源,應該是避免 webcam 無法清楚照到考生的臉。

考生的臉要在鏡頭中間,離開鏡頭考官會提醒你。

房間不能有其他人走動,不能是開放空間,外面不能有講話的聲音,這幾點要注意,因為考官有權力終止考試,但是有一些雜音是可以的,例如:垃圾車的聲音,我考試的時候有遇到,考官沒特別說什麼。

然後考試的時候手不能遮臉,不要唸出題目,不能吹口哨 XD

考官傳訊息給你都要回應,不知道要回什麼就回 OK。

身份驗證

我個人是準備護照(注意效期,官方有說要準備有效期限的證件),考官也只有檢查護照,沒檢查第二個 ID 證件。

如果沒有護照,應該也可以準備政府核發的有效證件(要有照片),第二證件在準備一下類似信用卡之類有名字的。

詳細內容請參考:Candidate Identification & Authentication - T&C DOC (linuxfoundation.org)

考試技巧

先看一下線上考試的環境,才不會覺得很陌生。參考前面的影片:Kubernetes Certification Exam Environment Preview - YouTube

考試的時候桌上不能放紙筆,所以善用系統提供給你的線上 Note,在 右上角 Exam Control 裏面。

也可以把卡關的題目,先記錄在 Note 裡頭,標記一下題號、分數,甚至是做到一半的指令,存起來比較好判斷哪些題目要先拿分,還有重新回去檢查的時候喚醒題目記憶。

當考官跟我說系統有 Note 可以善用的時候,我就開始在 Note 打下面的加速指令。

前置設定

官方的線上考試環境會先幫你把 kubectl alias 為 k,bash & kubectl 的 autocomplete 也會設定好,vim 也預設裝好,所以如果沒有自己的特定 alias,其實就可以少掉一些前置設定。

export do="--dry-run=client -o yaml"
export now="--force --grace-period 0"

上面兩個小技巧,do 是透過指令產生 yaml 設定檔,應該都很熟悉,不過這次考試我沒什麼用到。

另一個 force 是用在 k delete,因為刪掉資源有可能因為等待其他資源釋放然後陷入一個空等的狀態,不知何時完成,考試的時候分秒必爭,delete 當然是越快越好,所以可以使用 k delete pod ooo $now,如果因為 --force --grace-period 0 背不起來,可以使用 k delete -h,help 文件裡面有範例可以直接拷貝。

設定編輯器 vim

將下列三項設定新增到 ~/.vimrc 檔案,對於編輯 yaml 縮排會有很大的幫助。

set expandtab
set tabstop=2
set shiftwidth=2

增加手速

-n -> --namespace # 指定 namespace scope
範例:
$k get po -n kube-system

-A -> --all-namespaces # all namespaces
範例:
$k get po -A

Chrome Extension

我裝了 Google Translate、Auto Copy 跟 考試要裝的 Innovative Exams Screensharing

解題技巧

略讀 kubectl cheat sheet

cheat sheet 可以說是指令精華,網頁裡面的指令其實可以給他掃一遍,會讓你快速的認識 k8s,甚至考題有些關鍵字,拿進來搜尋可能會直接找到答案。

善用 -h 其實我沒有背指令,因為大多指令都會有範例,例如: k create deploy -h

把常用的官方文件設為書籤

把做過的題目設為書籤,考試的時候可以直接從書籤去選擇,就不用花太多時間搜尋官方文件。

解題策略優先順序

  1. 能使用指令就用指令(節省時間)
  2. k edit(直接編輯)
  3. (—dry-run=client) -o yaml (用指令輸出 yaml 設定檔)
  4. 從頭自己建立 yaml (從官方文件拷貝)

考試電腦相容性檢查

可以先到這個網頁檢查一下自己的考試環境,是否完善。

WebDelivery Compatibility Check (examslocal.com)

考試之前我還是有先跟朋友用 Google Meet 測試一下 WebCam, Mic, Share Desktop,確保一切硬體設備正常。

其實手冊有說要使用 Google Chrome 或 Chromium,所以我是用 Edge 考試的,不一定要用 Chrome 這部分是沒問題的。

考試預約

預約的系統有點慢,如果選擇平日的話,可以選擇的時間還算多,可以先上去點點看。

考前 24 小時可以重新安排時間,No Show 視同放棄考試。

考試開始

考試環境檢查

預約考試的前後 15分鐘內,就可以開始考試,Take Exam 的按鈕會亮起來,點進去的時候,考官就會用 Live Chat 給你指示。

先打開 Webcam、麥克風、分享桌面,然後用 Extension 右鍵

桌面乾淨,不能喝飲料,只能有透明的瓶子裝透明的水。(飲料的部分算是比較嚴格,之前去恆逸考試中心考 TOGAF 的時候,我問現場人員,是可以帶咖啡進去喝的)

再來檢查 ID,我是用護照,停留在鏡頭前面,直到考官說OK。

環境四周檢查,在旋轉鏡頭的時候盡可能的放慢速度。

考官看到我把護照放在桌上,他要我把護照拿去其他地方,我就收到旁邊的架子。

說要看你的鍵盤下面跟桌子下面,因為我是用筆電,所以我就整個筆電拿起來照桌子底下,可能是我桌子底下有些標籤,考官看有點久,後來也是說OK。

考官會開始介紹考試環境,例如 Note, Take a break, end exam。

開始前,考官會問你有沒有什麼其他問題,沒有就回 OK, 點擊 Start Exam。

點擊後,系統還是會有一個簡單的 Tutorial,點一點介紹之後就正式進入考試,開始計時 2hr。

考試中注意事項

考試的時候,左上角會有一個進度條,不會告訴你剩多久時間,時間要自己掌握。

一開始終端機會在一個 student@node1 的主機上,你會有 6組 k8s cluster

用 context 切換題目指定的 k8s cluster,context 會在題目的上方的紅色區域說明,紅色區域右上角有 copy 按鈕,點一下就會複製到剪貼簿。

注意你目前連線的主機去做答,答案的結果會放在 student@node1 上,有時候會要你 ssh 連線去 master 或 worker 操作,做完記得回 student@node1。(可以使用 ctrl + D 或 輸入 exit)

因為我在大約做第三題的時候,反射動作直接拷貝 紅色區塊的指令,我沒仔細看,我拷貝到了 exit,結果我在上個題目我有退回 student@node1,整個 terminal 重啟 reconnect,還好後來沒事,作答的結果都在,在此遇到一些小亂流。大家有遇到的時候在注意一下紅色區塊的內容,跟作答的 node 叫什麼名字。

作答後沒把握的題目可以先 Flag 標記(在題目最下面),如果信心十足,可以點下 I'm satisfied。

題目有三種語系可以即時選擇:英文、簡中、日文,簡中的翻譯其實看不太懂意思,建議大家還是盡量以英文題目作答去準備。

考官會在剩下 15min & 5min 提醒。

考試心得

我這次的考試是 17題,如果手速快熟練的話,考試時間算很充裕,做完大約還有 30分鐘。

就回去慢慢檢查一些題目。

參考

感謝以下兩位大大分享,推薦各位值得一看

我是如何一次通過CKA考試?不藏私的考試流程與經驗分享. 目錄 | by Gina Chang | Gemini Open Cloud 雙子星雲端 | Medium

【從題目中學習k8s】-【後記】CKA證照 - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天 (ithome.com.tw)

考試題目

因為 LF 的保密協議,所以在題目上的內容可能無法透露太多。

不過我這次的考試是 17題,考試題目跟參考資料裡面提到的差不多。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment