https://www.cncf.io/certification/ckad/
2Hrs | Cost $300 | Online Exam
K8s version 1.20 (Jan 22, 2021)
Updated exam curriculum for v1.20
https://github.com/cncf/curriculum/
| Domain | Weight |
|---|---|
| Core Concepts | 13% |
| • Understand Kubernetes API primitives | |
| • Create and configure basic Pods | |
| Multi-Container Pods | 10% |
| • Understand Multi-Container Pod design patterns (e.g. ambassador, adapter, sidecar) | |
| Pod Design | 20% |
| • Understand Deployments and how to perform rolling updates | |
| • Understand Deployments and how to perform rollbacks | |
| • Understand Jobs and CronJobs | |
| • Understand how to use Labels, Selectors, and Annotations | |
| State Persistence | 8% |
| • Understand PersistentVolumeClaims for storage | |
| Configuration | 18% |
| • Understand ConfigMaps | |
| • Understand SecurityContexts | |
| • Define an application’s resource requirements | |
| • Create & consume Secrets | |
| • Understand ServiceAccounts | |
| Observability | 18% |
| • Understand LivenessProbes and ReadinessProbes | |
| • Understand container logging | |
| • Understand how to monitor applications in Kubernetes | |
| • Understand debugging in Kubernetes | |
| Services & Networking | 13% |
| • Understand Services | |
| • Demonstrate basic understanding of NetworkPolicies |
-
Main Documentation page:
https://kubernetes.io/docs/ -
Cheat Sheet:
https://kubernetes.io/docs/reference/kubectl/cheatsheet/ -
kubectlCommand Reference https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands -
One-page API Reference for Kubernetes v1.20
https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/
- Great course from "a Cloud Guru":
https://learn.acloud.guru/course/certified-kubernetes-application-developer/
by William Boyd
-
killer.sh_ https://killer.sh/ckad
- not free but worth it
- 29.99€ for two CKAD sessions of the same mock exam
-
Dimitris-Ilias Gkanatsios
https://github.com/dgkanatsios/CKAD-exercises -
Benjamin Muschko https://github.com/bmuschko/ckad-prep
- Time management is key!
- You have 15-20 performance-based tasks to perform in 2 hours, so an average of 6-8 min per task. Some tasks are easy but some others will take much more time.
- Get all questions done:
- Make sure to go through all 15-20 tasks
- Get all the easiest tasks done first!
- Never get stuck:
- If a task is seems difficult or it's taking you more than 2-3 min, then flag it and keep moving to get any easy task done first.
- Then go back to each of the flagged tasks afterwards.
- Setup kubectl alias and autocomplete
source <(kubectl completion bash)alias k=kubectlcomplete -F __start_kubectl k
- Setup an shell variable to easily generate resource specs in YAML format:
export do="--dry-run=client -o yaml"- then we can run:
k run pod1 --image=nginx $do
-
Setup VIM for yaml by adding these lines to the
~/.vimrcconfiguration file:set etorset expandtab(spaces instead of tabs)set sior ```set smartindent`` (automatic and smart indentation)set ts=2orset tabstop=2(the number of spaces that a tab equates to)set sts=2orset softtabstop=2(the number of spaces to use when expanding tabs)set sw=2orset shiftwidth=2(the number of spaces to use when indenting or de-indenting a line)
# .vimrc set et set si set ts=2 set sts=2 set sw=2 -
Use
kubectlshortnames:noponsdeploysvcingdsnetpolpvpvcsacmepscsts...
- Use imperative commands whenever possible:
- E.g. use:
k run -h,k create deploy -h,k expose -h... - instead of:
k apply -f <filename.yaml>
- E.g. use:
- Use
kubectl explainto list the fields of supported API resources
- Use
kubectl replaceto replace an existing resource with some updated specs:- This saves you time compared to using
k deleteandk apply -f <filename>
- This saves you time compared to using
- Use
-w(i.e.--watch=true) to start watching updates to a particular object.k get po -wto watch your pods
