CKA 30 天备考计划:Kubernetes 管理员认证实操指南

JR Academycertification

按 CKA 官方考试域安排 30 天练习:集群维护、网络、存储与故障排查,并核对考试规则和可用文档。

Kubernetes 集群控制平面与工作节点的实操示意图
CKAKubernetesCNCF备考攻略
目录

CKA 是两小时的线上实操考试,考生要在 Linux 终端中完成 Kubernetes 管理任务。下面的 30 天安排是一份练习计划,不代表零基础考生一定能在 30 天内通过;先用模拟任务检验自己能否独立完成操作,再决定考试日期。

考试版本、报名价格与规则会变化。本文核对了 Linux Foundation 的 CKA 官方页面、考生常见问题 和 考试允许使用的资源(2026-10-11);报考前请再次查看原文。

CKA vs CKAD vs CKS:先搞清楚考哪个

很多人在这三个认证之间犹豫,简单说:

认证面向角色侧重点
CKA集群管理员集群搭建、维护、网络、存储、故障排查
CKAD应用开发者Pod 设计、部署、Service、配置管理
CKS安全专家集群安全、供应链安全、运行时安全

如果工作重点是集群运维与故障排查,可先看 CKA;如果主要编写和部署应用,可比较 CKAD。CKS 面向 Kubernetes 安全实践,报名前应核对其现行先修要求。

考试格式:你需要知道的一切

项目详情
题目数量15–20 个实操任务
考试时长2 小时
及格分数66%
考试费用以官方报名页实时价格及所选套餐为准;当前标准考试含一次补考
有效期2 年(2024-04-01 前取得的部分证书原有效期为 3 年)
考试形式在线实操,真实 K8s 集群环境
可查文档考试虚拟机浏览器内的指定官方文档,详见下文
考试平台PSI Secure Browser

重点是 performance-based 考试:在远程 Linux 终端里操作 Kubernetes 环境。每道任务先确认题目指定的 context 和 namespace,再执行命令并验证结果。

不会敲命令 = 不会通过。就这么直接。

考试域权重

域内容权重
集群架构集群安装与配置、RBAC25%
工作负载与调度Deployment、Pod 调度、资源限制15%
服务与网络Service、Ingress、NetworkPolicy、DNS20%
存储PV、PVC、StorageClass10%
故障排查节点问题、应用日志、集群组件排错30%

故障排查占 30%,是权重最大的一块。 练习时除了创建资源,还要能从事件、日志与节点状态定位问题。考试域和权重以 CNCF 当前 CKA 考纲 为准。

30 天备考计划

第 1 周:打地基(Day 1-7)

目标:理解 K8s 核心架构,能用 kubectl 做基本操作

每天投入 2-3 小时。这周不需要碰考试题,纯粹打基础。

  • Day 1-2:K8s 架构全景
    • Control Plane 组件:kube-apiserver、etcd、kube-scheduler、kube-controller-manager
    • Node 组件:kubelet、kube-proxy、container runtime
    • 用 kubeadm 搭一个本地集群(或用 minikube / kind)
  • Day 3-4:Pod 和 Deployment
    • 手写 Pod YAML(不要每次都 copy 文档)
    • kubectl run、kubectl create deployment 的速记用法
    • Label、Selector、Annotation
  • Day 5-6:Service 与基础网络
    • ClusterIP、NodePort、LoadBalancer 的区别
    • kubectl expose 快速创建 Service
    • CoreDNS 基础
  • Day 7:复习 + 整理笔记

每学完一个概念,就在练习集群里完成一次创建、查询和故障定位;只看视频无法检验操作能力。

第 2 周:核心技能(Day 8-14)

目标:掌握 RBAC、存储、调度,能快速写 YAML

  • Day 8-9:RBAC
    • Role / ClusterRole / RoleBinding / ClusterRoleBinding
    • ServiceAccount 的用法
    • kubectl auth can-i 验证权限
  • Day 10-11:存储
    • PersistentVolume 和 PersistentVolumeClaim
    • StorageClass 和动态供给
    • hostPath、emptyDir 的使用场景
  • Day 12-13:调度
    • nodeSelector、nodeAffinity、podAffinity
    • Taint 和 Toleration
    • 手动调度(指定 nodeName)
    • Static Pod(kubelet 管理的 Pod)
  • Day 14:综合练习 + 查漏补缺

第 3 周:进阶 + 故障排查(Day 15-21)

目标:集群升级、备份恢复、NetworkPolicy、故障排查

这周是关键。难度陡增。

  • Day 15-16:集群维护
    • kubeadm upgrade 升级集群(按考纲练习)
    • etcd 备份与恢复(etcdctl snapshot save/restore)
    • 节点 drain 和 cordon
  • Day 17-18:网络策略
    • NetworkPolicy 的 YAML 结构
    • Ingress / Egress 规则
    • 默认拒绝所有流量的策略怎么写
  • Day 19-21:故障排查
    • kubelet 挂了怎么办?systemctl status kubelet、查日志
    • Pod CrashLoopBackOff 排查流程
    • kube-apiserver 证书过期的处理
    • kubectl logs、kubectl describe、kubectl get events

遇到节点 NotReady,先检查节点条件、事件和 kubelet 状态,再根据实际原因修复;不要预设每次都是 kubelet 故障。

第 4 周:冲刺模考(Day 22-30)

目标:模考、刷题、提速、查漏补缺

  • Day 22-24:使用报名套餐包含的模拟器练习;官方说明标准 CKA 报名可使用两次 Killer.sh 模拟器,CKA-SINGLE 不包含
    • 用模拟结果找出耗时最多、仍无法独立完成的任务
    • 模拟分数不是正式考试通过率的保证
  • Day 25-27:针对弱项专项练习
    • 把 killer.sh 错的题归类,逐个突破
    • 重点练速度:同一个任务反复做,直到肌肉记忆
  • Day 28-29:最后模考 + 整理速查表
    • 考前整理常用命令,考试时只使用官方允许的资源和考试内笔记功能
    • 再做一遍 killer.sh 第二次机会
  • Day 30:考试日
    • 提前 30 分钟进入 PSI 系统
    • 保持冷静,先做会做的

必须练到肌肉记忆的命令

这些命令考试中会反复用到,必须闭着眼睛都能敲出来:

BASH
# 快速创建资源(--dry-run 生成 YAML 再修改)
kubectl run nginx --image=nginx --dry-run=client -o yaml > pod.yaml
kubectl create deployment myapp --image=nginx --replicas=3 --dry-run=client -o yaml > deploy.yaml
kubectl expose deployment myapp --port=80 --target-port=8080 --type=NodePort --dry-run=client -o yaml > svc.yaml

# 必会的速记
kubectl get pods -A                    # 所有 namespace 的 Pod
kubectl get pods -o wide               # 看 Node 和 IP
kubectl describe pod <name>            # 排查第一步
kubectl logs <pod> -c <container>      # 多容器要指定
kubectl exec -it <pod> -- /bin/sh      # 进入容器

# RBAC
kubectl create role pod-reader --verb=get,list,watch --resource=pods
kubectl create rolebinding bob-reader --role=pod-reader --user=bob

# 集群维护
kubectl drain <node> --ignore-daemonsets --delete-emptydir-data
kubectl cordon <node>
kubectl uncordon <node>

# etcd 备份
ETCDCTL_API=3 etcdctl snapshot save /tmp/etcd-backup.db \
  --endpoints=https://127.0.0.1:2379 \
  --cacert=/etc/kubernetes/pki/etcd/ca.crt \
  --cert=/etc/kubernetes/pki/etcd/server.crt \
  --key=/etc/kubernetes/pki/etcd/server.key

# context 切换(每道题都要做)
kubectl config use-context <context-name>

省时技巧:在考试一开始就设置别名:

BASH
alias k=kubectl
export do="--dry-run=client -o yaml"
# 之后用 k run nginx --image=nginx $do > pod.yaml

在练习环境里试用这些别名,考试中是否采用取决于你对命令的熟悉程度。

考试环境实用技巧

PSI Secure Browser

  • 需要提前下载安装 PSI 的考试浏览器
  • 只能在考试虚拟机内使用允许的浏览器和终端;不要打开个人设备上的资料
  • 虚拟机浏览器允许访问 Kubernetes 文档与博客、Helm 文档,以及 CKA 的 Gateway API 文档;任务快速参考区可能另给链接
  • 可以使用 Kubernetes 文档站内搜索,但不要打开外部搜索结果;以 官方允许资源清单 为准

考前可熟悉的官方文档

  1. kubernetes.io/docs/reference/kubectl/cheatsheet/ — kubectl 速查表
  2. kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/ — 集群升级步骤
  3. kubernetes.io/docs/tasks/administer-cluster/configure-upgrade-etcd/ — etcd 备份恢复
  4. kubernetes.io/docs/concepts/policy/network-policies/ — NetworkPolicy 示例
  5. kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/ — 调度相关

终端环境

  • 基于 Ubuntu 的远程桌面
  • 自带 vim 和 nano 编辑器
  • 支持复制粘贴(Ctrl+Shift+C / Ctrl+Shift+V)
  • 终端字体偏小,可以用 Ctrl++ 放大

10 个值得练习的任务类型

以下是基于考试域整理的练习任务,不代表真实考试题目或出现频率:

  1. etcd 备份与恢复 — 核对数据目录与静态 Pod 配置
  2. 集群升级(kubeadm upgrade)— Control Plane 和 Worker Node 分别升级
  3. 创建 NetworkPolicy — 限制 Pod 的入站/出站流量
  4. RBAC 配置 — 创建 Role 和 RoleBinding,给特定用户分配权限
  5. 故障排查 NotReady 节点 — 查看节点条件、事件与 kubelet 状态,按实际原因处理
  6. 创建 Ingress 资源 — 配置 path-based routing
  7. PV 和 PVC 绑定 — 注意 accessModes 和 storageClassName 要匹配
  8. Sidecar 容器 — 在已有 Pod 里加一个日志收集容器
  9. 节点 drain 和维护 — drain + upgrade + uncordon 的完整流程
  10. Pod 日志导出 — kubectl logs 输出到指定文件

考试时间管理

考试共 120 分钟,官方说明有 15–20 个实操任务。可在模考时试用以下时间分配,再按自己速度调整:

  • 简单题(kubectl 单条命令能解决的):2-3 分钟
  • 中等题(需要写 YAML 或多步操作):5-8 分钟
  • 难题(etcd 恢复、集群升级、复杂故障排查):10-15 分钟

示例时间分配:

  1. 第一遍(80 分钟):先扫一遍所有题。会做的直接做,不确定的 flag 标记跳过
  2. 第二遍(30 分钟):回头做标记的题
  3. 第三遍(10 分钟):检查每道题是否切换了正确的 context

如果某道题长时间没有进展,先标记并完成其余可做的任务,最后再回来检查。

常见翻车点

1. 忘记切换 context

执行前确认题目要求的 context 与 namespace;操作完成后再次检查目标集群,避免在错误环境里提交答案。

2. YAML 缩进错误

考试终端里用 vim 写 YAML,缩进全靠空格。建议在 ~/.vimrc 里加:

BASH
set tabstop=2
set shiftwidth=2
set expandtab

3. 没有验证结果

做完一道题不要急着下一题。花 30 秒验证:Pod 跑起来了吗?Service 能访问吗?RBAC 生效了吗?

BASH
kubectl get pods -n <namespace>
kubectl auth can-i get pods --as=<user>
kubectl exec -it <pod> -- curl <service-name>

4. etcd 恢复后忘了重启

恢复快照后还要核对 etcd 静态 Pod 使用的数据目录和启动参数;只生成恢复目录而不切换配置,不会让集群使用恢复后的数据。

5. NetworkPolicy 默认行为搞混

没有 NetworkPolicy 的时候,所有流量是允许的。一旦对一个 Pod 应用了任何 ingress 规则,未明确允许的入站流量就会被拒绝。

考完之后

考试结束后 24 小时内会收到邮件通知结果。通过了会在 Linux Foundation 的 portal 里看到电子证书和徽章。

现行 CKA 证书有效期为 2 年;2024-04-01 前取得的 CKA/CKAD 证书原有效期为 3 年。续期以 Linux Foundation FAQ 为准。

拿到 CKA 之后,可以考虑继续考 CKS(安全方向)或者 CKAD(如果日常开发用得多的话)。

开始你的 CKA 备考

30 天是练习安排,不是通过保证。完成模拟任务后再判断是否需要延长备考。

光看视频不敲命令,等于没学。

需要结构化练习时,可查看 JR Academy 的 CKA 学习目录。课程内容、访问权限和费用以该页面及结算时展示为准。

今天可以先在本地集群创建一个 Deployment,故意改错镜像名,再用 kubectl describe pod 和 kubectl get events 查出拉取失败的原因。

相关学习资源

继续阅读