题记:笔者最近经过3个多月的空余时间准备,终于通过了K8S开发认证(CKAD)的考试,在这里简单给大家分享一下经验。
一,先科普下CKAD
众所周知,Kubernetes在容器编排器大战中脱颖而出后,过去1,2年变得越发的火热。那么云原生计算基金会(CNCF)联合Linux基金会就适时的推出了皆在考察相关从业者对Kubernetes的运维和开发知识了解程度的认证考试,分别是:
- Certified Kubernetes Administrator (CKA),认证K8S管理员
- Certified Kubernetes Application Developer (CKAD),认证K8S应用开发人员
以官方说法,通过CKAD考试后,持证者即被认可能够为Kubernetes设计、构建、配置和部署云原生应用,在Kubernetes中能够定义应用程序资源,使用核心功能构建、监控和诊断可伸缩的应用程序。
考试内容涵盖如下知识点:
- 13% – Core Concepts,核心概念
- 18% – Configuration,配置
- 10% – Multi-Container Pods,多容器Pod
- 18% – Observability,观察
- 20% – Pod Design,Pod设计
- 13% – Services & Networking,服务与网络
- 8% – State Persistence,状态持久
考试费是300刀,不算便宜,不过对于微软的技术岗FTE,是可以申请代金券免费考试的。其他公司是否有此福利,我不知道。
二、如何准备
当然首先需要熟悉Kubernetes的相关知识点,我通读了一遍Kubernetes的官方文档中的概念和任务部分里面涉及开发的内容,另外也通读了Kubernetes指南(https://kubernetes.feisky.xyz/)的内容。
等对知识点有了充足的了解后,可以参考GitHub上的一些资源来做练习。比如我用到了如下资源:
通过反复做上面这些练习,最终要能做到看题目,就知道如何进行操作。当然某些细节,比如某个配置的具体名称是可以查文档的(没错,考试的时候可以看官方文档)。
既然可以看官方文档,那么最好把知识点涉及的文档链接预先整理好放到浏览器的收藏夹里面。我的收藏内容分享在这里:https://zyg.blob.core.windows.net/share/favorites_k8s.html
三、考试过程
考试只能在线考,所以需要找一个相对独立的空间(比如公司的小会议室),需要清空桌面上的杂物。需要共享摄像头,共享桌面给远程的考官,他/她会一直观看和监督。
网络很重要,需要找一个稳定的网络环境(最好能够直接访问外网)。我第一次参加考试,在酒店里面,结果因为网络问题只能延后。最终我是在公司的会议室完成考试。
需要使用Chrome浏览器或者基于Chromium内核的浏览器(比如我用的微软Chromium Edge),条件是是能够正常安装上Chrome的官方插件。
考试的时候,只能打开两个Tab,一个是考试的控制台,一个是官方文档的网址。
考题的形式都是动手操作题,19道题,需要在2个小时内完成。所谓动手操作题,就是在命令行录入kubectl命令,在vi或者nano中编写manifest文件的内容。由于这样变态的考试方式,那么时间就是关键。很难保证在2个小时里面完成所有题目,我采取的方式是先对每道题的分值进行排序,优先完成分值高的题目。遇到6分钟没有完成的题目也暂时跳过。另外,不要额外去做题目要求以外的操作,比如要求你创建一个pod,就无需最后去运行一下get pod来验证。最后,考试环境提供了多个K8S集群,每道题开头提示了需要用那个环境。
最最后的一点考试心得就是:考试的时候,我穿了一件品牌为Dockers的外套护体。
===
希望以上的分享能够帮助到准备去拿CKAD认证的朋友。由于CKA我没有去考,不知道具体情况,应该也是2个小时做动手题吧。
证书的样子如下图: