上個(gè)月通過(guò)了CKA以及CKAD兩項(xiàng)考試,在此和大家分享一下兩項(xiàng)考試的準(zhǔn)備過(guò)程和考試心得。
首先,作為一個(gè)有關(guān)容器化的全英文上機(jī)考試,在準(zhǔn)備考試之前,默認(rèn)大家已具備以下三項(xiàng)基本素質(zhì):熟練的Linux系統(tǒng)操作、容器化技術(shù)基本知識(shí)儲(chǔ)備、較好的英語(yǔ)閱讀能力。
考試準(zhǔn)備
然后我分享一下我整個(gè)的考試準(zhǔn)備,我把考試準(zhǔn)備總共分為了3個(gè)階段。
知識(shí)儲(chǔ)備階段
本階段的主要任務(wù)是認(rèn)識(shí)和學(xué)習(xí)Kubernetes的整體框架和各類(lèi)概念。
雖然兩項(xiàng)考試都有官方出具的Curriculum Overview,其中列舉出了考試所涉及的相關(guān)考點(diǎn),但是我認(rèn)為在知識(shí)儲(chǔ)備階段更應(yīng)該做的是統(tǒng)籌的去認(rèn)識(shí)和學(xué)習(xí)Kubernetes,而不是對(duì)照著Curriculum Overview列舉的知識(shí)點(diǎn)去針對(duì)性學(xué)習(xí)。在CKA以及CKAD這種上機(jī)操作類(lèi)考試中,只是點(diǎn)狀而沒(méi)有形成面狀的知識(shí)體系無(wú)疑是不可靠的。
在此我推薦兩份個(gè)人認(rèn)為非常優(yōu)秀的學(xué)習(xí)Kubernetes知識(shí)的資料,一本書(shū)與一個(gè)博客。
《Kubernetes權(quán)威指南:從Docker到Kubernetes實(shí)踐全接觸》一書(shū)。
Kubernetes指南(博客地址),可下載電子版的pdf。
兩份指南學(xué)習(xí)時(shí)應(yīng)側(cè)重于Kubernetes自身框架以及概念的學(xué)習(xí),部分非Kubernetes核心概念的知識(shí)點(diǎn)可粗略學(xué)習(xí),例如《Kubernetes權(quán)威指南》中有關(guān)Kubernetes開(kāi)發(fā)與Kubernetes源碼的學(xué)習(xí),在此可不作為重點(diǎn)。
在此階段可通過(guò)Kubeadm等K8S搭建工具快速搭建一個(gè)K8S環(huán)境來(lái)熟悉和認(rèn)識(shí)Kubernetes相關(guān)概念以及知識(shí)點(diǎn)。
動(dòng)手操作階段
在有一定的知識(shí)儲(chǔ)備后,這一階段是準(zhǔn)備考試的重中之重——操作練習(xí)。
首先練習(xí)手動(dòng)部署一套Kubernetes環(huán)境。不借助任何K8S的快速安裝工具,通過(guò)手工部署K8S,能夠更好的理解和熟悉K8S的各個(gè)組件和整體架構(gòu)。
下面推薦一個(gè)手動(dòng)部署教程:
和我一步步部署 kubernetes 集群(博客地址)。
這個(gè)教程非常的細(xì)致,詳細(xì)的介紹了部署K8S各個(gè)組件的每一個(gè)環(huán)節(jié),包括安全證書(shū)生成與配置等,這些知識(shí)點(diǎn)也是包含在考試大綱中的,需要我們熟知。
這個(gè)教程我建議從頭到尾多練習(xí)兩遍。
在擁有標(biāo)準(zhǔn)的Kubernetes環(huán)境后,另一個(gè)需要重點(diǎn)練習(xí)的是Kubernetes的命令行操作。由于考試時(shí)間相對(duì)緊張,使用YAML創(chuàng)建K8S資源效率很低,我們考試中需要熟練使用命令行完成一些操作。
我建議著重看一下官方文檔中有關(guān)kubectl命令的章節(jié)kubectl commands和cheatsheet,從中選取100個(gè)左右比較常用命令,專(zhuān)門(mén)抽時(shí)間背了一下,并不斷的在K8S實(shí)驗(yàn)環(huán)境中練習(xí),最終在考試前達(dá)到能默寫(xiě)和快速操作的程度,這樣的熟悉程度,會(huì)讓你在CKA和CKAD的考試中節(jié)省大量時(shí)間。我這個(gè)方法比較笨,大家如果有其他的好方法也可以嘗試,但最終都需要熟練使用K8S的命令行操作。另外,在CKA的考試中,不僅涉及到了K8S的命令行操作,對(duì)于Linux系統(tǒng)中systemctl、journalctl等操作,etcd組件命令行操作也均有涉及。
這里也著重說(shuō)一下“需不需要練習(xí)徒手寫(xiě)K8S資源的yaml文件”這個(gè)問(wèn)題,我認(rèn)為是不需要的。但是對(duì)于每種API資源的yaml文件格式及字段含義,我們必須清楚和熟悉。因?yàn)樵诳荚囘^(guò)程中,我們有官方文檔可以借鑒,例如我們需要一個(gè)pod的yaml格式,我們可以在官方文檔中尋找一個(gè)pod的yaml格式資源說(shuō)明,然后粘貼在考試環(huán)境提供的notepad文檔編輯器中進(jìn)行修改,最后再粘貼至考試環(huán)境中,以完成相關(guān)的yaml文件編寫(xiě),這樣既能節(jié)省時(shí)間,也能防止默寫(xiě)中出現(xiàn)錯(cuò)誤。
考前準(zhǔn)備階段
在K8S知識(shí)儲(chǔ)備與動(dòng)手操作都充足以后,我們開(kāi)始最后的考前準(zhǔn)備。
首先是查漏補(bǔ)缺,這時(shí)才是Curriculum Overview發(fā)揮其作用的時(shí)候,多對(duì)照提綱查漏補(bǔ)缺,保證對(duì)提綱上所有知識(shí)點(diǎn)滾瓜爛熟(除一些特別寬泛的知識(shí)點(diǎn)外)。
再者,考試中是可以查看官方文檔的,我們不需要熟悉官方文檔的大綱與結(jié)構(gòu),因?yàn)楣俜轿臋n提供搜索功能,我們只需能夠準(zhǔn)確地搜索到我們想要內(nèi)容即可。然而后期無(wú)論是熟悉知識(shí)點(diǎn)還在動(dòng)手操作時(shí),都應(yīng)該多搜索和查看官方文檔,以保障我們能夠熟練的使用和查看官方文檔。
然后準(zhǔn)備考試環(huán)境,首先說(shuō)明一下整個(gè)考試流程。整個(gè)考試流程為:在CKA考試報(bào)名或CKAD考試報(bào)名完成后,參加考試人員在約定好的考試時(shí)間登錄考試系統(tǒng),按照考官要求首先打開(kāi)攝像頭麥克風(fēng)以及共享桌面(通過(guò)Chrome瀏覽器插件),然后考官通過(guò)攝像頭首先查驗(yàn)考生身份(需準(zhǔn)備護(hù)照等證件),然后通過(guò)攝像頭查驗(yàn)考試房間情況(房間只允許有考生一人)和桌面情況(桌面不能放任何東西,包括透明的水杯等)。接下來(lái)會(huì)查驗(yàn)電腦情況,因?yàn)榇藭r(shí)已經(jīng)桌面共享,所以你電腦的情況考官是可以看到的,首先考官會(huì)要求你打開(kāi)任務(wù)管理器,確認(rèn)除瀏覽器之外的沒(méi)有其他任務(wù),再而要求Chrome瀏覽器當(dāng)前只能有一個(gè)tap頁(yè)(就是考試系統(tǒng),考試過(guò)程中可以額外打開(kāi)一個(gè)tap頁(yè)用于訪(fǎng)問(wèn)https://kubernetes.io/docs/,就是說(shuō)考試全程最多兩個(gè)tap頁(yè))。以上情況考官確認(rèn)無(wú)誤后,考試即正式開(kāi)始。
具體的有關(guān)考試及考試環(huán)境的注意事項(xiàng),可參見(jiàn)官方的Important Tips,里面基本上能解答所有疑問(wèn)。建議認(rèn)真閱讀官方的Important Tips。
對(duì)于在國(guó)內(nèi)考試,最重要的還是需要科學(xué)上網(wǎng),網(wǎng)絡(luò)質(zhì)量也一定要過(guò)關(guān)。
考試過(guò)程
整個(gè)考試過(guò)程時(shí)長(zhǎng)3個(gè)小時(shí),共24到題,分值由2%到12%不等,時(shí)間的合理分配尤其重要,對(duì)于不同分值的題目,先大概預(yù)估一下難度和所需時(shí)間,可以將性?xún)r(jià)比低的題目先往后放放。
考試環(huán)境是一個(gè)叫做Gateone的web ssh工具,打字反饋很慢,只能努力適應(yīng)。并且Ctrl+C和Ctrl+V在考試中是失效的,但是我們可以使用Ctrl+Insert來(lái)復(fù)制,使用Shift+Insert來(lái)粘貼。tmux這類(lèi)終端復(fù)用軟件是可以使用的,可以簡(jiǎn)單學(xué)一下怎么使用,但是實(shí)際考試中我?guī)缀鯖](méi)有用到。
考試結(jié)束
完成CKA或CKAD考試后,官方會(huì)在36小時(shí)之內(nèi)以郵件的形式告知你考試成績(jī),若成績(jī)達(dá)標(biāo)(CKA正確率在75%以上,CKAD在66%以上),即為認(rèn)證通過(guò),郵件會(huì)附帶CNCF基金會(huì)頒發(fā)的證書(shū)。