Kubernetes Tricks

H. Alperen Selcuk
4 min readJun 23, 2021

Bu yazımda kubernetes i daha efektif ve hızlı kullanmak için bir kaç özellikten bahsedeceğim.

Alias Kullanmak

alias çoğu sistemcinin kullandığı uzun uzun system komutları girmek yerine bunları düzenli hale getirerek işini hızlıca halletmesini sağlar. özellikle kubernetese yeni başlayanlar kubectl komutlarıyla vakit kaybeder bunları düzenlemek bize hız kazandırır.

kubectl için benim de çok kullandığım k yazılabilir.

alias k="kubectl"

çok kullanılan apply ve delete için de birer alias yazalım.

alias kap="kubectl apply"
alias kd="kubectl delete"

bir pod içinde komut çalıştırma ihtiyacınız varsa kontrol için her defasında girmeniz yerine aliasa bağlayabiliriz, mesela çok kullanılan bir busybox için oluşturalım.

alias kbb='kubectl run busybox-test --image=busybox -it --rm --restart=Never --'

burada bir komutla busybox oluşturduğumuzda onu gerçekleyip pod u terminate edecek.

aynı şekilde çok kullandığımız komutları da alias a alalım.

alias kgp="kubectl get pods"
alias kex="kubectl exec -ti"
alias kdb="kubectl describe"

kubectl dry-run kullanmak

dry-run komutu isteği API ye göndermeden çıktı verir böylece yaml file üzerinde çalışıp daha sonra apply edebilirsiniz.

öncelikle alias a bağlayalım.

alias kdr="kubectl --dry-run=client -o yaml"

böylece aliası kullanarak deploymentinizi bir yaml dosyasına hızlıca aktarabilirsiniz.

gördüğünüz gibi deploymentımızı bir yaml file a aktardı. bu şekilde service, role, gibi objeler için yaml yaratıp onlar üzerinde değişiklik yaparak kubernetes üzerine apply edebilirsiniz. tekrar sıfırdan yaml yazıp syntax hataları almanızın önüne geçer.

kubectl explain kullanmak

explain size kubectl dökümanını istediğiniz bir obje için açıklamasını getirir. mesela “k explain pod.spec.containers” derseniz container altındaki bütün kullanılabilecek objelerle ilgili özet bilgi verir.

daha spesifik bir şey de girebilirsiniz her adımda nokta kullanarak;

JSON path JQ kullanmak

benim de çok kullandığım bir yapıdır. kubectl describe gibi bir komut çalıştırdığınız zaman ya da uzun yaml filelarını görmek istediğiniz anda gözünüze karışık gelebilir. json path ile bu karışıklığı daha okunabilir yapabilirsiniz. ayrıca explaindeki gibi belli bir obje altındaki bilgiyi okuyabilirsiniz. jq ile de bunu daha düzgün hale getiririz.

jsonpathleri genelde scriptlerde, automation yaparken kullanırız belli bir bilgiyi çekip onu kullanmak gibi.

mesela bir çalışma için çalışan podların IP sini öğrenmek istiyoruz.

kubectl get pods -o json | jq “.items[].status.podIPs[0]”

tabi bunu yaparken temel yapısını bilmeniz gerekiyor. bir ağaç gibi düşünebilirsiniz her kademeyi yazarak ilerliyorsunuz.

başka bir çalışma için kullanılan imageler lazım oldu diyelim,

bunun gibi örnekleri çoğaltabiliriz.

kubecolor kullanmak

kubecolor kubectl çıktılarınızı renklendirmeye yarar. kolay bir kullanımı vardır.

go install github.com/dty1er/kubecolor/cmd/kubecolor@latestcommand -v kubecolor >/dev/null 2>&1 && alias kubectl="kubecolor"

kubectl top kullanmak

kubectl top komutu ile pod ve node lar üzerinde resource kullanımını anlık olarak görebilirsiniz.

kubectl auto-completion

zsh için kullanılan bir otomatik tamamlama plugini mevcut. öncelikle zsh kurarak başlıyorsunuz.

daha sonra .zshrc dosyasınızda var olan plugin i aşağıdaki ile değiştiriyorsunuz. hangi oh my szh theme kullandığınız farketmez.

plugins=(git brew history npm kubectl)

bundan sonra tekrar source .zshrc yaptıgınızda tab a basarak otomatik size seçenekleri getirir ve tamamlar. çok kullanışlı. (buraya eklediğiniz pluginlerde auto completion yine olmaktadır)

bash kullanıyorsanız onun için de aşağıdaki kaynağı kullanabilirsiniz.

KUBERNETES DASHBOARDS

kuberentes i daha kolay ve efektif kullanabilmek için dashboardlar da yardımcı olmaktadır. incelediğim dashboardların linkleri:

h.a.s.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

No responses yet

Write a response