验证您设计、构建和部署 Kubernetes 原生应用程序的能力。适合云原生开发者。
开发者版 CKA — 2 小时真集群实操,逼你把 Pod / Deployment / Service / ConfigMap 从 YAML 肌肉记忆到生产直觉。
Unlock all certifications, courses & tools at a fraction of the cost
This page is structured for quick scanning first: exam format, fit, prep time, and the actual study scope.
Certified Kubernetes Application Developer(CKAD)由 CNCF 和 Linux Foundation 在 2018 年 3 月推出,是 CKA 之后的第二张 Kubernetes 官方认证,专门面向往 k8s 上部署应用的开发者,而不是管理集群本身的运维 / SRE。截至 2026 年初全球持证人数约 3.5 万,比 CKA 略少,但增速更快 — 因为越来越多后端和全栈工程师绕不开 k8s 这层。
跟 CKA 一样,CKAD 没有任何选择题。考试时长 2 小时,15-20 道实操任务,PSI 远程监考 + 浏览器终端,你会拿到若干个真实 Kubernetes 集群,通过 kubectl config use-context 切换到指定集群解题。题目长这样:"在 namespace frontend 里创建一个 Deployment,镜像为 nginx:1.25,副本数 3,加一个 readiness probe 检查 /healthz 端口 8080"、"创建一个 ConfigMap 从文件挂载到 Pod 的 /etc/config 目录,并验证内容"。不熟 kubectl、不会手写 YAML 最小骨架、不会看 kubectl describe 排错 — 就是裸考 0 分。
满分 100,66 分通过。考试费 395 USD,包含一次免费补考(Free Retake)和两次 killer.sh 模拟器访问。有效期在 2024 年从 3 年缩短到 2 年(CNCF 官方通告,所有新考试和续证适用),重考或参加 LFD 系列培训可延长。考纲 2024 年大改后当前权重是:Application Design & Build 20%、Application Deployment 20%、Application Observability & Maintenance 15%、Application Environment / Configuration / Security 25%、Services & Networking 20%。相比 CKA,几乎没有 etcd 备份、kubeadm 升级、证书 renew 这类集群运维题;取而代之的是 multi-container Pod(sidecar / init container)、Helm、Kustomize、SecurityContext、NetworkPolicy(从开发者视角)、Ingress 路由配置等"开发者每天真的会写的东西"。
这张证最大的价值也跟 CKA 一样:它强迫你把 kubectl 和 kubernetes.io/docs 练到肌肉记忆。考完之后改一个 Deployment 的环境变量不再需要翻文档,写 Job / CronJob / multi-container Pod 的 YAML 脑子里有直接模板,调试 ImagePullBackOff 和 CrashLoopBackOff 的反射动作是 kubectl describe pod → kubectl logs --previous → kubectl exec -it。这套手感在后端 / 平台 / SRE 岗位面试时非常值钱。
Salary ranges, target job titles, and the real career impact of holding CKAD.
CKAD 和 CKA 的真实分工
市场上 CKA 更有名,但从发证数量和 JD 出现频率看,CKAD 对应用开发者更对口。Linux Foundation 2025 年官方调研数据显示:持有 CKAD 的人中 72% 是应用开发或全栈背景,只有 18% 是纯运维;而 CKA 的比例正好反过来。用一句话区分:CKA 考的是"如何修一个坏掉的集群",CKAD 考的是"如何把一个应用正确部署到一个健康的集群"。
CKAD 在不同岗位的实际权重
不适合考 CKAD 的人
CKAD vs CKA 先考哪个
开发者强烈建议先 CKAD 再 CKA。原因:CKAD 的知识面是 CKA 的子集(应用视角那部分),先 CKAD 能建立起对 Pod / Deployment / Service / Volume 的扎实理解,再上 CKA 学 etcd / kubeadm / 证书这些集群运维内容会更顺。反过来先 CKA 再 CKAD 的人常反映"CKAD 题目更琐碎、时间更紧",因为 CKAD 的题量和 CKA 差不多,但单题给的时间更少。
长期价值
2024 年有效期从 3 年改成 2 年这件事让很多人不爽 — 但换个角度看:k8s 生态 2 年就大变一次(Gateway API、sidecar 原生支持、Kubernetes v1.30+ 的 InPlace Pod Vertical Scaling 等都在这两年进入考纲),维持证书的过程本身就是被迫跟进生态的过程。即使过期了,"CKAD 持有过"依然是面试里的强信号。
A concrete week-by-week plan from past test-takers — not generic advice.
在碰 k8s 之前先确认基本功:能不能自己写 Dockerfile 构建镜像、用 docker run 跑起来、懂 volume 挂载和 env 注入?vim 编辑 YAML 会不会缩进出错(CKAD 最致命的坑)?会不会用 curl / wget 从命令行测试 HTTP 服务?任何一项答不上来,先补这一项 — CKAD 考场上没时间现学。
本地跑一个 k8s 环境:minikube、kind、k3d 都行(CKAD 不考集群搭建,所以 minikube 够用,但推荐 kind 因为启动快)。立刻配好四件套:`alias k=kubectl`、`export do="--dry-run=client -o yaml"`、`export now="--grace-period=0 --force"`、kubectl bash 自动补全。每天用 `k run` / `k create deploy` / `k expose` / `k create configmap` 等 imperative 命令生成 YAML 再改,严禁从零手写 — 这是 CKAD 最核心的生存技能。
按考纲占比刷题。**Configuration & Security 25%**:ConfigMap、Secret(env / volume 两种注入方式必须都熟)、SecurityContext(runAsUser / fsGroup)、ServiceAccount、Resource requests/limits。**Design & Build 20%**:multi-container Pod(sidecar / init container)、Job、CronJob、自定义镜像、label / selector。**Deployment 20%**:Deployment rolling update / rollback、Helm 基础(install / upgrade / list)、Kustomize 基础、蓝绿 / 金丝雀。**Services & Networking 20%**:Service 四种类型的差异(ClusterIP / NodePort / LoadBalancer / ExternalName)、Ingress 路径路由、NetworkPolicy(应用视角的 ingress/egress 规则)。**Observability & Maintenance 15%**:liveness / readiness / startup probe、`kubectl logs` / `describe` / `exec` / `top` 排错、Pod 生命周期事件。每个场景必须自己手敲,不能只看视频。
考试允许访问 kubernetes.io/docs、kubernetes.io/blog、github.com/kubernetes 三个域名 + helm.sh/docs + kustomize.io。但 2 小时根本没时间慢慢翻 — 你必须提前练到"看题立刻知道去哪个页面 Ctrl+F 什么关键词"。强烈建议提前收藏:Concepts/Configuration(ConfigMap、Secret、Resource)、Tasks/Configure-Pod-Container(SecurityContext、init container)、Concepts/Workloads/Pods(sidecar、lifecycle hook)、Concepts/Services-Networking(NetworkPolicy YAML 范例页面)。
killer.sh 是买考试自带的官方模拟器(2 次访问,36 小时 session),难度比真考难大约 2 倍,做完之后真考会觉得很轻松。第一次裸做不要看答案,目标至少完成 60% 题目;间隔 3-5 天后再做第二次,目标 80%+。同步做 2-3 套 KodeKloud 或 Mumshad Mannambeth Udemy CKAD mock lab。**最关键的训练:严格 2 小时计时,模拟真实考试的时间压力** — CKAD 挂的人里大多数不是不会做,而是没做完。
What it actually took for real candidates to pass — prep time, scores, and lessons learned.
我之前 Spring Boot 写了 5 年,公司从 ECS 迁到 EKS 之后被逼着上手 k8s。备考最大的收获是搞清楚了 Service 四种类型的真实使用场景 — 之前我一直以为 ClusterIP 和 NodePort 随便用哪个都行。真考时候有一道题是"Pod 要能被集群外访问但不暴露到公网",我当场反应过来是 NodePort + 集群内部防火墙,而不是 LoadBalancer。这种场景题靠背题真背不出来。
我是典型的 startup 全栈 — 前端 React、后端 Node、运维就是自己写 Dockerfile 推 ECR 部到 k8s。考前最大的焦虑是 NetworkPolicy 和 SecurityContext 完全没用过。killer.sh 第一次只做完 10 题,直接懵了。后来每天用 kind 在本地跑集群练 ConfigMap + Secret + volume 挂载这条链,练到 YAML 结构闭眼能写。真考 74 刚过,主要是两道 Helm 题上花了太多时间,时间管理依然是最大的坑。
我是零 k8s 基础入行的,公司要求 6 个月内拿 CKAD。前 6 周全部花在基础:Docker、Linux 网络、vim 操作(重点!考场上 vim 不熟等于送分)。后 4 周才真正开始刷题。教训:不要跳过 imperative 命令训练,`kubectl create deploy --image --dry-run=client -o yaml` 这种命令我前期嫌麻烦直接手写 YAML,后来发现考试根本没时间手写,只能硬逼自己改习惯。还有一个细节:考试的 terminal copy/paste 是 Ctrl+Shift+C/V,不是 Ctrl+C/V,我花了 10 秒才反应过来。
先考 CKAD 再考 CKA 是对的选择。CKAD 让我把 Deployment / Service / ConfigMap / Probe 这套应用视角彻底搞熟,再看 CKA 的 etcd / kubeadm / RBAC 就很顺。反过来我见过有人先 CKA 再 CKAD,抱怨 CKAD 时间不够 — 因为 CKAD 题更碎、单题给的时间比 CKA 少,必须靠 imperative 命令和 vim 熟练度抢时间。
| CKAD | CKA | AWS Developer | |
|---|---|---|---|
| Provider | CNCF | CNCF | AWS |
| Level | 专业级 | 助理级 | 助理级 |
| Fee | $395 | $395 | $150 |
| Duration | 120 min | 120 min | 130 min |
| Question count | 16 | 17 | 65 |
| Validity | 3 yrs | 3 yrs | 3 yrs |
**进考试第一件事:四件套 alias** — 立刻执行 `alias k=kubectl && complete -F __start_kubectl k && export do="--dry-run=client -o yaml" && export now="--grace-period=0 --force"`。这四行下来整场至少省 15 分钟。
**扫题 → 标记分值 → 先做简单高分题** — 每题右上角显示分值(4-13 分)。4-7 分的基础题先全部扫一遍做掉,13 分的 multi-container / Helm / NetworkPolicy 复杂题留到最后。单题卡超过 8 分钟立刻跳走。
**所有 YAML 都用 `--dry-run=client -o yaml` 生成骨架** — 不要手写。`k run`、`k create deploy`、`k create cm`、`k create secret`、`k create job`、`k create cronjob`、`k expose` 都支持 dry-run 输出。这是 CKAD 最核心的时间节省技巧。
**vim 必须 `:set paste :set number`** — paste 模式防止粘贴 YAML 时自动缩进错乱,行号方便定位报错行。考前在 `~/.vimrc` 里写好。
**创建完资源立刻验证** — 创建完 Deployment 必须 `k get pod -o wide` 看 Running,创建完 Service 必须 `k get ep` 看 Endpoints 非空,创建完 ConfigMap 挂载必须 `k exec -it pod -- cat /etc/config/xxx` 验证内容。看不见运行状态就提交 = 自信型 0 分。
**kubernetes.io 文档页面提前记好位置** — NetworkPolicy 范例在 Concepts/Services-Networking/network-policies、multi-container Pod 在 Concepts/Workloads/Pods、SecurityContext 在 Tasks/Configure-Pod-Container/security-context。直接搜页面比从首页点快 3 倍。
**考试免费补考一次** — Free Retake 包含在 395 USD 里。第一次挂了不要慌,统计上第二次通过率高很多 — 因为你已经熟悉考试环境和时间感。
**忘记切换集群 context** — 每题第一行都给了 `kubectl config use-context` 命令。不切就是在错的集群上操作,整题 0 分。复制粘贴 context 命令必须变成条件反射。
**Pod 和 Deployment 的使用场景搞混** — 题目说"创建一个运行 nginx 的 workload"时你得反应过来通常是 Deployment 而不是裸 Pod(除非题目明确说 Pod)。裸 Pod 写成 Deployment 或反过来都是 0 分。
**Service 四种类型选错** — **ClusterIP** 集群内访问、**NodePort** 通过节点端口暴露、**LoadBalancer** 依赖云厂商 LB、**ExternalName** 是 CNAME 映射。题目里"集群外访问 + 无云 LB"基本是 NodePort,"同集群 Pod 之间"就是 ClusterIP。
**ConfigMap 和 Secret 的挂载方式不熟** — 两种注入方式必须都会:env 变量注入(`envFrom` 或单个 `env.valueFrom`)和 volume 挂载(`volumes` + `volumeMounts`)。题目会明确指定用哪种,用错方式不给分。Secret 还要记得 data 字段是 base64 编码,`stringData` 才是明文。
**Probe 配置漏了关键字段** — `livenessProbe` / `readinessProbe` 必须配 `httpGet.path` + `httpGet.port`(或 `exec.command` / `tcpSocket`),再加 `initialDelaySeconds` 和 `periodSeconds`。少写字段导致 Pod 起不来的话 `kubectl describe` 会报错,你至少得能看懂。
**NetworkPolicy 一旦定义就是 default deny** — 题目说"只允许 X 来源"时必须同时写明 ingress 和 egress(如果题目也限制出站)。一旦写了 NetworkPolicy,没被允许的流量全部被拒绝 — 这是常考陷阱。
**vim 缩进错误导致 YAML 解析失败** — YAML 对缩进极度敏感,vim 默认粘贴会自动缩进搞乱格式。考前在 `~/.vimrc` 写好 `:set paste` 和 `:set number`,进考试环境第一时间配置。
**不用 imperative 命令生成 YAML 模板** — 从零手写 Pod / Deployment YAML 在 CKAD 里是自杀。必须用 `k create deploy nginx --image=nginx --dry-run=client -o yaml > dep.yaml` 这种套路,再用 vim 补 probe / resource / volume 等字段。
240+ questions, chapter-by-chapter learning, mock exams, wrong-question review, and AI tutor support live in the exam page.
Go to exam prepFrom $39 · 2 free chapters