If you’re preparing for the Certified Kubernetes Application Developer (CKAD) exam or simply want to enhance your Kubernetes skills, this learning path is for you. The following articles are designed to cover essential topics very quickly for the CKAD certification and beyond.

Getting Started

  1. Kubernetes Concepts
  2. Kubernetes Namespaces: An Overview
  3. Kubernetes Imperative Commands

Core Components

  1. Creating and Managing Kubernetes Pods
  2. Mastering Multi-container Pods in Kubernetes
  3. Understanding Kubernetes Events
  4. Understanding Kubernetes Services
  5. Implementing Kubernetes Services
  6. Kubernetes Labels and Selectors
  7. Using Annotations in Kubernetes

Configuration and Deployment

  1. Configuring Applications in Kubernetes
  2. Understanding Kubernetes ConfigMaps
  3. Kubernetes Deployments
  4. Kubernetes Liveness & Readiness Probes
  5. Kubernetes Resource Quotas and Limits
  6. Kubernetes Service Accounts
  7. Automating Deployments with Kubernetes Operators
  8. Understanding and Using Helm in Kubernetes
  9. Managing Configurations with Kubernetes Kustomize

Storage

  1. Working with Kubernetes Volumes
  2. Kubernetes Persistent Volume Claims Explained
  3. Managing Kubernetes State with Persistent Volumes
  4. Kubernetes StatefulSets Explained

Observability and Troubleshooting

  1. Monitoring and Observability in Kubernetes
  2. Troubleshooting Kubernetes Container Logs
  3. Advanced Troubleshooting in Kubernetes

Network and Policies

  1. Kubernetes Networking Overview
  2. Kubernetes Network Policies
  3. Understanding and Using Kubernetes Ingress

Jobs and CronJobs

  1. Managing Kubernetes Jobs
  2. Kubernetes CronJobs

Patterns and Custom Resources

  1. Adapter Pattern in Kubernetes
  2. Ambassador Pattern in Kubernetes
  3. Sidecar Pattern in Kubernetes
  4. Kubernetes Custom Resource Definitions (CRDs)

Security

  1. Kubernetes Security Best Practices
  2. Securing Kubernetes Clusters
  3. Securing Kubernetes Secrets
  4. Kubernetes Role-Based Access Control (RBAC)

Tips

Have an initial quick look at everything kubectl get all --all-namespaces or k get all --A

Cluster and Namespace

Validate that you are in the correct cluster and namespace for the question:

  1. Set the current cluster kubectl config set cluster cluster1
  2. Set the namespace to the question asked kubectl config set-context --current --namespace=question1 available in namespaces
  3. Double check your current context kubectl config get-contexts you can copy-paste fromt he documentation this: kubectl config view --minify | grep namespace:

The context determines which cluster to use for information or solving problems. So, Kubernetes context is crucial, and each new question must start with a new context. (kubectl config get-contexts and kubectl config use-context <CONTEXT_NAME>)

Aliases

Set some aliases in .bashrc:

alias k=kubectl
export do="--dry-run=client -o yaml"
export de="--grace-period=0 --force"

Auto-completion

Ensure that bash-completion is already loaded. Typically, it’s pre-installed in the exam environment.

Use the following command to enable kubectl auto-completion:

source <(kubectl completion bash)

To save time, set an alias for kubectl:

alias k=kubectl

Other useful alias you can create:

alias koy='kubectl -o yaml'

And then, you can enable auto-completion for this alias as well:

complete -F __start_kubectl k

Search for keywords

To see 5 lines before and after a keyword of your pod’s yaml, you can use:

kubectl get pod <POD_NAME> -n <NAMESPACE> -o yaml | grep -B 5 -A 5 <KEYWORD>

e.g. get po webapp-example -o yaml | grep -B 5 -A 5 image

This should give you a strong foundation in Kubernetes as you prepare for the CKAD exam.