- Exercises. This was 95% of the learning I did. DO ALL OF THESE. MORE THAN ONCE
Once you can do these (without looking up the answer), you are ready
https://github.com/dgkanatsios/CKAD-exercises/ - Very good Medium post
https://medium.com/@nassim.kebbani/how-to-beat-kubernetes-ckad-certification-c84bff8d61b1 - Also good Medium post
https://medium.com/bb-tutorials-and-thoughts/how-to-pass-the-certified-kubernetes-application-developer-ckad-exam-503e9562d022 - This post explains the web terminal you will use and has other tips
https://codeburst.io/the-ckad-browser-terminal-10fab2e8122e - MS Premier person's post, some more insight
https://devblogs.microsoft.com/premier-developer/certified-kubernetes-application-developer-ckad-exam-tips/
- ConfigMaps & mounting into containers as volumes
- More ConfigMaps, seriously it was on about three or four questions, practice all the ways of creating & using a ConfigMap DOCS LINK
- Learn to use every variation of
kubectl run
and use with or without the--dry-run -o yaml
flags, e.g.--restart=Never
will create a Pod--restart=Always
and--replicas
will create a Deployment--restart=OnFailure
will create a Job--restart=OnFailure
and--schedule
will create a CronJob- Pass any commands for the pod/container to run at the end of the command after
--
e.g.kubectl run webpod --image nginx --restart Never -- sleep 600
- Memorise the
volumeMount
andvolumes
syntax of pod & container spec, you don't have time to look it up, and it comes up a lot - Multi container pods, experiment with deploying this, and sharing a volume using
emptyDir
- Network Policy,
podSelectors
both for ingress/egress rules and applying the policy - PV and PVC, go through creating both and a pod to use the PVC, DOCS LINK
- Surprise! one question required SSH onto a node to create a file for PV of
hostPath
type
- Surprise! one question required SSH onto a node to create a file for PV of
- Ingresses are not in the exam, nor are CRDs, Helm, etc, only core, non-beta API objects
- Editing objects directly with
kubectl edit
... only do this if you're confident of the change you're making, i.e. It's something mutable and you know the syntax- If you save and it's wrong you're thrown back into the editor. If you're anything less than 99% sure, then export the YAML
kubectl get foobar -o yaml --export > blah.yaml
and edit that - Often the change you are making requires you to delete the object (as it's an immutable field) so
kubectl edit
is never going to work
- If you save and it's wrong you're thrown back into the editor. If you're anything less than 99% sure, then export the YAML
Enable kubectl
auto complete, very useful and part of the docs so you can copy & paste it
https://kubernetes.io/docs/reference/kubectl/cheatsheet/#kubectl-autocomplete
Aliases. Shortening kubectl
to k
is a HUGE time saver! I used kn
as a way to change namespaces
alias k=kubectl
alias kn='kubectl config set-context --current --namespace '
Change editor used by kubectl edit
export KUBE_EDITOR=nano
If a command like delete is taking a while, hit ctrl+z
to put it to the background and carry on working
Hi Ben, Thanks for wonderful write up the summary. i have basic question on how to switch back to base node from node, where PV question need ssh to node for hostpath.