我通过 Kubernetes 应用程序开发人员认证 (CKAD) 考试的经验和技巧

我通过 Kubernetes 应用程序开发人员认证 (CKAD) 考试的经验和技巧就在最近,我成功通过了 Kubernetes 应用程序开发人员认证 (CKAD) 考试并获得了认证。 今天我想谈谈认证程序本身以及我是如何准备的。 在考官的密切监督下在线参加考试对我来说是一次有趣的经历。 这里不会有任何有价值的技术信息;本文纯粹是叙述性的。 另外,我没有太多 Kubernetes 工作背景,也没有和同事联合培训,都是在业余时间自学和训练。

我在 Web 开发领域还很年轻,但我立即意识到,如果没有 Docker 和 K8s 的基本知识,你就走不远。 参加该课程并准备此类考试似乎是进入容器及其编排世界的一个很好的切入点。

如果你仍然认为 Kubernetes 太复杂,不适合你,请关注猫。

这是什么?

云原生计算基金会 (CNCF) 提供两种类型的 Kubernetes 认证:

  • 认证 Kubernetes 应用程序开发人员 (CKAD) - 测试为 Kubernetes 设计、创建、配置和发布云原生应用程序的能力。 考试持续2小时,19个任务,通过分数66%。 需要对基本原语有非常肤浅的了解。 花费 300 美元。
  • 认证 Kubernetes 管理员 (CKA) 测试履行 Kubernetes 管理员职责的技能、知识和能力。 考试持续3小时,24个任务,通过分数74%。 需要更深入的构建和配置系统知识。 费用也是300美元。

CKAD 和 CKA 认证项目由云原生计算基金会开发,旨在通过标准化培训和认证来扩展 Kubernetes 生态系统。 该基金由 Google 与 Linux 基金会合作创建,Kubernetes 曾作为最初的技术贡献转移到该基金会,并得到了 Microsoft、Apple、Facebook、Cisco、Intel、Red Hat 等许多公司的支持 (c)维基百科

简而言之,这些都是 Kubernetes 上“主组织”的考试。 当然,还有其他公司的认证。

Зачем?

这可能是整个想法中最具争议的一点。 我不想开始谈论是否需要证书,我只是想相信这种证书的存在会对我在劳动力市场上的价值产生积极的影响。 一切都是主观的——你永远不知道雇用你的决定的转折点到底是什么。

PS:我不是在找工作,现在我对一切都很满意......好吧,除了可能搬到美国某个地方

训练

CKAD测试共有19道题,分为以下主题:

  • 13% – 核心概念
  • 18% – 配置
  • 10% – 多容器 Pod
  • 18% – 可观察性
  • 20% – 吊舱设计
  • 13% – 服务和网络
  • 8% – 状态持久性

在 Udemy 平台上,有一个来自印度人 Mumshad Mannambeth 的精彩课程(链接位于文章末尾)。 确实非常高品质的材料,价格低廉。 特别酷的是,随着课程的进展,您将被要求在测试环境中进行实际练习,因此您将培养在控制台中工作的技能。

我学完了整个课程,完成了所有的实践练习(当然,也不是没有看答案),在考试前,我以更快的速度重新观看了所有讲座,并重新参加了最后两次模拟考试。 我平静地花了大约一个月的时间。 这些材料足以让我自信地以 91% 的成绩通过考试。 我在一项任务中的某个地方犯了一个错误(NodePort 不起作用),尽管我知道解决方案,但几分钟时间不足以完成另一项从文件连接 ConfigMap 的任务。

考试怎么样

考试在浏览器中进行,网络摄像头打开并共享屏幕。 考试规则要求考场内不得有陌生人。 我参加考试的时候,国家已经实行了自我隔离制度,所以对我来说,找一段安静的时间很重要,这样我的妻子就不会进入房间,否则孩子就会尖叫。 我选择在深夜,因为时间可以满足各种口味。

一开始,审查员要求您出示包含照片和全名(拉丁文)的主要身份证件 - 对我来说这是一本外国护照,并在桌面和房间上部署网络摄像头以确保没有异物。

在考试期间,允许使用以下资源之一打开另一个浏览器选项卡:​https://kubernetes.io/docs/https://github.com/kubernetes/或者 https://kubernetes.io/blog/​。 我有这个文档,这已经足够了。

在主窗口中,除了任务文本、终端和与考官的聊天之外,还有一个注释窗口,您可以在其中复制一些重要的名称或命令 - 这曾多次派上用场。

Советы

  1. 使用别名可以节省时间。 这是我使用的:
    export ns=default # переменная для нэймспейса
    alias ku='kubectl' # укорачиваем основную команду
    alias kun='ku -n=$ns' # kubectl + namespace
    alias kudr='kun --dry-run -o=yaml' # очень нужные флаги, чтобы генерить yaml описание для объекта
  2. 记住命令的标志组合 运行快速生成不同对象的yaml - pod/deploy/job/cronjob(虽然完全没有必要记住它们,你可以只看带有标志的帮助 -h):
    kudr run pod1 --image=nginx --restart=Never > pod1.yaml
    kudr run deploy1 --image=nginx > deploy1.yaml
    kudr run job1 --image=nginx --restart=OnFailure > job1.yaml
    kudr run cronjob1 --image=nginx --restart=OnFailure --schedule="*/1 * * * * " > cronjob1.yaml
  3. 使用缩短的资源名称:
    ku get ns # вместо namespaces
    ku get deploy # вместо deployments
    ku get pv # вместо persistentvolumes
    ku get pvc # вместо persistentvolumeclaims
    ku get svc # вместо services
    # и т.д., полный список можно подсмотреть по команде: 
    kubectl api-resources
  4. 合理分配时间完成所有任务,不要卡在一件事情上,跳过问题继续前进。 起初我以为我会以很快的速度完成作业,早点完成考试,但最终我没有时间完成两份作业。 事实上,考试时间是连续分配的,2个小时都是在紧张中度过的。
  5. 不要忘记切换上下文 - 在每个任务开始时,都会给出一个切换命令,以便在所需的集群中工作。
    还要注意名称空间。 为此我使用了另一个技巧:

    alias kun='echo namespace=$ns && ku -n=$ns' # при выполнении каждой команды первой строкой у меня выводился текущий нэймспейс
  6. 不要急于支付认证费用,等待折扣。 该课程的作者经常通过电子邮件发送具有 20-30% 折扣的促销代码。
  7. 终于学会vim了:)

参考文献:

  1. www.cncf.io/certification/ckad — 认证页面本身
  2. www.udemy.com/course/certified-kubernetes-application-developer — 非常好的准备课程,一切都很清晰并且配有插图
  3. github.com/lucassa/CKAD-resources — 有关考试的有用链接和注释
  4. habr.com/ru/company/flant/blog/425683 — Habr 同事讲述的关于通过更难的 CKA 考试的故事

来源: habr.com

添加评论