聊一下我在準備考前的背景
由於從今年2021/5月開始加入了新公司,從零開始碰Kubernets技術在現有專案的Devops與自動化部屬上,
在這之前可說是對K8S完全沒什麼實際操作經驗,頂多在去年時就是有在某個線上課程上了解什麼是Kubernetes這樣
但在今年要直接使用Kubernetes作為日常工作的工具,所以設定了目標,要拿到這張CKA證書!
也在2021/11/19順利取得了,(感動)
所以接下來會聊一下這段準備和考完的心得以及一些Tips供有心要準備的人可以參考
什麼是 Certified Kubernetes Administrator (CKA) ?
CKA是由CNCF (Cloud Native Computing Foundation)所推出的資格考試認證,主要測驗應試者有沒有具備Kubernetes操作與維運除錯的基本能力,
這張證照在目前業界上其實也蠻夯的,在最近的JD上可以看到招聘Cloud 或是 DevOps Engineer都會希望有張CKA證照,
以便證明Interviewer有著基本操作Kubernetes的能力
不過這張證照報名費也不便宜就是了,原價要375$ (US),所以若沒有急著要考的話,
是可以等到有折價的時候再報名,那時候我報名是有折15%的價格,以及贈送2次Kubernets Exam Simulator 線上模擬考的Session這樣
準備路線
- 先上網看看各路考過CKA的大神怎麼準備的:
- 挑了一門最受推薦的CKA課程: Certified Kubernetes Administrator (CKA) with Practice Tests,非常強烈推薦上這門課,因為會額外免費提供KodeKloud K8S練習環境供操作,若要穩穩第一次就Pass CKA這門課一定要好好給他K完,總長18 hours,我也是大約花了3個月,陸陸續續利用下班時間把它K完
- 把Kubernetes the Hard Way做過一次,就是不用包裝好的工具來建立Kubernetes Cluster,雖然不是考試的重點,但也建議整個操作一遍這樣
- 不過若想要有人帶的話,可以到Cloud Guru上,會有專家Step by Step操作 (但要訂閱的費用)
- 由於CKA操作的環境雖然有提供NotePad,但我還是加強了一下VIM的操作速度,強烈推薦此影片:Vim Crash Course | How to edit files quickly in CKAD / CKA exam
- 把Killer.sh Kubernetes Exam Simulator提供的兩次Session都做完,兩次模擬考題都會是一樣的,難度會比正式題目還要高
- 看一下Youtube上大神們提供的CKA考前注意事項
- 把所有會用到的Kubernetes文章書統整到書籤內,加速查找的速度
以上整個準備下來其實也花了快半年才準備迎戰CKA測驗
考試過程
網路上其實已經有很多人分享考試的流程畫面是怎樣,所以這邊就分享我當天遇到的情況:
考試約定前15分鐘,要按下Take Exam的按鈕,要注意按下去後會先到PCI的頁面,然後倒數10分鐘才能夠真正進入考試頁面
進入到頁面後,考官會送訊息過來,並且要依照他的指示一一操作
- 點選上方的分享畫面與視訊鏡頭
- 將護照秀給考官,但要注意因為我的護照因為疫情期間沒得出國,剛好過期沒去更新,他會要求有沒有其他的身分證可以證明是本人,例如我用身分證+健保卡搭配護照的中文名稱,才給繼續
- 拿著鏡頭環繞四周,確認沒有其他人,可疑的錄影工具之類的
- 會詢問將筆電抬起來,看下方有無異物,怕你偷側拍題目
- 會要求按下快捷鍵開啟(強制結束)的視窗,把除了chrome與finder的應用程式給關閉
當天應試的題目
總共17題,但我有一題忘記了,以下題目供參考
以下順序不是當天我實際考試的順序
- 創建一個clusterrole, 並且賦予有create secrets的權限,並創建一個serviceaccount,用clusterrolebinding 把他們綁定再一起
- etcd backup + restore
- Ingress 設置
- Network Policy設置
- 集群升級
- 包含kubeadm、kubelet和kubectl都要,但只需升級 Control Plane
- 查出cpu使用率最高的pod,列出label為xx=xx的pod中cpu使用率最高的寫入指定檔案
- 使用sidecar pod來讀取log
- 使用Service Expose 一個deployment
- 計算node數量,不包含taint 是 NoSchedule的,並寫入指定檔案
- pod調度到label為xx=xx的Node上
- 列出指定pod的log中的error記錄到指定檔案
- 在指定的namespace下創建2個ontainer的Pod
- 創建一個有著10Mi的pv,以及一個pvc,並且將pod綁定到pvc上,最後還要修改pv,改成70Mi
- 集群故障,做Trobleshooting
- 某一節點處於NotReady status,發現kubelet沒有enable,將它重啟即可看到原本node回復到
Ready
狀態,不過在Killer.sh
上的模擬考遇到的故障若解決的得心應手,這題很快就解決
- 某一節點處於NotReady status,發現kubelet沒有enable,將它重啟即可看到原本node回復到
- 創建一個pv
- 將deployment scale到4個pod
考試採坑記
我不小心執行到 exit
,導致我的terminal直接重新啟動 lol… 還好有著考官的提醒,直接點選terminal上方 tab的web terminal,就可以回到原本的nodes,但要注意一開始設置的kubectl
快捷鍵都需要再重打
考試時間倒數15分,5分,考官都會提醒,不過其實我全部題目寫完大概還剩10分鐘,再一一個檢視每一個題目是否有錯誤
心得
其實整個準備下來收穫蠻多的除了k8s整體架構知識,網路與集群故障排除都有一定的涉略,
尤其時操作kubectl
等指令都已經肌肉記憶訓練到想忘記都有點困難,以及使用vim去操作k8s object的yaml的速度提昇了不少,
算是自己對於學習Kubernetes的一個大大的肯定!
文章版權聲明:請勿抄襲,本部落格採用創用CC, 姓名標示-非商業性-相同方式分享授權
欲轉載請標註出處與作者-Kubeguts 庫柏格,thanks!