CKAD(Certified Kubernetes Application Developer) 是由 Cloud Native Computing Foundation(CNCF)與 Linux Foundation 聯合推出的 Kubernetes 專業認證,主要面向負責設計、建立、部署以及維護 Kubernetes 應用程式的開發者。
與偏向 Kubernetes 叢集管理的 CKA(Certified Kubernetes Administrator) 不同,CKAD 更關注「如何在 Kubernetes 平台上運行雲原生應用」,包括 Pod 設計、Deployment 管理、服務暴露、配置管理、應用監控以及故障排查等能力。
一、CKAD 考試基本資訊
| 項目 | 詳細資訊 |
|---|---|
| 考試名稱 | Certified Kubernetes Application Developer |
| 考試代碼 | CKAD |
| 認證組織 | CNCF / Linux Foundation |
| 考試形式 | 線上監考、實作操作考試 |
| 考試時間 | 120 分鐘 |
| 題型 | Performance-Based Tasks(實務操作題) |
| 操作方式 | 使用 Kubernetes CLI(kubectl)完成任務 |
| 考試語言 | English |
| 考試環境 | Kubernetes Cluster Terminal |
| 建議背景 | Docker、Container、Kubernetes 基礎知識 |
CKAD 不是傳統選擇題考試,而是要求考生直接在 Kubernetes 環境中完成操作任務,例如建立資源、修改 YAML、排查錯誤等。
二、CKAD 認證定位
Kubernetes 認證路徑:
KCNA
↓
CKAD ─── 應用開發方向
↓
CKA ─── 叢集管理方向
↓
CKS ─── 安全方向
CKAD 主要適合:
✅ Kubernetes Application Developer
✅ DevOps Engineer
✅ Cloud Native Developer
✅ Backend Developer
✅ Platform Engineer
✅ SRE 工程師
如果工作內容涉及:
- 微服務部署
- Container 化應用
- CI/CD
- Kubernetes 平台開發
CKAD 具有較高參考價值。
三、CKAD 考試五大領域解析
CKAD 目前主要包含五個考試領域:
| 領域 | 比例 |
|---|---|
| Application Environment, Configuration and Security | 約25% |
| Application Design and Build | 約20% |
| Application Deployment | 約20% |
| Services and Networking | 約20% |
| Application Observability and Maintenance | 約15% |
1. Application Design and Build(20%)
這部分考察如何建立 Kubernetes 應用。
主要內容:
Container Image
需要理解:
- Docker Image
- Container Registry
- Image Tag
- Image Pull Policy
例如:
image: nginx:latest
需要知道:
- Image 從哪裡取得
- 如何控制版本
- 如何更新 Image
Pod 設計
核心概念:
- Pod
- Multi-container Pod
- Sidecar Pattern
- Init Container
例如:
應用容器:
Application Container
+
Logging Sidecar
這類設計是 Kubernetes 常見模式。
Jobs 與 CronJobs
需要掌握:
Job
適合:
- 一次性任務
- Batch Processing
CronJob
適合:
- 定時任務
- 排程執行
例如:
每天凌晨執行資料備份。
2. Application Deployment(20%)
這是 CKAD 非常重要的部分。
主要包括:
Deployment
需要熟悉:
- ReplicaSet
- Rolling Update
- Rollback
- Scaling
常見操作:
kubectl create deployment
Deployment Strategy
包括:
Rolling Update
逐步替換舊版本:
Version A
↓
Version A+B
↓
Version B
Canary Deployment
部分流量測試新版本。
例如:
95% 使用舊版本
5% 使用新版本
Helm
需要了解:
- Helm Chart
- Values
- Release
CKAD 不要求深入開發 Helm Chart,但需要理解如何使用 Helm 部署應用。
3. Application Environment, Configuration and Security(25%)
這是 CKAD 權重最高部分。
ConfigMap
用於保存非敏感配置:
例如:
database_url=mysql
Secret
用於保存敏感資訊:
例如:
- Password
- Token
- API Key
Security Context
需要理解:
- User ID
- Group ID
- Container Permission
Resource Management
包括:
Resource Request
最低需要資源:
resources:
requests:
cpu: 500m
Resource Limit
最大限制:
limits:
cpu: 1
RBAC
需要掌握:
- ServiceAccount
- Role
- RoleBinding
例如:
限制某個應用只能讀取指定 Namespace。
4. Services and Networking(20%)
主要考察 Kubernetes 網路通信。
Service
需要理解:
ClusterIP
內部通信:
Pod → Service → Pod
NodePort
外部訪問:
Client
↓
NodePort
↓
Service
↓
Pod
LoadBalancer
雲環境常用:
- AWS
- Azure
- Google Cloud
Ingress
重要考點:
- HTTP Routing
- Host Rules
- Path Rules
例如:
example.com/api
↓
API Service
NetworkPolicy
控制:
- Pod Ingress
- Pod Egress
例如:
只允許:
Frontend Pod
訪問
Backend Pod
5. Application Observability and Maintenance(15%)
主要考察應用監控與故障排查。
Probe
非常重要:
Liveness Probe
判斷:
容器是否正常運行。
Readiness Probe
判斷:
是否可以接收流量。
Startup Probe
用於:
啟動時間較長的應用。
Debug 技巧
常用命令:
查看 Pod:
kubectl get pods
查看詳細資訊:
kubectl describe pod
查看 Log:
kubectl logs
進入 Container:
kubectl exec -it
四、CKAD 考試難點分析
1. 最大挑戰是時間
CKAD 是實作考試,不是背誦考試。
需要:
- 快速寫 YAML
- 熟悉 kubectl
- 快速定位問題
2. YAML 熟練度非常重要
很多失分原因:
- indentation 錯誤
- apiVersion 錯誤
- field 名稱錯誤
建議:
多練習:
kubectl create --dry-run=client -o yaml
快速生成模板。
3. 排錯能力比理論重要
例如:
Pod 無法啟動:
不要只看 YAML。
需要檢查:
- Image 是否存在
- Secret 是否正確
- Volume 是否掛載
- Probe 是否失敗
五、CKAD 與 CKA 差異
| 項目 | CKAD | CKA |
|---|---|---|
| 方向 | 應用開發 | 叢集管理 |
| 面向 | Developer | Administrator |
| 重點 | Application | Infrastructure |
| YAML | 高 | 中 |
| kubectl | 高 | 高 |
| Cluster Setup | 少 | 多 |
| Network | Application Network | Cluster Network |
六、CKAD 備考建議
第一階段:Kubernetes 基礎
掌握:
- Pod
- Deployment
- Service
- Namespace
第二階段:大量練習 YAML
練習:
- Pod YAML
- Deployment YAML
- Service YAML
- ConfigMap
- Secret
第三階段:熟悉 kubectl
常用:
kubectl get
kubectl describe
kubectl apply
kubectl delete
kubectl logs
kubectl exec
第四階段:模擬實戰環境
建議:
- Minikube
- Kind
- Kubernetes Playground
反覆練習:
- 建立應用
- 修改配置
- 排查問題
七、CKAD 職涯價值分析
隨著企業大量採用:
- Kubernetes
- Microservices
- Cloud Native
- DevOps
CKAD 能證明考生具備:
✅ Kubernetes 應用部署能力
✅ Container 技術能力
✅ 雲原生開發能力
✅ DevOps 工作流程理解
對希望進入:
- 雲端工程
- DevOps
- AI 平台工程
- Kubernetes 平台開發
方向的人員具有較高價值。
總結
CKAD(Certified Kubernetes Application Developer)是一張偏向「實戰操作」的 Kubernetes 開發者認證。
考試核心不是記憶 Kubernetes 概念,而是要求考生能夠:
- 建立 Kubernetes 應用
- 管理 Deployment
- 配置 Service
- 處理安全設定
- 監控與排查應用問題
對已經具備 Linux、Docker、Cloud 或 DevOps 基礎的人員來說,CKAD 是進入雲原生技術領域的重要認證之一。
发表回复