https://github.com/webbertakken/k8s-ckad-reference
Kubernetes certification reference
https://github.com/webbertakken/k8s-ckad-reference
certification cheatsheet ckad k8s kubernetes reference
Last synced: 6 months ago
JSON representation
Kubernetes certification reference
- Host: GitHub
- URL: https://github.com/webbertakken/k8s-ckad-reference
- Owner: webbertakken
- Created: 2021-10-23T14:22:40.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2021-11-18T12:08:21.000Z (almost 4 years ago)
- Last Synced: 2025-02-06T11:27:53.569Z (8 months ago)
- Topics: certification, cheatsheet, ckad, k8s, kubernetes, reference
- Homepage:
- Size: 7.81 KB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# K8s CKAD reference
Certification reference (unofficial) for "Certified Kubernetes Application Developer (CKAD)".
## Preparation and rationale
#### Official resources
- [Curriculum](https://github.com/cncf/curriculum)
- [Portal](https://trainingportal.linuxfoundation.org/learn/dashboard) (acquired after booking)
- [Certification handbook](https://docs.linuxfoundation.org/tc-docs/certification/lf-candidate-handbook)
- [Important instructions](https://docs.linuxfoundation.org/tc-docs/certification/tips-cka-and-ckad)#### Format
- 2 hours hands-on, solving "hard" problems
- A proctor watches you perform the exam live
- You can only access specific pages (listed below)#### Environment
- ubuntu 18:04, no extra packages
- `sudo` requires no password
- `kubectl` with alias `k` and Bash autocompletion (no `kubens`)
- `helm`
- `vim` (no config)
- `yq` and `jq` for YAML/JSON processing
- `curl` and `wget` for testing web services
- `man` and man pages for further documentation> **Note:** Regular copy and paste hotkeys do not work.
> - For **Linux**: select text for copy and middle button for paste (or both left and right simultaneously if you have no middle button).
> - For **Mac**: ⌘+C to copy and ⌘+V to paste.
> - For **Windows**: Ctrl+Insert to copy and Shift+Insert to paste## Setup
Setup shell.
```shell
cat <>~/.bashrc && . .bashrc
# Recommended exports
export do="--dry-run=client -o yaml"
export now="--force --grace-period 0"# Recommended aliases
alias kn="kubectl config set-context --current --namespace "
alias kd="kubectl -n default"
alias jq="jq -r"
EOF
```Setup vim.
```shell
alias vi=vim ; cat <~/.vimrc
set number
set shiftwidth=2
set tabstop=2
set softtabstop=2
set expandtab
set autoindent
set laststatus=2
EOF
```## Cheatsheet
Allowed top-level pages during exam ([source](https://docs.linuxfoundation.org/tc-docs/certification/certification-resources-allowed#certified-kubernetes-administrator-cka-and-certified-kubernetes-application-developer-ckad)):
- https://kubernetes.io/docs/home/
- https://github.com/kubernetes/
- https://kubernetes.io/blog/Relevant allowed sub-pages (recommended bookmarks):
- [Change current namespace](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/#setting-the-namespace-preference)
## Additional resources
The following resources are not allowed during the exam.
- [Illustrated guide to kubernetes networking](https://speakerdeck.com/thockin/illustrated-guide-to-kubernetes-networking) by Tim Hockin
## Most important commands
Commands you should easily be able to reproduce and intrinsically understand.
Note that you will need to use many more commands, but knowing these will speed up your workflow. There is limited time for looking up commands during the exam.
```bash
# Using help to find the exact syntax for a command
k --help# Using a debug container
k run -it curl --image=nginx -- bash
k exec -it curl -- bash
k delete pod curl $now# Show additional information for resources
k get pod -o wide
k get pod --show-labels# Querying aggregated info
k get all -n=# Querying selective information
k get secret -o json | jq '.my.key'# Create yaml files using generators (from dry-run output)
k create deploy -n --image= --port= $do | head -n -1
k create secret generic --from-literal=key1=value --from-file=key2=path/to/file $do
k expose --name -n --port --target-port $do | head -n -2
```