Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
Kubernetes'te Debugging: CrashLoopBackOff, ImagePullBackOff, Pending ve kubectl debug
Pod hatalarında sıra hep aynıdır: get ile belirtiyi, describe ile event'leri, logs --previous ile uygulamanın sesini oku, gerekirse kubectl debug ile shell'siz pod'a ephemeral container sok. Pending, ImagePullBackOff, CrashLoopBackOff, OOMKilled ve port uyuşmazlığını, PID 1 olarak asılı kalan .NET process'ini ve limite yakın pod'da dotnet-dump'ın pod'u nasıl öldürdüğünü gerçek çıktılarla görüyoruz.
Lokal Kubernetes Cluster'ı ve kubectl: kind, k3d, minikube, Context'ler ve Namespace'ler
Seride kind kullanıyoruz: üç node'lu cluster tek bir YAML dosyasıyla 20 saniyede kuruluyor, lokal image kind load ile node'lara yükleniyor. kind, k3d, minikube ve Docker Desktop'ı karşılaştırıyor; kubeconfig, context ve namespace'leri, yanlış context'te sessizce çalışan komutları, :latest tag'inin ErrImagePull tuzağını, server dry run'ı, kubectl diff ile drift'i ve kubectl sürüm uyumunu gerçek çıktılarla görüyoruz.
Kubernetes Nedir, Ne Zaman Gerekmez? Control Plane, Node ve Desired State
Kubernetes, ne istediğini bildirdiğin ve gerçek durumu sürekli o isteğe çeken bir container orchestration platformu. Silinen pod'un nasıl geri geldiğini, control plane ile node bileşenlerinin rolünü, kapanan bir node'da gerçekte ne kadar beklendiğini, yılda üç sürümlük destek takvimini ve Kubernetes'in ne zaman gereksiz bir maliyet olduğunu görüyoruz.