在准备 CNCF 的 CKAD 或 CKA 认证时,会有很多疑问,首先出现哪个考试,参考哪些资源,避免哪些常见错误等。尤其是如果您没有以前的知识或新手- 根据 Kubernetes 的经验,这可能是一个艰难的处境。InfraCloud 强烈鼓励工程师参加这些考试并获得认证。这篇博文是最近获得认证的 Infranauts 的合作成果,旨在直接分享所有见解 - 在注册考试之前到成功通过考试后的后续步骤。
大约 50% 的开发人员获得了 CKA 和 CKAD 认证,我们分享我们的经验、学习材料、该做和不该做的事情、常见问题解答等。如果您愿意开始您的 Kubernetes 之旅并希望获得认证,您会发现此博客很有帮助。
那我们开始吧?
CKA VS CKAD 认证!我应该先拿哪一个?
第一件事!在考虑 CKA 或 CKAD 之前,了解 Kubernetes 基础知识至关重要。如果您是一个完全的新手并且不知道 Kubernetes 到底是什么?强烈建议您在预订考试日期之前先熟悉 Kubernetes 的基本概念。
如果您正在开始进入云原生和 Kubernetes 世界的旅程,您可以选择https://kodekloud.com/p/kubernetes-for-the-absolute-beginners-hands-on
课程,让自己熟悉 Kubernetes 的基础知识。
尽管人们可能仍然对应该先参加哪项考试感到困惑——CKA 还是 CKAD?CKA 比 CKAD 难吗?两种考试的考试课程和难度级别的确切区别是什么?为简单起见,您可以这样看:
CKAD 适合那些对使用 Kubernetes 设计、构建和配置云原生应用程序感兴趣的人。
而 CKA 考试主要面向那些想要构建、管理 Kubernetes 基础设施的人。
我们中的一些人开始在互联网上深入挖掘,最终发现 CKAD 大致上是 CKA 的一个子集。一些 Infranauts 决定先为 CKAD 做准备,然后再为 CKA 做准备,因为他们最终的目标是获得有关 Kubernetes 的所有可能的知识。最终证明这是一个正确的决定,因为 CKAD 还帮助他们提高了 Kubernetes 命令的速度和肌肉记忆,这对两门考试都至关重要。这对他们在 CKA 考试中帮助很大,因为我们中的大多数人设法完成了几乎所有的问题,还剩下 20-30 分钟的时间来解决仅有的几个被标记并跳过以备后用的复杂问题。
学习资料
许多 Infranauts 都参加了 Udemy 上提供的 Mumshad Mannambeth 的 CKAD 课程https://www.udemy.com/course/certified-kubernetes-application-developer/
。在通过该课程通过 CKAD 之后,我们中的一些人还选择了他的另一个 CKA 课程以获得 CKA 认证https://www.udemy.com/course/certified-kubernetes-administrator-with-practice-tests/
。参加这些课程的主要原因是它从社区获得的推荐数量。很少有获得认证的 Infranauts 也在 YouTube 上看过他的一些视频,并且总是觉得很容易理解。所以强烈建议任何计划获得 CKA / CKAD 认证的人学习这些课程。
正如您可能猜到的,这不是市场上唯一的课程 - 有很多课程。学习材料以其他格式提供,如博客、GitHub 存储库、包含不同基于场景的练习问题/答案的 YouTube 视频。你可以在你自己会喜欢选择这样一个我们中的一些从遵循中的 CKAD 考试。您还应该在 YouTube 上查看 Harshit Singhvi 关于考试经验和技巧的视频https://www.youtube.com/watch?v=FZ3VQC-aRmI
。
归根结底,最重要的是你花多少时间练习不同的场景。我们怎么强调做实验的重要性都不为过。无论您参加什么课程,他们都有实验室和模拟测试。不要跳过其中任何一个。课程和实验都非常重要。
要避免的错误
不要被迫在提前六个月注册考试日期然后开始实际学习。如果您在临近考试日期时还没有做好充分的准备,您可能会感到紧张,并会推迟考试以进行更多的学习。这个循环永远不会结束。
即使你开始晚了,也要保持正确的学习节凑。学习一天,然后再跳两天。不要那样做。保持一致并遵守时间表。
不要跳过实验室。人们可能会认为一次完成所有讲座然后回到实验室会很好。不,这不是个好主意!
完成课程是一回事。但是在参加模拟考试之前,您不会知道自己理解了多少。所以不要避免服用它们,直到你剩下最后 3-4 天的时间来学习。
不要一直推迟到您的特定考试券有效期的最后一天。如果您将其推迟到凭证的最后一天,并且如果您在第一次尝试时无法通过考试,您将没有重考选项。因此,请至少在最后日期前一周准备、练习并参加考试。
CKA 和 CKAD 认证的注意事项
最明显的效果就是一次练习,练习多练习。
养成听课和做实验的习惯。
如果可能,请先完成课程,当您认为自己已准备好参加考试时,请继续申请认证。这给你完成课程后的一年。有足够的时间来测试你的技能。
KodeKloud CKA 和 CKAD 小组在 Slack 论坛中的讨论也帮助我们在准备过程中发挥和尝试了不同种类的问题/场景。所以,密切关注它。另外,如有任何疑问,请随时从论坛寻求建议。
用完整的命令练习,而不是 alias 像所有东西都绑定一个 for。
在每次模拟测试中,尽量在截止日期前 15 分钟完成测试。这让你有时间重新审视这些问题。
在练习时监控你的时间。
重复进行实验室和模拟测试(至少 3 次)。确定是什么让你放慢了速度并做出相应的计划。
在考试当天,请确保清洁您的办公桌,不要有任何东西(透明水瓶除外)。
在考试当天,随身携带备用互联网资源,以防 Wi-Fi 互联网出现故障(相信我,它发生的比你想象的要多)
在考试中,如果您分析任何特定问题将需要超过 6-7 分钟的时间来解决,请标记/标记以供稍后解决,并在您解决其余问题后回来。
不要忽视说明手册,阅读它并按照说明进行操作。
最后的提示和技巧
考试集群 kubeadm 主要在 Ubuntu 环境中设置。
请查看 CKA 和 CKAD 环境详细信息并进行相应的练习。
尝试在运行 Kubernetes 命令时使用自动完成功能。这将在考试中更有帮助和有效。
以下是设置自动完成的方法:
$ alias k='kubectl'$ source <(kubectl completion bash)
$ echo "source <(kubectl completion bash)" >> ~/.bashrc$ complete -F __start_kubectl k
上述命令可以在 kubectl 备忘单
https://kubernetes.io/docs/reference/kubectl/cheatsheet/
中找到。而且,是的,您可以使用它们(我们中的一些人自己使用过它们),正如文档中列出的那样。在做实验时,您必须搜索文档。特别是对于 PV、PVC、Ingress、RBAC 资源等资源。
这会训练您的大脑记住正确的链接,以防您在考试期间需要参考文档。节省大量时间。
如果您在准备期间有时间,请同时参加 CKA 和 CKAD 课程。这肯定会有所帮助。
熟悉 vi 或 vim。我们不确定是否 nano 可用,所以更喜欢 vi 或 vim。GNU Emacs 是可用的,但是像 C-p, 之类的常用键绑定 C-n 在大多数浏览器中不起作用。
你不需要 tmux 或者 screen,如果您在保存了别名或其他有用的设置~/.bashrc。
习惯使用鼠标中键/中心键粘贴文本,鼠标辅助键在考试环境下不起作用。
有用的命令
以下是您在练习或考试期间肯定需要的一个非详尽的命令列表:
# get the route details
$ ip r# check service status and also show logs
$ systemctl status kubelet# restart a service
$ systemctl restart kubelet# reload the service daemon, if you changed the service file
$ systemctl daemon reload# detailed logs of the service
$ journalctl -u kubelet# list out ports, protocol and what processes are listening on those ports
$ netstat -tunlp
如何预订 CKA 和 CKAD 考试?
您可以从 Linux Foundation 页面预订考试。https://training.linuxfoundation.org/full-catalog/?_sft_product_type=certification
考试经历
CKAD 考试经历
在考试当天,尝试在考试前 15 分钟登录。Proctor 将确保按照他们的流程检查您的身份证明以及房间和办公桌。整个过程通常需要 15-20 分钟或更长时间,但不要惊慌,因为监考人员只会在所有验证过程完成并且您可以轻松开始考试后才开始考试。CKAD 考试题目相对来说比较简单,但是这将是一场与时间的赛跑,因为有些题目会包含许多 Kubernetes 对象的创建,如果你没有创建任何对象,将需要更多的时间来调试和理解它们。
CKA 考试经历
对我们中的一些人来说,考试经历有点像过山车,因为我们在考试期间几乎失去了 4-5 次互联网连接。每次连接重置后,我们都会通过检查之前解决的一些问题的答案来确保之前的答案不会丢失。Proctor 通常会确保举行您的考试(以避免时间损失)并停止计时器并在您的连接恢复后恢复它。但是这整个经历会让你在考试期间和考试后感到紧张(噩梦可能会失去所有工作,导致失败)。我们中很少有人练习得足够多,所以我们能够在 1.5 小时内解决 17 个问题中的 14-15 个问题,并在剩下的近 30 分钟内尝试解决我们最初认为具有挑战性并已标记(和停车)稍后解决的问题。
CKA 和 CKAD 认证的常见问题
在准备过程中我们想到的一些问题(除了 Linux 基金会官方 FAQ 页面上的问题)。
我可以在考试中使用双显示器吗?
是的,我们可以使用双显示器
我可以在考试期间链接和使用书签吗?
是的,我们可以使用它们,只要它们指的是考试允许的官方 Kubernetes 文档
考试后什么时候出结果?
结果通常会在您检查的确切 24 小时后出炉,但在某些情况下可能会延迟到 36 小时。
如果互联网连接丢失,我们的工作是否仍然保存?
是的,您的工作会经常自动保存。
谁来评估 CKA / CKAD / CKS 考试?人还是机器人?
自动化脚本很可能会评估它们。
如果我在第一次尝试中失败了,我应该为什么做更多的准备?
专注于解决您在第一次尝试中发现困难的所有问题和场景以及您在考试中第一次发现的问题。
如果在考试期间遇到任何挑战,该联系谁?
您可以为此提出支持要求。
预约 CKA 和 CKAD 考试的最佳时间是什么时候?
一旦您能够在 40-45 分钟内完成所有实验和模拟测试,就可以认为您已准备好参加考试。您还可以使用 Linux Foundation 在 KubeCon 活动和黑色星期五或网络星期一特卖期间提供的折扣(最高 50%)来预订它们。
考试时间是多久?
开始考试后,CKA 和 CKAD 考试均为 2 小时(不包括开始考试前与监考人员进行身份验证所需的时间)。
CKAD 或 CKA 考试包含多少道题?
CKA 和 CKAD 都包含 17-19 个问题(大约)。
考试中任何问题的最小或最大权重是多少?
根据解决问题所需的时间,问题的权重从 2% 到 13% 不等。
考试控制台上有数字手表吗?
是的,考试控制台左上角有一个进度条。
我们是否需要在考试期间更流利地使用 jsonpath 语法而无需任何外部网站参考?
您可以练习/专注于作为备忘单的一部分捕获的 JSON 表达式,但不要花太多时间从考试的角度来掌握 JSON 表达式。
试题和 killer.sh
https://killer.sh/
模拟器上的试题一样难吗?就个人而言,我们中的许多人都认为实际考试比 Killer.sh 模拟器容易一些。
有用材料的参考链接:
书签
将 Kubernetes 官方文档书签导入您的 Chrome/任何浏览器,因为它将帮助您在考试期间更快地搜索所需的主题。
https://github.com/reetasingh/CKAD-Bookmarks
考前推荐文章:
在考试前至少阅读一次以下文章,因为它们包含一些从 CKA 考试角度来看的棘手主题。
调整 PVC 的大小
https://www.runlevl4.com/kubernetes/patching-kubernetes-resources
Kubernetes 卷基础知识:emptyDir 和 PersistentVolume
https://www.alibabacloud.com/blog/kubernetes-volume-basics-emptydir-and-persistentvolume_594834
边车模式
https://medium.com/bb-tutorials-and-thoughts/kubernetes-learn-sidecar-container-pattern-6d8c21f873d
ingress
https://matthewpalmer.net/kubernetes-app-developer/articles/kubernetes-ingress-guide-nginx-example.html
网络策略
https://reuvenharrison.medium.com/an-introduction-to-kubernetes-network-policies-for-security-people-ba92dd4c809d
练习材料
CKAD 练习 Repo
https://github.com/dgkanatsios/CKAD-exercises
K8s 实践训练库
https://github.com/StenlyTU/K8s-training-official
Killer.sh
https://killer.sh/
结论
虽然 Kubernetes 考试比较难,但这些是实践考试,无论您以前是否有过 Kubernetes 的经验,只要你练习得足够多,注意以上几点,你就可以轻松通过。
推荐
A Big Picture of Kubernetes
深入探究 K8S ConfigMap 和 Secret