CKA 是面向 Kubernetes 管理员的实操认证,考试通过命令行完成真实场景任务。当前官方能力域包括:集群架构与安装配置、工作负载与调度、服务与网络、存储、故障排查,其中故障排查权重最高。
考试版本和规则会更新,预约前应以 CNCF 与 Linux Foundation 官方页面、Candidate Handbook 和 Curriculum Overview 为准。
## 1. Cluster Architecture, Installation & Configuration(25%)
需要掌握:
- 控制面、节点组件和请求流转。
- kubeadm 初始化、节点加入与重置。
- 版本升级、证书和高可用基本原理。
- RBAC、ServiceAccount 与 kubeconfig。
- etcd 快照备份和恢复。
- CRD、Helm 与集群扩展的基础操作。
练习时至少完整执行一次:创建集群、加入节点、升级控制面和工作节点、备份 etcd、恢复到测试目录并验证快照状态。
## 2. Workloads & Scheduling(15%)
重点对象:Pod、Deployment、DaemonSet、StatefulSet、Job、CronJob。要理解滚动更新、回滚、扩缩容、调度约束和资源管理。
高频能力包括:
- 用命令快速生成 YAML,再编辑关键字段。
- 配置 requests/limits、ConfigMap、Secret 和环境变量。
- 使用 nodeSelector、亲和性、污点与容忍度。
- 配置 readiness、liveness 和 startup probes。
- 处理 Pending、CrashLoopBackOff 和 ImagePullBackOff。
## 3. Services & Networking(20%)
需要理解 Service selector、EndpointSlice、ClusterIP、NodePort、LoadBalancer、CoreDNS、Ingress 与 NetworkPolicy。
排查时按链路逐层验证:
1. Pod 是否 Ready,标签是否正确。
2. Service selector 是否匹配。
3. EndpointSlice 是否包含目标 Pod IP。
4. 集群内 DNS 是否能解析。
5. Service IP 和端口是否可达。
6. Ingress Controller、路由和 TLS 是否正确。
7. NetworkPolicy 是否阻止了流量。
## 4. Storage(10%)
应掌握 emptyDir、hostPath 的适用范围,以及 PV、PVC、StorageClass 和 StatefulSet 的关系。需要能创建静态卷、动态供应 PVC、扩容支持的卷,并根据 accessModes、storageClassName、容量和事件排查 Pending PVC。
不要只看 PVC 为 Bound,还要在 Pod 内执行读写验证,并确认数据在 Pod 重建后的行为符合预期。
## 5. Troubleshooting(30%)
这是权重最高的部分。排查对象覆盖应用、网络、存储、节点和控制面。
常用入口:
```bash
kubectl get pod -A -o wide
kubectl describe pod POD_NAME -n NAMESPACE
kubectl logs POD_NAME -n NAMESPACE --previous
kubectl get events -A --sort-by=.lastTimestamp
kubectl get nodes
kubectl describe node NODE_NAME
journalctl -u kubelet
kubectl get endpointslice -A
```
控制面故障还要检查静态 Pod 清单、容器运行时、kubelet 日志、证书有效期、端口和 etcd 健康。修复后必须重新验证,而不是看到进程启动就结束。
## 6. 六周学习安排
### 第 1 周:架构与 kubectl
理解组件、对象模型、namespace、label、selector 和常用输出格式。把日常查询练到无需长时间思考。
### 第 2 周:工作负载与调度
集中练习 Deployment、DaemonSet、Job、探针、滚动更新、污点和亲和性。
### 第 3 周:网络与服务
从 Pod-to-Pod、DNS、Service 到 Ingress、NetworkPolicy 做完整连通实验。
### 第 4 周:存储与集群维护
练习 PV/PVC、StorageClass、etcd、kubeadm 升级、节点维护和证书检查。
### 第 5 周:故障注入
主动制造错误:标签不匹配、端口错误、DNS 配置错误、PVC 不匹配、节点 NotReady、静态 Pod 参数错误,然后限时修复。
### 第 6 周:综合模拟
按两小时完成整套任务。复盘每道题的得分点、验证方式、用时和误操作。
## 7. 考试时间管理
- 开始先确认 context、节点和命名空间。
- 浏览全部任务,先完成高权重且把握大的题。
- 修改文件前备份,避免破坏后无法恢复。
- 每题完成后立即验证并记录状态。
- 卡住数分钟先跳过,最后再回来。
- 避免在非目标集群执行命令。
## 8. 提速但不牺牲准确性
可以使用 kubectl create ... --dry-run=client -o yaml 生成骨架,用 kubectl explain 确认字段。命令别名能节省时间,但必须确保自己理解实际执行内容。
验证清单建议固定化:对象存在、状态正确、事件无异常、功能测试通过、重建后仍符合题意。特别是网络和存储题,不能只看 YAML。
## 9. 常见失分点
- 忘记切换 context 或 namespace。
- YAML 字段层级错误。
- Service selector 与 Pod label 不一致。
- 修改静态 Pod 后没有等待控制面恢复。
- 只做了备份,没有验证快照或恢复结果。
- 修复后未检查 Ready、Endpoints、DNS 或实际访问。
- 使用过时教程中的字段和流程。
## 参考资料
- https://www.cncf.io/training/certification/cka/
- https://training.linuxfoundation.org/certification/certified-kubernetes-administrator-cka/
- https://kubernetes.io/docs/home/