> ## Content Index
> Fetch the complete content index at: https://demiremre.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# CKAD Sertifikası Alalım
- URL: https://demiremre.com/ckad-sertifikasi-alalim/
- Published: 2025-01-29T10:59:56.000Z
- Updated: 2026-07-06T22:33:58.000Z
- Author: Emre Demir
- Tags: kubernetes, docker, ckad, linuxfoundation, mock-exam, #Import 2026-10-14 05:39

Merhaba! Bugün CKAD (Certified Kubernetes Application Developer) sınavına hazırlık süreci hakkında blog yazısı yazmak istedim . Bu sınav, Kubernetes üzerinde uygulama geliştirme konusunda derinlemesine bilgi ve deneyim kazanmak isteyen herkes için değerli bir sertifika. Eğer bu sınavı geçmeyi hedefliyorsanız, ben de bu sınav için hazırlık yaparken öğrendiklerimi ve deneyimlerimi sizlerle paylaşmak istiyorum.  
  
**CKAD Sınavı Nedir?**

CKAD sınavı, Kubernetes üzerinde uygulama geliştirme yeteneklerinizi test eden sertifikalı bir sınavdır. Bu sınav, yalnızca Kubernetes'in temel bileşenleri hakkında değil, aynı zamanda Kubernetes'teki uygulama geliştirme, bakım ve sorun giderme konularında da sizi sınar. Sınav tamamen pratik bir formatta yapılıyor, yani komut satırında gerçek dünya senaryoları çözmemiz bekleniyor.

Sınavın toplam 100 puanı var ve başarı için 66 puan almamız gerekmekte ve konu dağılımı ise şu şekilde:

- **Kubernetes Core Concepts (24%)**: Kubernetes’in temel yapı taşlarını bilmemiz gerekiyor.
- **Application Life Cycle Management (23%)**: Uygulamaları yönetme ve ölçeklendirme.
- **Core Concepts (20%)**: Pod'lar, ReplicaSet'ler, Deployments, ConfigMaps, Secretler vb.
- **Observability (14%)**: Loglar, metrikler, pod’lar üzerinde izleme yapma.
- **Networking (13%)**: Pod'lar arası iletişim, Services, DNS ve ingress yönetimi.

Sınavda her bir alanın ağırlığı farklı olduğu için, hangi konularda eksik olduğunuzu belirleyip buna göre çalışmalarınızı yoğunlaştırmanız önemli.

## Hazırlık Süreci

Ben de bu sınav için hazırlığımı, Linux Foundation’dan aldığım CKAD kursu ile başlattım. Kurs, kapsamlı ve sınavın her aşamasına yönelik ciddi anlamda yardımcı oldu. Kursun içeriği hem teorik bilgiler hem de pratik çalışmalara odaklandığı için, gerçek sınavda karşılaşacağımız senaryolar hakkında fikir sahibi oldum. Zaten profesyonel hayatımda Kubernetes'i 3 yıldır kullandığım için, benim için mühim olan, sınav formatına aşina olmaktı.

Sınavda sadece Kubernetes'in resmi dökümantasyonuna başvurabiliyorsunuz. Onun dışında bir internet erişimi söz konusu değil. Dökümantasyonu iyi bir şekilde anlayıp, hızlıca aradığınızı bulabilmeniz gerekiyor. 

Öğrendiklerinizi pratikle pekiştirmek çok önemli. Sadece teorik bilgilere hakim olmak yeterli değil. Gerçek bir Kubernetes ortamında uygulama geliştirip, uygulamayı ölçeklendirme, güncelleme gibi senaryolarla karşılaşmak sınavda işinizi kolaylaştırır. [**KillerShell CKAD**](https://killercoda.com/killer-shell-ckad?ref=demiremre.com) platformunu kullanarak pratik yapabilirsiniz. Bu platform, sınavda karşılaşabileceğiniz komut satırı senaryoları sunuyor. Site üzerinde soruları yanıtlamak için kendi terminalini sunması ve önemli senaryolara odaklanması nedeniyle tavsiye ederim. Bununla beraber kendi MOCK sınavlarınızı AI kullanarak oluşturup/oluşturtup üzerinde çalışabilirsiniz.

Ben de bir tane ChatGPT ile oluşturulmuş bir MOCK sınav soruları bırakarak yazımı bitirmek istiyorum.

![](https://demiremre.com/content/images/2025/01/DALL-E-2025-01-29-11.54.05---A-focused-and-clean-workspace-with-a-computer-screen-showing-Kubernetes-related-code-and-diagrams--emphasizing-a-study-environment-for-someone-prepari-1.webp)

#### 1\. Core Concepts (13%)

1. **Create a Namespace:**
  - Create a namespace named `ckad-mock`.
2. **Create a Pod:**
  - Create a Pod named `mock-pod` in the `ckad-mock` namespace using the `nginx:alpine` image. Ensure the Pod has a label `app=mock` and an environment variable `ENV=testing`.

#### 2\. Multi-Container Pods (10%)

1. **Create a Multi-Container Pod:**
  - Create a Pod named `logging-pod` in the `ckad-mock` namespace with two containers: the first container named `web-container` using the `nginx:alpine` image, and the second container named `log-container` using the `busybox` image. Both containers should mount a shared volume at `/var/log/nginx`, and the `log-container` should run a command to continuously tail the logs of the `web-container`.

#### 3\. Pod Design (20%)

1. **Create a Deployment with Readiness Probe:**
  - Create a Deployment named `probe-deployment` in the `ckad-mock` namespace with 2 replicas using the `httpd:alpine` image. The Deployment should include a readiness probe that checks the `/` endpoint on port 80.
2. **Create a Job:**
  - Create a Job named `mock-job` in the `ckad-mock` namespace using the `perl` image. The Job should execute a script that prints "Job completed" and should be configured to run successfully at least once but no more than 3 times.

#### 4\. Configuration (18%)

1. **Create a ConfigMap:**
  - Create a ConfigMap named `mock-config` in the `ckad-mock` namespace with the key-value pair `config1=value1`. Create a Pod named `config-pod` that mounts this ConfigMap as a volume at `/etc/config`.
2. **Create a Secret:**
  - Create a Secret named `mock-secret` in the `ckad-mock` namespace with the key `password` and the value `secret123`. Create a Pod named `secret-pod` that uses this Secret as an environment variable.

#### 5\. Observability (18%)

1. **Create a Pod with Prometheus Metrics:**
  - Create a Pod named `metrics-pod` in the `ckad-mock` namespace using the `nginx:alpine` image with Prometheus metrics enabled. Ensure the Pod exposes metrics on port 9113.
2. **Create a ServiceMonitor:**
  - Create a ServiceMonitor for the `metrics-pod` in the `ckad-mock` namespace that Prometheus can use to scrape metrics from the `/metrics` endpoint.
3. **Create a HorizontalPodAutoscaler:**
  - Create a HorizontalPodAutoscaler named `mock-hpa` in the `ckad-mock` namespace that scales the `probe-deployment` based on CPU usage. The HPA should scale up to a maximum of 5 replicas when CPU usage exceeds 70%.

#### 6\. Services and Networking (13%)

1. **Create a Service:**
  - Create a Service named `mock-service` in the `ckad-mock` namespace that exposes the `probe-deployment` on port 80\. The Service should use a ClusterIP type.
2. **Create an Ingress Resource:**
  - Create an Ingress resource named `mock-ingress` in the `ckad-mock` namespace that routes traffic to the `mock-service` on the path `/mock`.

#### 7\. State Persistence (8%)

1. **Create a PersistentVolume:**
  - Create a PersistentVolume named `mock-pv` with a capacity of 2Gi and access mode `ReadWriteOnce`.
2. **Create a PersistentVolumeClaim:**
  - Create a PersistentVolumeClaim named `mock-pvc` in the `ckad-mock` namespace requesting 2Gi of storage with access mode `ReadWriteOnce`.
3. **Create a Pod with Persistent Storage:**
  - Create a Pod named `storage-pod` in the `ckad-mock` namespace using the `nginx:alpine` image that mounts the `mock-pvc` PersistentVolumeClaim at `/usr/share/nginx/html`.