CKAD Sertifikası Alalım

kubernetes 29 Oca 2025

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 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.

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.

Etiketler

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.