众所周知,Kubernetes在容器编排器大战中脱颖而出后,从2020年以来变得越发的火热。那么云原生计算基金会(CNCF)联合Linux基金会就适时的推出了皆在考察相关从业者对Kubernetes的运维和开发知识了解程度的认证考试,分别是:
Certified Kubernetes Administrator (CKA),认证K8S管理员
Certified Kubernetes Application Developer (CKAD),认证K8S应用开发人员
Certified Kubernetes Security Specialist(CKS), 认证k8s 安全专家
现在,在目标运行时环境中部署和监控他们的应用程序不再是管理员或发布管理人员的专属责任。应用程序开发人员需要看到他们的应用程序从开发到操作的全过程。像Netflix这样的公司就有这种文化,所以你作为应用程序开发者,要对设计决策和解决生产中的问题负全部责任。现在比以往任何时候都更重要的是理解Kubernetes的功能、如何正确地应用相关概念以及如何与平台交互。
CKAD考试是专门为需要在Kubernetes上设计、构建、配置和管理云本地应用程序的应用程序开发人员而设计的,作为一个在kubernetes上实施设计过多个项目后,我决定先考一下CKAD,这个证书无论是获得客户的认可还是检验一下自己的k8s知识掌握程度都是非常有帮助。CKAD考试是一个完全动手的考试,需要您在多个Kubernetes集群中解决问题。您需要理解、使用和配置与应用程序开发人员相关的Kubernetes原语。以官方说法,通过CKAD考试后,持证者即被认可能够为Kubernetes设计、构建、配置和部署云原生应用,在Kubernetes中能够定义应用程序资源,使用核心功能构建、监控和诊断可伸缩的应用程序。
最近几年都是基于k8s 开发应用程序,因此CKAD 目前是最符合我的目标的,考完CKAD 再去考CKA,CKS。
考试的要求上不难,但是要在2个小时内完成,还是非常的考验对k8s 知识的掌握程度,毫不夸张的说需要达到肌肉记忆般的熟练才能够完成66分的目标。
首先需要熟悉Kubernetes的相关知识点,我通读了一遍Kubernetes的官方文档中的概念和任务部分里面涉及开发的内容,还买了一本考试相关的书《CKA/CKAD应试指南:从Docker到Kubernetes完全攻略》,当然k8s 相关的图书还买了很多本了,这里给大家推荐几本:
kubernetes设计模式 http://dmll.cn/PXv2
深入刨析kubernetes http://dmll.cn/QXv2
CKA/CKAD应试指南:从Docker到Kubernetes完全攻略 :http://dmll.cn/dVx2
Kubernetes生产化实践之路http://dmll.cn/EWx2
Dapr学习手册 http://dmll.cn/RXv2
Github上也有很多资料供参考,可以用来做练习。
https://github.com/bmuschko/ckad-prep
https://github.com/dgkanatsios/CKAD-exercises
通过反复做上面这些练习,最终要能做到看题目,就知道如何进行操作。涉及到其中的细节,比如某个配置的具体名称是可以查文档的,这个文档也是我们考试的时候要熟练应用的,通过文档里的相关内容找到拷贝过来改改就好了,这样就能够加速我们考试的过程,这个技能一定要熟练,是通过考试的必备技能。考试的时候官方允许参考的网页有三个:
https://kubernetes.io/docs/ 及其子域
https://github.com/kubernetes/ 及其子域或https://kubernetes.io/blog/ 。
允许查看中文https://kubernetes.io/zh/docs/参考页面,同时也可以使用chrmoe自带的翻译将英文的参考文档翻译为中文;
既然可以看官方文档,那么最好把知识点涉及的文档链接预先整理好放到浏览器的收藏夹里面。我的收藏内容分享在这里:https://github.com/geffzhang/CKAD-Bookmarks
准备好考试后,就可以预约考试了,我选择的是中文考试,全程可以用中文和考官交流,这点就看自己的选择了。考试的时候网络很重要,需要找一个稳定的网络环境(最好能够直接访问外网)。需要使用Chrome浏览器或者基于Chromium内核的浏览器(比如我用的微软Chromium Edge),条件是是能够正常安装上Chrome的官方插件,我的建议是把Chrome,Edge 都配置好。
考试的过程中,只能打开两个Tab,一个是考试的控制台,一个是从官方文档中去查知识点,这里就要好好的利用平时的收藏夹内容了。
考题的形式都是动手实操题,17道题,需要在2个小时内完成。也就是说没有选择题,填空题,完全就是在命令行录入kubectl命令,在vi或者nano中编写manifest文件的内容。很难保证在2个小时里面完成所有题目,我做完了16道题,我采取的方式是先对每道题的分值进行排序,优先完成分值高的题目和操作内容少的题,把略过的题用记事本记下来,注意这里的记事本不是我们电脑上的记事本,是考试面板里面的。最后,考试环境提供了多个K8S集群,每道题开头提示了需要用那个环境。所有题目中的关键字,都会以深颜色标注,如namespace名字,pod名字等,最方便的是可以直接鼠标左键点击就是复制!
考试过程中可以和考官交流:与对方聊天全程于右下角窗口打字,对方全程监控,并下达各种指令。对方会要求我们分享摄像头,分享桌面,没事不要乱动。全中文交流(当然也可以全英文,选择英文考试就好,选择中文考试就是为了用中文交流),其他时间可以全程输入命令操作即可!