> For the complete documentation index, see [llms.txt](https://notes.thecloudspark.com/kubernetes-certifications/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://notes.thecloudspark.com/kubernetes-certifications/certified-kubernetes-application-developer.md).

# Certified Kubernetes Application Developer

## About CKAD

<figure><img src="https://content.gitbook.com/content/F2c9rRtKmyhQ87o9P9Ra/blobs/eyD0LAabQXU8D3TLnv7q/ckad_from_cncfsite.png" alt="" width="170"><figcaption><p>CKAD Badge<br>Reference: <a href="https://www.credly.com/org/the-linux-foundation/badge/ckad-certified-kubernetes-application-developer">https://www.credly.com/org/the-linux-foundation/badge/ckad-certified-kubernetes-application-developer</a></p></figcaption></figure>

> The Certified Kubernetes Application Developer (CKAD) exam certifies that users can design, build, configure, and expose cloud native applications for Kubernetes. The certification program allows users to demonstrate their competence in a hands-on, command-line environment. *Reference:* [*CNCF-CKAD*](https://www.cncf.io/training/certification/ckad/)

## Domains & Competencies

<details>

<summary>Application Design and Build 20%</summary>

* Define, build and modify container images&#x20;
* Choose and use the right workload resource (Deployment, DaemonSet, CronJob, etc.)&#x20;
* Understand multi-container Pod design patterns (e.g. sidecar, init and others)&#x20;
* Utilize persistent and ephemeral volumes

</details>

<details>

<summary>Application Deployment 20%</summary>

* Use Kubernetes primitives to implement common deployment strategies (e.g. blue/green or canary)&#x20;
* Understand Deployments and how to perform rolling updates&#x20;
* Use the Helm package manager to deploy existing packages&#x20;
* Kustomize

</details>

<details>

<summary>Application Observability and Maintenance 15%</summary>

* Understand API deprecations&#x20;
* Implement probes and health checks&#x20;
* Use built-in CLI tools to monitor Kubernetes applications&#x20;
* Utilize container logs&#x20;
* Debugging in Kubernetes

</details>

<details>

<summary>Application Environment, Configuration and Security 25%</summary>

* Discover and use resources that extend Kubernetes (CRD, Operators)&#x20;
* Understand authentication, authorization and admission control&#x20;
* Understand requests, limits, quotas&#x20;
* Understand ConfigMaps&#x20;
* Define resource requirements&#x20;
* Create & consume Secrets&#x20;
* Understand `ServiceAccounts`&#x20;
* Understand Application Security (`SecurityContexts`, Capabilities, etc.)

</details>

<details>

<summary>Services and Networking 20%</summary>

* Demonstrate basic understanding of `NetworkPolicies`&#x20;
* Provide and troubleshoot access to applications via services&#x20;
* Use Ingress rules to expose applications

</details>

{% hint style="info" %}
To learn more about CKAD, visit: <https://training.linuxfoundation.org/certification/certified-kubernetes-application-developer-ckad/>
{% endhint %}
