Home TürkçeKubernetes CKAD Sınav Tavsiyeleri ve İpuçları

CKAD Sınav Tavsiyeleri ve İpuçları

by Fatih Boy
0 comment

Kısa süre önce Certified Kubernetes Application Developer (CKAD) sınavına girerek sertifikaya hak kazandım. Bu makalemde Cloud Native Computing Foundation (CNCF) tarafından verilen Certified Kubernetes Application Developer (CKAD) sertifika sınavı tecrübelerimi ve sınava dair faydalı ipuçlarını sizlerle paylaşmak istiyorum.

Sınav Hakkında

Kağıt üzerinde/çoktan seçmeli olan klasik sertifika sınavlarından farklı olarak CKAD sınavı, pratik bilgiye dayalı ve tamamen Kubernetes Cluster’ı kurulu sistemler üzerinde problem çözmeye yönelik bir sınav. 300$‘lık bir kayıt ücreti olan sınavın toplam süresi 2 saat. Tarayıcı üzerinden bağlandığınız uzak bir sistem terminalinde Kubernetes komutları ve yaml dosyaları ile test ediliyorsunuz. Sınav ile ilgili aşağıda detaylarını paylaştığım bilgilerin güncelliğini CNCF web sitesinden temin edebileceğiniz Exam Tips for Certified Kubernetes Administrator (CKA) and Certified Kubernetes Application Developer (CKAD) dokümanından teyit etmenizde fayda var.

Sınav 19 pratik sorusundan oluşmakta. Bu 19 soruyu aşağıda detaylarını bulabileceğiniz 4 farklı Kubernetes Cluster’ı üzerinde çözmelisiniz.

Cluster Adı Cluster Üyeleri Kurulu CNI
k8s1 Master ve 2 Worker NodeFlannel
dk8s1 Master ve 1 Worker Node Flannel
nk8s1 Master ve 2 Worker NodeCalico
sk8s1 Master ve 1 Worker Node Flannel

Burası önemli; her sorunun başında çözümün hangi Kubernetes Cluster’ında olması gerektiği belirtilmekte. Ek olarak; ilgili Kubernetes Cluster’ına geçiş yapmak için gerekli kubectl config set-context ... komutu verilmekte. Soruyu doğru yapmak kadar doğru Kubernetes Cluster’ında yapmak da önemli.

Sınavda sorulan 19 sorunun puanları eşit değil. Toplamda %100 olacak şekilde konularına göre her birinin farklı bir yüzdelik puanı bulunuyor. Sınavı geçerek CKAD sertifikasına hak kazanmanız için %66 ve üzeri bir puana sahip olmalısınız. Sınavda her bir sorunun yanında yüzdelik değeri de verilmekte. Aşağıda konulara göre yüzdelik dağılımını bulabilirsiniz;

KonuYüzdelik Ağırlığı
Core Concepts%13
Configuration%18
Multi-Container Pods%10
Observability%18
Pod Design%20
Services & Networking%13
State Persistence%8

Sınav online olarak yapılmakta. Herhangi bir zaman aralığı için randevu olarak dünyanın herhangi bir yerinden sınava katılabilirsiniz. Sınav gereksinimlerini aşağıdaki şekilde sıralayabiliriz;

  • İnternet erişimi
  • Chrome ya da Chromium tarayıcı
  • Tarayıcı üzeri kurulan eklenti
  • Mikrofon
  • Web kamerası
  • Kimlik
  • Sizden başka kimsenin olmadığı, sessiz ve sakin bir oda

Sınav sırasından tarayıcıda maksimum 2 adet segme açmanıza izin verilmekte. İlk segmenin sınav için rezerve olduğunu düşünürsek, ek olarak sadece 1 adet segme açma hakkınız bulunuyor. Önceki yıllarda internet üzerindeki herhangi bir kaynağı kullanmanıza izin veriliyorken, artık sadece aşağıda sıraladığım web sitelerini kullanmanıza izin veriliyor;

Sınav süresince bir gözetmen sizi devamlı olarak web kamerası üzerinden izlemekte. Sınav süresice konuşmanıza, yemek yemenize v.s. izin verilmemekte. Kısa süreliğine sınava ara verebiliyorsunuz; ama bu sırada sınav süresi ilerlemeye devam etmekte. Bu sebeple molalara dikkat. Su içmenize müsade veriliyor. Sınav alanında elektronik herhangi bir şey (telefon, tablet, akıllı saat, ikinci bilgisayar v.s.) bulunmasına izin verilmiyor. Masanızın temiz olması, üzerinde kağıt v.b. bulunmaması gerekmekte.

Sınav, aldığınız randevu saatinden en erken 15 dakika önce, en geç 15 dakika sonra başlayabilir. Bu zaman aralığı dışına taşarsanız sınavı alamıyorsunuz.

Son olarak sınav sonucu... Sonuç, sınavın ardından geçen 24 ile 36 saat içerisinde belli olmakta. Sonucu size mail ile bildirmekteler. Ek olarak portal üzerinden de sonucu görüntüleyebilirsiniz.

Sınava Dair İpuçları

Certified Kubernetes Application Developer (CKAD) sertifika sınavı ile ilgili öncelikle içinizi rahatlatayım; Kubernetes üzerinden yeterince pratiğiniz var ise sınavı rahatlıkla geçerek sertifikaya hak kazanacağınızı düşünüyorum.

CKAD sınavına dair bir eğitim arıyorsanız size kesinlikle Linux Academy’nin CKAD eğitimini tavsiye ediyorum. Videolu olan bu eğitim aynı zamanda etkileşimli lab’ları sayesinde size gerçeğe yakın bir sınav deneyimi yaşatacaktır.

Bu eğitime ek olarak; web sitem üzerinde aktarmaya çalıştığım Kubernetes ile ilgili makalelerimi takip edebilirsiniz.

Sınavın en önemli zorluğu bence zaman yönetimi. Pratiğinizin olması bu nedenle önemli. Hazırlık sürecinde başvurduğum herkes zamanının yetmediğinden bahsetti. 5 soru boş bıraktığından bahsedenler dahi oldu. Bu durumu göz önüne aldığımızda ilk tavsiyem zamanınızı doğru yönetmeniz olacaktır. Soruları çözerken yüzdelik puanlarına dikkat edin. Önceliği yüzdelik puanı yüksek soruları vermeniz avantajınıza olacaktır.

İkinci tavsiyem, notepad’i verimli kullanın. Tabi burada bahsettim işletim sistemiyle birlikte gelen notepad değil. Onu kullanamıyorsunuz. Sınav penceresinde size kullanabilmeniz adına bir not olanı verilmekte. Bu alan notlar, hazırlıklar v.s. için kullanabilirsiniz. Es geçtiğiniz soruları ve soruların yüzdelik puanlarını buraya not alabilirsiniz. Kalan zamanınıza göre bu sorulardan görece puanı daha yüksek olanlar üzerinden ilermenizi tavsiye ederim.

Üçüncü tavsiyem; kubectl bir nimet, onu kullanın. Sınavda bir iki soru dışında sizden yaml formatında dosya istenmemekte. Dolayısıyla yaml üzerinden ilerlemek yerine kubectl komutlarını kullanmanız size zaman kazandıracaktır. Kaldı ki kubectl yardımıyla yaml dosyaları oluşturabilirsiniz.

Dördüncü tavsiyem; kubernetes web sitesini detaylı inceleyin. Sınavda bu siteyi açmanıza izin var. Bunu kullanın.

Beşinci tavsiyem; bookmark’ları kullanın. Çalışırken takıldığınız konular varsa bunları bookmark olarak kaydedin. Sınav sırasında bu bookmarkları kullanabilirsiniz. Kubernetes web sitesinde anchor tanımları da olduğu için sayfalarda doğrudan takıldığınız konuya bookmark atabilirsiniz. Örneğin;

Altıncı tavsiyem; Linux, vim ve diğer komut satırlarına hakim olun. Linux shell’i ve vim’e hakim değilseniz zaman kaybedebilirsiniz. Açığınızı kapatmaya odaklanın.

Yedinci tavsiyem web bazlı terminal olan GateOne‘ı kullanmaya alışın. Web sitesine gidin, online olarak deneyin. GateOne ile ilgili önemli bir tavsiye kopyalama ve yapıştırma işlemleri ile ilgili. Kopyalama için Ctrl + Insert, yapıştırma için ise Shift + Insert tuş kombinasyonunu kullanabilirsiniz.

Sekizinci tavsiyem; kubectl explain sizin gücünüz, kullanmayı öğrenin. kubernetes nesneleri için hızlıca açıklama bulabileceğiniz komut satırıdır. Bu komut yardımıyla örneğin aşağıdaki şekilde pod.spec bölümü hakkında bilgi bulabilirsiniz;

kubectl explain pod.spec

Alternatif olarak aşağıdaki komutla tüm ağaç kırılımını görebilirsiniz;

kubectl explain pod.spec --recursive

Dokuzuncu tavsiyem; hızlı silme işlemini uygulayın. Sınav sırasında zamana karşı da yarıştığınızı unutmayın. Kubernetes nesnelerini silmeyi beklerken kaybettiğiniz her bir saniye değerli. Bu nedenle aşağıdaki parametreleri kullanarak bu zamanı kazanmaya çalışın;

--grace-period=0 --force

Örneğin;

kubectl delete pod hello --grace-period=0 --force

Onuncu tavsiyem; shell alias’ları kullanın. Sık kullandığınız komutlar için sınava başlarken alias tanımlayın. Örneğin;

alias k=kubectl
alias kx="kubectl explain"
alias kdr="kubectl run --dry-run -o yaml"
alias kns="kubectl config set-context --current --namespace"
alias kd="kubectl delete --grace-period=0 --force"

kubectl üzerinden ilerliyorsanız en sık kullanacağınız komut kubectl run ... -o yaml --dry-run olacaktır. Bu komut size gerekli temel yaml şablonunu verecektir. Komut satırından belirtemediğiniz detayları daha sonra bu çıktıya kolaylıkla ekleyebilirsiniz.

Faydalı kubectl komutları

kubectl ile ilgili işinize yarabilecek komut kalıplarını aşağıda sıralamaya çalıştım;

Bir pod oluşturma (örnek; hello adıyla busybox imajlı bir pod oluşturma):

kubectl run hello --image=busybox --restart=Never

Yukarıdaki komut çıktısını bir dosyaya yazma;

kubectl run hello --image=busybox --restart=Never > busybox.yaml

Bir pod şablo yaml’ı oluşturma ( örnek; hello adıyla busybox imajlı bir pod ):

 kubectl run hello --image=busybox --restart=Never --dry-run -o yaml

yukarıdaki örneklerin komut çalıştıran versiyonu;

kubectl run hello --image=busybox --restart=Never --dry-run -o yaml --command  -- echo Enterprisecoding

cronjob oluşturma ( örnek; hello adıyla busybox imajlı bir pod’da ekrana çıktı yazan job’ı her dakika çalıştırma ):

kubectl run hello --image=busybox --restart=OnFailure --schedule="*/1 * * * *"  --dry-run -o yaml --command  -- echo Enterprisecoding

Servis açma (örnek; nginx-deployment adlı deployment’ı nginx-service adıyla 4444 portundan ClusterIP türü ile açma):

kubectl expose deployment nginx-deployment --name=nginx-service --port=4444 --target-port=80

Pod cpu ve memory talebi (örnek; busybox container’ı bulunan pod’da talep tanımlama):

kubectl run hello --image=busybox --restart=Never --requests='cpu=200m,memory=512Mi'  --dry-run -o yaml  --command  -- echo aa

Pod cpu ve memory limiti (örnek; busybox container’ı bulunan pod’da limit tanımlama):

kubectl run hello --image=busybox --restart=Never --limits='cpu=200m,memory=512Mi'  --dry-run -o yaml  --command  -- echo aa

Secret oluşturma (örnek; anahtarim=degerim ikilisinden secret oluşturma):

kubectl create secret generic my-secret --from-literal=anahtarim=degerim

Pod içerisindeki container imajını değiştirme (örnek; nginx-deployment adlı deployment’ı nginx container imajını 1.17.6 tag’li hali ile değiştirme):

kubectl set image deployment nginx-deployment nginx=nginx:1.17.6 --record

Son olarak…

Certified Kubernetes Application Developer (CKAD) sınavı bir geliştirici olarak Kubernetes hakimiyetinizi sınayabileceğiniz güzel bir pratik sınavıdır. Yeterince pratik yapmanız ardından sınavı geçebileceğiniz konusunda kendinize güvenin. Özellikle komut satırına hakim olun. Pratik yapın.

Pratik yapmak için aşağıdaki kaynaklar size faydalı olacaktır;

Bonus: KUBERNETES15 kupon kodu ile sınavı satın alarak %15 indirimden faydalanabilirsiniz.

Başarılar…

Şu Yazıları da Sevebilirsiniz

Leave a Comment

* Bu formu kullanarak, verilerinizin bu web sitesi tarafından saklanması ve kullanılmasını kabul ediyorsunuz.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Bu web sitesi deneyiminizi geliştirmek için çerezleri kullanır. Bunu kabul ettiğinizi varsayacağız, ancak isterseniz vazgeçebilirsiniz. Kabul Et Daha Fazla Bilgi