在准备 CNCF 的 CKAD 或 CKA 认证时,会有很多疑问,首先出现哪个考试,参考哪些资源,避免哪些常见错误等。尤其是如果您没有以前的知识或新手- 根据 Kubernetes 的经验,这可能是一个艰难的处境。InfraCloud 强烈鼓励工程师参加这些考试并获得认证。这篇博文是最近获得认证的 Infranauts 的合作成果,旨在直接分享所有见解 - 在注册考试之前到成功通过考试后的后续步骤。
大约 50% 的开发人员获得了 CKA 和 CKAD 认证,我们分享我们的经验、学习材料、该做和不该做的事情、常见问题解答等。如果您愿意开始您的 Kubernetes 之旅并希望获得认证,您会发现此博客很有帮助。
那我们开始吧?
第一件事!在考虑 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
。
归根结底,最重要的是你花多少时间练习不同的场景。我们怎么强调做实验的重要性都不为过。无论您参加什么课程,他们都有实验室和模拟测试。不要跳过其中任何一个。课程和实验都非常重要。
$ alias k='kubectl'
$ source <(kubectl completion bash)
$ echo "source <(kubectl completion bash)" >> ~/.bashrc
$ complete -F __start_kubectl k
https://kubernetes.io/docs/reference/kubectl/cheatsheet/
中找到。而且,是的,您可以使用它们(我们中的一些人自己使用过它们),正如文档中列出的那样。以下是您在练习或考试期间肯定需要的一个非详尽的命令列表:
# 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
您可以从 Linux Foundation 页面预订考试。https://training.linuxfoundation.org/full-catalog/?_sft_product_type=certification
在考试当天,尝试在考试前 15 分钟登录。Proctor 将确保按照他们的流程检查您的身份证明以及房间和办公桌。整个过程通常需要 15-20 分钟或更长时间,但不要惊慌,因为监考人员只会在所有验证过程完成并且您可以轻松开始考试后才开始考试。CKAD 考试题目相对来说比较简单,但是这将是一场与时间的赛跑,因为有些题目会包含许多 Kubernetes 对象的创建,如果你没有创建任何对象,将需要更多的时间来调试和理解它们。
对我们中的一些人来说,考试经历有点像过山车,因为我们在考试期间几乎失去了 4-5 次互联网连接。每次连接重置后,我们都会通过检查之前解决的一些问题的答案来确保之前的答案不会丢失。Proctor 通常会确保举行您的考试(以避免时间损失)并停止计时器并在您的连接恢复后恢复它。但是这整个经历会让你在考试期间和考试后感到紧张(噩梦可能会失去所有工作,导致失败)。我们中很少有人练习得足够多,所以我们能够在 1.5 小时内解决 17 个问题中的 14-15 个问题,并在剩下的近 30 分钟内尝试解决我们最初认为具有挑战性并已标记(和停车)稍后解决的问题。
在准备过程中我们想到的一些问题(除了 Linux 基金会官方 FAQ 页面上的问题)。
https://killer.sh/
模拟器上的试题一样难吗?
就个人而言,我们中的许多人都认为实际考试比 Killer.sh 模拟器容易一些。将 Kubernetes 官方文档书签导入您的 Chrome/任何浏览器,因为它将帮助您在考试期间更快地搜索所需的主题。
https://github.com/reetasingh/CKAD-Bookmarks
在考试前至少阅读一次以下文章,因为它们包含一些从 CKA 考试角度来看的棘手主题。
https://www.runlevl4.com/kubernetes/patching-kubernetes-resources
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
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
https://github.com/dgkanatsios/CKAD-exercises
https://github.com/StenlyTU/K8s-training-official
https://killer.sh/
虽然 Kubernetes 考试比较难,但这些是实践考试,无论您以前是否有过 Kubernetes 的经验,只要你练习得足够多,注意以上几点,你就可以轻松通过。